愛記システムの基本設計:DApps側である愛記システム 行動レベルと科目の一貫管理 純資産科目⑤ | 続・ティール組織 研究会のブログ

続・ティール組織 研究会のブログ

ティール組織が話題になっているが、具現化するにはどうしたらよいか?
その研究を続けるにあたり、さらに次の形態である、続・ティール組織なるものまで視野に入れ、具体的な施策・行動内容を研究・支援する会。

先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。概念設計としてはひとまず終えた。次は、フェデレーションモデル全体の基本設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。そして、それにつながるDApps側である「愛記システム」を、Pythonプログラムで開発していきたい。

 

愛の行動のPL,BSを決算書として、個人単位、市町村単位、で公表するような愛記システムというものを考えている。愛の行動のデータベースはブロックチェーンのプログラムであり、日々の愛の行動による愛貨の移動を決算書にまとめていきたい。なお、市町村のブロックチェーンのプログラムは以前にも記載している。その市町村のブロックチェーンのプログラムにつながる愛記システムを、DApps側であるPythonプログラムとして設計したい。その場合、基本設計をどのような手順で進めていけばよいか、詳しく見ていこう。

 

愛記システムを設計するための基本手順を以下に示す。このシステムは、Pythonを用いて市町村のブロックチェーンと連携し、個人および市町村単位での愛の行動のデータを収集、記録し、決算書(PL、BS)として公表するものである。

基本設計のステップ

  1. 要件定義
  2. アーキテクチャ設計
  3. データベース設計
  4. API設計
  5. ブロックチェーンインターフェース
  6. 決算書の生成
  7. フロントエンド開発
  8. テストとデプロイ

基本設計の各ステップを順番に進めることで、ブロックチェーンとDAppsとして繋がる「愛記システム」の詳細な設計が可能になる。各ステップでは、関係者との協議やレビューを通じて設計内容を確定していくことが重要である。

1.要件定義

まず、基本設計の最初のステップである要件定義をしていきたい。どのような機能が必要か、どのような問題を解決するのかを洗い出したい。要件定義はシステム設計の最初の重要なステップであり、システムが解決するべき問題と、必要な機能を明確に定義するプロセスである。以下に、愛記システムのプログラムに必要な機能と解決すべき問題を列挙してみよう。

機能要件

  1. 愛の行動の記録

  2. 愛貨の移動の記録

  3. 決算書の生成

  4. 個人および市町村単位でのデータの集約

  5. データのブロックチェーンへの記録と取得

  6. 愛貨の管理

  7. ユーザー管理

  8. 通知機能

  9. レポート機能

  10. ダッシュボード

非機能要件

  1. セキュリティ

  2. 可用性

  3. パフォーマンス

  4. スケーラビリティ

  5. ユーザビリティ

  6. コンプライアンス

愛貨の移動の記録という課題を解決するため、DApps側のPythonプログラムに以下の主要機能を実装する必要がある。

  • 行動レベルと科目の一貫管理
  • 市町村内外の減額処理の自動化
  • イベントや講演時の愛貨倍増やボーナス付与機能
  • 複数人への同時愛貨送信とトリガー機能
  • インセンティブシステムの導入と透明性確保
  • 不正行為の監視と防止機能
     

行動レベルごとの科目定義ー純資産の科目⑤

科目の定義は、各行動レベルに基づいて行われる。それぞれのレベルに対応する具体的な行動や取引内容を定義し、それを科目として登録する。前回に続き、より詳細に記載したい。

 

愛記を用いた仕訳のプロセスにおいて、各行動レベルに基づいた具体的な科目を使用して、愛貨のやり取りを記録し、損益計算書(PL)や貸借対照表(BS)を生成するシステムを設計していくことができる。

1. 資産(Assets)

・愛貨(Love Tokens)

・未使用愛貨(Unused Love Tokens)

・他者からの未収愛貨(Love Tokens Receivable)

・愛貨の投資(Love Tokens Invested)

・前払愛貨(Prepaid Love Tokens)

・他者への貸付愛貨(Loans Given in Love Tokens)

・共同プロジェクト出資愛貨(Investment in Joint Projects with Love Tokens)

・他者から受け取る予定の愛貨(Receivables in Love Tokens)

愛の行動に関する知的財産(Intellectual Property Related to Love Actions)

・愛貨の再評価による資産(Assets from Revaluation of Love Tokens)


2. 負債 (Liabilities)

・未実施行動の債務(Liabilities for Unperformed Actions)

・目標未達成による債務(Liabilities for Unachieved Goals)

他者への未払愛貨(Love Tokens Payable)

・愛貨の有効期限延長による債務(Liabilities for Extended Expiry of Love Tokens)

他者からの借入愛貨(Borrowings from Others in Love Tokens)

愛の行動義務(Obligation for Love Actions)

・取引キャンセルによる愛貨返還義務(Liabilities for Returning Love Tokens from Canceled Transactions)

前受愛貨(Love Tokens Received in Advance)

・他者への未使用愛貨の債務(Liabilities for Unused Love Tokens to Others)

市町村依頼行動債務(Liabilities for Municipality-Requested Love Actions)


3. 純資産 (Equity)

・繰越愛貨(Retained Love Tokens)

・愛貨評価差額(Love Token Valuation Difference)

・愛貨の変動差額(Change in Love Tokens)

・投資利益剰余愛貨(Surplus from Love Token Investments)

・愛貨贈与差額(Surplus from Love Token Donations)

・前期繰越未使用愛貨(Carried Forward Unused Love Tokens from Previous Periods)

・愛貨リザーブ(Love Token Reserve)

・純資産愛貨(Net Love Token Equity)

・愛貨の振替差額(Adjustment for Transferred Love Tokens)

・愛貨の利益剰余金(Love Token Surplus)


収益の科目(Revenue)

・愛の行動受取(Received Love Actions)

・目標達成による愛貨の獲得(Love Tokens Earned from Goal Achievements)

愛貨感謝返礼収益(Love Token Gratitude Return Revenue)

・受取愛貨の増加(Increase in Received Love Tokens)

愛貨紹介報酬(Love Token Referral Rewards)

愛貨還元収益(Revenue from Love Token Cashback)

愛貨ネットワーク拡大報酬(Love Token Network Expansion Bonus)

・他者の支援による愛貨の獲得(Love Tokens Earned from Supporting Others)

・コミュニティ活動による愛貨の獲得(Love Tokens Earned from Community Actions)

承認成功報酬愛貨(Love Tokens Earned from Approval Success)


5. 費用 (Expenses)

・愛の行動消費(Expense for Love Actions)

・愛貨感謝返礼費用(Love Token Gratitude Return Expense)

・他者への愛貨の贈与(Gift of Love Tokens to Others)

・目標未達成による損失(Loss from Unachieved Goals)

・他者への未実施行動による損失(Loss from Unperformed Actions to Others)

・愛貨の有効期限切れによる損失(Loss from Expiry of Love Tokens)

・愛貨の減少による費用(Cost from Reduction in Love Tokens)

・行動目標達成のための愛貨使用(Love Tokens Used for Achieving Action Goals)

・他者のサポートに伴う愛貨の消費(Love Tokens Spent on Supporting Others)

・愛貨の再投資費用(Reinvestment of Love Tokens)


6. 純利益(Net Love Token Flow)

・愛貨消費による貢献度(Contribution by Love Token Usage)

・他者からの愛貨受領による価値(Value from Love Tokens Received)

・愛貨の総消費(Total Love Token Usage)

・愛貨の純増減(Net Love Token Flow)


 

実際に仕訳例をさらに詳しく見ていこう。

愛貨の振替差額(Adjustment for Transferred Love Tokens)

1. 科目の定義と役割

  • 科目名: 愛貨の振替差額(Adjustment for Transferred Love Tokens)
  • 分類: 純資産(Equity)
  • 定義: 愛貨が別の勘定科目間で振り替えられた際の差額を調整するための科目。振替によって生じた差額を適切に記録し、純資産の正確な状態を維持する。簿記での「振替差額(Transfer Adjustment)」に相当。
  • 役割:
    • 振替の精算: 愛貨の振替時に生じる差額を正確に調整し、純資産の整合性を保つ。
    • 会計の透明性: 振替差額を明確に記録することで、会計情報の透明性と正確性を確保。
    • 資産の再配分: 愛貨の振替に伴う資産の再配分を適切に管理し、経済活動の健全な運営を支援。

2. 使用例

例1: Aさんが愛貨リザーブから投資利益剰余愛貨に150愛貨を振り替える際に、差額として10愛貨が発生した場合

  • 状況:

    • Aさんは愛貨リザーブから投資利益剰余愛貨に150愛貨を振り替えた。
    • 振替の際に、振替元と振替先の間で10愛貨の差額が発生した。
    • この差額を「愛貨の振替差額」として調整する。
  • 仕訳1: 愛貨リザーブから愛貨投資利益剰余金への振替
    借方:愛貨投資利益剰余金(Surplus from Love Token Investments) 150愛貨
    借方:愛貨の振替差額(Adjustment for Transferred Love Tokens)  10愛貨
    貸方:愛貨リザーブ(Love Token Reserve)   160愛貨
     

    説明:

    • 借方(愛貨投資利益剰余金): 振替先の愛貨投資利益剰余金に150愛貨を計上。
    • 借方(愛貨の振替差額): 振替に伴う差額10愛貨を純資産として計上。
    • 貸方(愛貨リザーブ): 振替元の愛貨リザーブから合計160愛貨を減少させる(150愛貨の振替 + 10愛貨の差額)。

例2: Bさんが愛貨評価差額から繰越愛貨に100愛貨を振り替える際に、差額が発生しなかった場合

  • 状況:

    • Bさんは愛貨評価差額から繰越愛貨に100愛貨を振り替えた。
    • 振替の際に差額は発生しなかった。
  • 仕訳2: 愛貨評価差額から繰越愛貨への振替
    借方:繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods) 100愛貨
    貸方:愛貨評価差額(Love Token Valuation Difference)   100愛貨
     

    説明:

    • 借方(繰越愛貨): 振替先の繰越愛貨に100愛貨を計上。
    • 貸方(愛貨評価差額): 振替元の愛貨評価差額から100愛貨を減少させる。
    • 差額: この場合、差額が発生していないため、「愛貨の振替差額」は使用されない。

例3: Cさんが愛貨贈与差額から愛貨リザーブに80愛貨を振り替える際に、差額として5愛貨が発生した場合

  • 状況:

    • Cさんは愛貨贈与差額から愛貨リザーブに80愛貨を振り替えた。
    • 振替の際に、振替元と振替先の間で5愛貨の差額が発生した。
    • この差額を「愛貨の振替差額」として調整する。
  • 仕訳3: 愛貨贈与差額から愛貨リザーブへの振替
    借方:愛貨リザーブ(Love Token Reserve)  80愛貨
    借方:愛貨の振替差額(Adjustment for Transferred Love Tokens) 5愛貨
    貸方:愛貨贈与差額(Surplus from Love Token Donations)    85愛貨
     

    説明:

    • 借方(愛貨リザーブ): 振替先の愛貨リザーブに80愛貨を計上。
    • 借方(愛貨の振替差額): 振替に伴う差額5愛貨を純資産として計上。
    • 貸方(愛貨贈与差額): 振替元の愛貨贈与差額から合計85愛貨を減少させる(80愛貨の振替 + 5愛貨の差額)。

プログラムでの実装例(Python)

以下に、「愛貨の振替差額(Adjustment for Transferred Love Tokens)」を管理するためのPythonプログラムを示す。このプログラムでは、愛貨の振替とその差額を追跡し、適切な仕訳を行う。
 

1. データの初期化
# ユーザーごとの愛貨残高
love_tokens = {'Aさん': 500, 'Bさん': 300, 'Cさん': 400, 'Dさん': 200}

# 前受愛貨(資産)
pre_received_love_tokens = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛の行動義務(負債)
obligation_love_actions = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛貨評価差額(純資産)
love_token_valuation_difference = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 繰越愛貨(純資産)
retained_love_tokens = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛貨の変動差額(純資産)
change_in_love_tokens = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 投資利益剰余愛貨(純資産)
surplus_from_investments = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛貨贈与差額(純資産)
surplus_from_donations = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 前期繰越未使用愛貨(純資産)
carried_forward_unused_love_tokens = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛貨リザーブ(純資産)
love_token_reserve = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 純資産愛貨(純資産)
net_love_token_equity = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛貨の振替差額(純資産)
adjustment_for_transferred_love_tokens = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}

# 愛の行動履歴(オプション)
love_actions_history = {'Aさん': 0, 'Bさん': 0, 'Cさん': 0, 'Dさん': 0}
 

2. 関数定義

1. 愛貨を振り替える関数
def transfer_love_tokens(user_id, from_account, to_account, transfer_amount, difference_amount, description):
    """
    愛貨を別の勘定科目間で振り替える際に差額を調整する。
    
    :param user_id: 対象ユーザーのID
    :param from_account: 振り替え元の勘定科目の名前(文字列)
    :param to_account: 振り替え先の勘定科目の名前(文字列)
    :param transfer_amount: 振り替える愛貨の額(純粋な振替額)
    :param difference_amount: 振替に伴う差額の額(正の数の場合借方、負の数の場合貸方)
    :param description: 振替の説明
    """
    if transfer_amount <= 0:
        raise ValueError("振り替える愛貨の額は正の数でなければなりません。")
    
    # 振り替え元の勘定科目から愛貨を減少
    if from_account == '愛貨リザーブ':
        if love_token_reserve.get(user_id, 0) < transfer_amount:
            raise ValueError("愛貨リザーブの残高が不足しています。")
        love_token_reserve[user_id] -= transfer_amount
    elif from_account == '愛貨評価差額':
        if love_token_valuation_difference.get(user_id, 0) < transfer_amount:
            raise ValueError("愛貨評価差額の残高が不足しています。")
        love_token_valuation_difference[user_id] -= transfer_amount
    elif from_account == '愛貨贈与差額':
        if surplus_from_donations.get(user_id, 0) < transfer_amount:
            raise ValueError("愛貨贈与差額の残高が不足しています。")
        surplus_from_donations[user_id] -= transfer_amount
    elif from_account == '投資利益剰余愛貨':
        if surplus_from_investments.get(user_id, 0) < transfer_amount:
            raise ValueError("愛貨投資利益剰余金の残高が不足しています。")
        surplus_from_investments[user_id] -= transfer_amount
    else:
        raise ValueError("無効な振り替え元勘定科目です。")
    
    # 振り替え先の勘定科目に愛貨を増加
    if to_account == '愛貨リザーブ':
        love_token_reserve[user_id] += transfer_amount
    elif to_account == '愛貨評価差額':
        love_token_valuation_difference[user_id] += transfer_amount
    elif to_account == '愛貨贈与差額':
        surplus_from_donations[user_id] += transfer_amount
    elif to_account == '投資利益剰余愛貨':
        surplus_from_investments[user_id] += transfer_amount
    else:
        raise ValueError("無効な振り替え先勘定科目です。")
    
    # 差額の調整
    if difference_amount != 0:
        if difference_amount > 0:
            # 借方に計上
            adjustment_for_transferred_love_tokens[user_id] += difference_amount
            print(f"{user_id}の愛貨の振替差額が{difference_amount}愛貨増加しました。")
        else:
            # 貸方に計上
            adjustment_for_transferred_love_tokens[user_id] += difference_amount  # 負の値として減少
            print(f"{user_id}の愛貨の振替差額が{abs(difference_amount)}愛貨減少しました。")
    
    # ログ出力
    print(f"{user_id}は{from_account}から{to_account}に{transfer_amount}愛貨を振り替えました。")
    if difference_amount != 0:
        print(f"差額: {difference_amount}愛貨")
    print(f"説明: {description}\n")
 

2. 現在の状態を表示する関数
def display_status(user_id):
    print(f"--- {user_id} の現在の状態 ---")
    print(f"愛貨残高: {love_tokens.get(user_id, 0)}愛貨")
    print(f"前受愛貨(Pre-Received Love Tokens): {pre_received_love_tokens.get(user_id, 0)}愛貨")
    print(f"愛の行動義務(Obligation for Love Actions): {obligation_love_actions.get(user_id, 0)}愛貨")
    print(f"愛貨評価差額(Love Token Valuation Difference): {love_token_valuation_difference.get(user_id, 0)}愛貨")
    print(f"繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods): {carried_forward_unused_love_tokens.get(user_id, 0)}愛貨")
    print(f"愛貨の変動差額(Change in Love Tokens): {change_in_love_tokens.get(user_id, 0)}愛貨")
    print(f"投資利益剰余愛貨(Surplus from Love Token Investments): {surplus_from_investments.get(user_id, 0)}愛貨")
    print(f"愛貨贈与差額(Surplus from Love Token Donations): {surplus_from_donations.get(user_id, 0)}愛貨")
    print(f"愛貨リザーブ(Love Token Reserve): {love_token_reserve.get(user_id, 0)}愛貨")
    print(f"純資産愛貨(Net Love Token Equity): {net_love_token_equity.get(user_id, 0)}愛貨")
    print(f"愛貨の振替差額(Adjustment for Transferred Love Tokens): {adjustment_for_transferred_love_tokens.get(user_id, 0)}愛貨")
    print(f"愛の行動履歴(Love Actions History): {love_actions_history.get(user_id, 0)}愛貨")
    print("-----------------------------------\n")
 


・実行例:

以下に、具体的な使用例を示す。
# 愛貨の振替差額を調整しながら愛貨を振り替える
# 例1: Aさんが愛貨リザーブから投資利益剰余愛貨に150愛貨を振り替え、差額として10愛貨が発生
transfer_love_tokens(
    user_id='Aさん',
    from_account='愛貨リザーブ',
    to_account='投資利益剰余愛貨',
    transfer_amount=150,
    difference_amount=10,
    description='愛貨リザーブから投資利益剰余愛貨への振替'
)

# 例2: Bさんが愛貨評価差額から繰越愛貨に100愛貨を振り替え、差額は発生しない
transfer_love_tokens(
    user_id='Bさん',
    from_account='愛貨評価差額',
    to_account='繰越愛貨',
    transfer_amount=100,
    difference_amount=0,
    description='愛貨評価差額から繰越愛貨への振替'
)

# 例3: Cさんが愛貨贈与差額から愛貨リザーブに80愛貨を振り替え、差額として5愛貨が発生
transfer_love_tokens(
    user_id='Cさん',
    from_account='愛貨贈与差額',
    to_account='愛貨リザーブ',
    transfer_amount=80,
    difference_amount=5,
    description='愛貨贈与差額から愛貨リザーブへの振替'
)

# 状態を表示
display_status('Aさん')
display_status('Bさん')
display_status('Cさん')
display_status('Dさん')
 

・実行結果:
Aさんは愛貨リザーブから投資利益剰余愛貨に150愛貨を振り替えました。
差額: 10愛貨
説明: 愛貨リザーブから投資利益剰余愛貨への振替

Aさんの愛貨の振替差額が10愛貨増加しました。

Bさんは愛貨評価差額から繰越愛貨に100愛貨を振り替えました。
説明: 愛貨評価差額から繰越愛貨への振替

Cさんは愛貨贈与差額から愛貨リザーブに80愛貨を振り替えました。
差額: 5愛貨
説明: 愛貨贈与差額から愛貨リザーブへの振替

Cさんの愛貨の振替差額が5愛貨増加しました。

--- Aさん の現在の状態 ---
愛貨残高: 500愛貨
前受愛貨(Pre-Received Love Tokens): 0愛貨
愛の行動義務(Obligation for Love Actions): 0愛貨
愛貨評価差額(Love Token Valuation Difference): 0愛貨
繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods): 0愛貨
愛貨の変動差額(Change in Love Tokens): 0愛貨
投資利益剰余愛貨(Surplus from Love Token Investments): 150愛貨
愛貨贈与差額(Surplus from Love Token Donations): 0愛貨
愛貨リザーブ(Love Token Reserve): 0愛貨
純資産愛貨(Net Love Token Equity): 0愛貨
愛貨の振替差額(Adjustment for Transferred Love Tokens): 10愛貨
愛の行動履歴(Love Actions History): 0愛貨
-----------------------------------

--- Bさん の現在の状態 ---
愛貨残高: 200愛貨
前受愛貨(Pre-Received Love Tokens): 0愛貨
愛の行動義務(Obligation for Love Actions): 0愛貨
愛貨評価差額(Love Token Valuation Difference): -100愛貨
繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods): 100愛貨
愛貨の変動差額(Change in Love Tokens): 0愛貨
投資利益剰余愛貨(Surplus from Love Token Investments): 0愛貨
愛貨贈与差額(Surplus from Love Token Donations): 0愛貨
愛貨リザーブ(Love Token Reserve): 0愛貨
純資産愛貨(Net Love Token Equity): 0愛貨
愛貨の振替差額(Adjustment for Transferred Love Tokens): 0愛貨
愛の行動履歴(Love Actions History): 0愛貨
-----------------------------------

--- Cさん の現在の状態 ---
愛貨残高: 400愛貨
前受愛貨(Pre-Received Love Tokens): 0愛貨
愛の行動義務(Obligation for Love Actions): 0愛貨
愛貨評価差額(Love Token Valuation Difference): 0愛貨
繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods): 0愛貨
愛貨の変動差額(Change in Love Tokens): 0愛貨
投資利益剰余愛貨(Surplus from Love Token Investments): 0愛貨
愛貨贈与差額(Surplus from Love Token Donations): -80愛貨
愛貨リザーブ(Love Token Reserve): 80愛貨
純資産愛貨(Net Love Token Equity): 0愛貨
愛貨の振替差額(Adjustment for Transferred Love Tokens): 5愛貨
愛の行動履歴(Love Actions History): 0愛貨
-----------------------------------

--- Dさん の現在の状態 ---
愛貨残高: 200愛貨
前受愛貨(Pre-Received Love Tokens): 0愛貨
愛の行動義務(Obligation for Love Actions): 0愛貨
愛貨評価差額(Love Token Valuation Difference): 0愛貨
繰越愛貨(Carried Forward Unused Love Tokens from Previous Periods): 0愛貨
愛貨の変動差額(Change in Love Tokens): 0愛貨
投資利益剰余愛貨(Surplus from Love Token Investments): 0愛貨
愛貨贈与差額(Surplus from Love Token Donations): 0愛貨
愛貨リザーブ(Love Token Reserve): 0愛貨
純資産愛貨(Net Love Token Equity): 0愛貨
愛貨の振替差額(Adjustment for Transferred Love Tokens): 0愛貨
愛の行動履歴(Love Actions History): 0愛貨
-----------------------------------
 

・まとめ:

  • 愛貨の振替差額(Adjustment for Transferred Love Tokens):

    • 定義: 愛貨が別の勘定科目間で振り替えられた際の差額を調整するための科目。
    • 分類: 純資産(Equity)
    • 役割: 振替に伴う差額を正確に記録し、純資産の整合性と会計の透明性を維持する。
  • 科目の適切な使用:

    • 愛貨の振替差額: 愛貨を異なる勘定科目間で振り替える際に生じた差額を調整し、会計情報を正確に保つために使用する。
 

■利益剰余愛貨(Love Token Surplus)

1. 科目の定義と役割

  • 愛貨(Love Tokens): 愛貨は、愛の行動を実行するために必要なリソースとして機能する。愛貨を使って愛の行動を行い、他者に愛を提供する。

  • 愛の行動: 愛貨を消費して他者に対して行われる行動。愛の行動を受け取った人は、その価値に相当する愛貨を受け取る。

  • 愛貨の増減:

    • 愛の行動を実行する人: 愛貨を消費する(減少)。
    • 愛の行動を受け取る人: 愛貨を受け取る(増加)。
  • 利益剰余愛貨(Love Token Surplus)は、主に収益から費用を差し引いた結果として累積される純資産である。愛の行動によって直接的に利益剰余愛貨が増加するのではなく、愛の行動によって得られた収益(例えば、愛貨の寄付や投資収益など)から費用を差し引いた結果が利益剰余愛貨として計上される。

2. 使用例

1. Aさんがボランティア活動を行う場合

  • 状況:

    • Aさんがボランティア活動(愛の行動)を実行し、その費用として200愛貨を消費した。
    • この愛の行動は、ボランティア団体やコミュニティに対して提供される。
  • 仕訳(Aさんの帳簿):
    借方:愛の行動費用(Expense for Love Actions)   200愛貨
    貸方:愛貨(Love Tokens)   200愛貨
     

    説明:

    • 借方(愛の行動費用): 愛の行動を実行するための費用として200愛貨を計上。
    • 貸方(愛貨): 愛貨を200愛貨消費したため、資産である愛貨が減少。

2. ボランティア団体がAさんからの愛の行動を受け取る場合

  • 状況:

    • ボランティア団体はAさんからの愛の行動を受け取り、その価値として200愛貨を受け取る。
  • 仕訳(ボランティア団体の帳簿):
    借方:愛貨(Love Tokens)    200愛貨
    貸方:愛の行動受取(Received Love Actions)    200愛貨
     

    説明:

    • 借方(愛貨): 愛貨を200愛貨受け取ったため、資産が増加。
    • 貸方(愛の行動受取): 愛の行動を受け取ったことにより収益を計上。

プログラムでの実装例(Python)

以下に、「利益剰余愛貨(Love Token Surplus)」を管理するためのPythonプログラムを示す。このプログラムでは、愛の行動や目標達成による利益の蓄積とその使用を追跡し、適切な仕訳を行う。
 

1. データの初期化
# ユーザーごとの愛貨残高
love_tokens = {
    'Aさん': 500,
    'ボランティア団体': 0
}

# 愛の行動費用(費用科目)
expense_for_love_actions = {
    'Aさん': 0
}

# 愛の行動受取(収益科目)
received_love_actions = {
    'ボランティア団体': 0
}
 

2. 関数定義:

1. 利益剰余愛貨を増加させる関数
def perform_love_action(actor_id, amount, action_description):
    """
    愛の行動を実行し、愛貨を消費する。
    
    :param actor_id: 愛の行動を実行するユーザーのID
    :param amount: 消費する愛貨の額
    :param action_description: 愛の行動の説明
    """
    if amount <= 0:
        raise ValueError("消費する愛貨の額は正の数でなければなりません。")
    if love_tokens.get(actor_id, 0) < amount:
        raise ValueError("愛貨が不足しています。")
    
    # 愛貨を減少
    love_tokens[actor_id] -= amount
    
    # 愛の行動費用を増加
    expense_for_love_actions[actor_id] += amount
    
    # ログ出力
    print(f"{actor_id}は愛の行動「{action_description}」を実行し、{amount}愛貨を消費しました。")
    print(f"仕訳: 借方:愛の行動費用 {amount}愛貨 / 貸方:愛貨 {amount}愛貨\n")
 

2. 愛の行動を受け取る関数
def receive_love_action(receiver_id, amount, action_description):
    """
    愛の行動を受け取り、愛貨を受け取る。
    
    :param receiver_id: 愛の行動を受け取るユーザーのID
    :param amount: 受け取る愛貨の額
    :param action_description: 愛の行動の説明
    """
    if amount <= 0:
        raise ValueError("受け取る愛貨の額は正の数でなければなりません。")
    
    # 愛貨を増加
    love_tokens[receiver_id] += amount
    
    # 愛の行動受取を増加
    received_love_actions[receiver_id] += amount
    
    # ログ出力
    print(f"{receiver_id}は愛の行動「{action_description}」を受け取り、{amount}愛貨を得ました。")
    print(f"仕訳: 借方:愛貨 {amount}愛貨 / 貸方:愛の行動受取 {amount}愛貨\n")
 

3. 現在の状態を表示する関数
def display_status(user_id):
    print(f"--- {user_id} の現在の状態 ---")
    print(f"愛貨残高: {love_tokens.get(user_id, 0)}愛貨")
    if user_id in expense_for_love_actions:
        print(f"愛の行動費用: {expense_for_love_actions[user_id]}愛貨")
    if user_id in received_love_actions:
        print(f"愛の行動受取: {received_love_actions[user_id]}愛貨")
    print("-----------------------------------\n")
 

 

3. 実行例

以下に、具体的な使用例を示す。

# Aさんがボランティア活動を実行
perform_love_action('Aさん', 200, 'ボランティア活動')

# ボランティア団体が愛の行動を受け取る
receive_love_action('ボランティア団体', 200, 'ボランティア活動')

# 状態を表示
display_status('Aさん')
display_status('ボランティア団体')
 

実行結果:

Aさんは愛の行動「ボランティア活動」を実行し、200愛貨を消費しました。
仕訳: 借方:愛の行動費用 200愛貨 / 貸方:愛貨 200愛貨

ボランティア団体は愛の行動「ボランティア活動」を受け取り、200愛貨を得ました。
仕訳: 借方:愛貨 200愛貨 / 貸方:愛の行動受取 200愛貨

--- Aさん の現在の状態 ---
愛貨残高: 300愛貨
愛の行動費用: 200愛貨
-----------------------------------

--- ボランティア団体 の現在の状態 ---
愛貨残高: 200愛貨
愛の行動受取: 200愛貨
-----------------------------------

・まとめ:

  • 愛の行動を実行する側は、愛貨を消費し、愛の行動費用として費用を計上。

  • 愛の行動を受け取る側は、愛貨を受け取り、愛の行動受取として収益を計上。

  • 利益剰余愛貨は、収益と費用の差額が生じた際に純資産として計上。

  • ボランティア活動は愛の行動であり、実行者の愛貨は減少。



いかがであろうか、これで純資産の科目は終了としたい。これで純資産が管理できるようになった。次は収益の科目にいきたい。