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

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

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

先までは、"愛記"についての記載で、どのようにブロックチェーン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)

・コミュニティからの支援による愛貨(Community Support in Love Tokens)

・愛貨の再評価による資産(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)

・他者への愛貨の投資に関する債務(Liabilities for Investment in Love Tokens for Others)

愛の行動義務(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 Returned Love Tokens from Unperformed 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)

・愛の行動による愛貨の獲得(Love Tokens Earned through Actions)

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

・他者からの行動による愛貨の獲得(Love Tokens Received from Others' Actions)

・未使用愛貨の増加(Increase in Unused Love Tokens)

・他者からの愛貨の贈与(Gift of Love Tokens from Others)

・愛貨の再評価による収益(Revenue from Revaluation of Love Tokens)

・他者からの目標達成による愛貨の獲得(Love Tokens Earned from Others' Goal Achievements)

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

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

・愛貨の投資による利益(Profit from Investment in Love Tokens)


5. 費用 (Expenses)

・行動に伴う愛貨の費用(Expenses for Actions Taken with Love Tokens)

・未使用愛貨の減少(Decrease in Unused Love Tokens)

・他者への愛貨の贈与(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)


 

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

愛貨リザーブ(Love Token Reserve)

1. 科目の定義と役割

  • 科目名: 愛貨リザーブ(Love Token Reserve)
  • 分類: 純資産(Equity)
  • 定義: 将来的な愛の行動や目標達成に備えて確保されている愛貨の額。これは純資産としてリザーブ(準備金)に計上され、必要に応じて愛の行動や投資に使用される。簿記での「準備金(Reserve)」に相当。
  • 愛記での位置づけ:
    • 将来の活動への備え: 将来的な愛の行動や目標達成のために愛貨を確保し、計画的に使用する。
    • 経済の安定化: リザーブとして愛貨を保持することで、予期せぬ事態や大規模な活動にも対応可能な経済的安定を確保。
    • 資産の管理: リザーブとして計上された愛貨は、特定の目的に限定されて使用されるため、資産の管理が容易になる。

2. 使用例

例1: Aさんが愛貨リザーブに100愛貨を確保する場合

  • 状況:

    • Aさんは将来の大規模な愛の行動に備えて、100愛貨をリザーブとして確保した。
  • 仕訳1: 愛貨をリザーブとして計上する(Aさんの帳簿)
    借方:愛貨リザーブ(Love Token Reserve)    100愛貨
    貸方:未使用愛貨(Unused Love Tokens)    100愛貨
     

    説明:

    • 借方(愛貨リザーブ): 将来の活動に備えて確保された100愛貨を純資産として計上。
    • 貸方(未使用愛貨): 現在の未使用愛貨からリザーブに移動させた100愛貨を減少させる。

例2: Aさんが愛貨リザーブから50愛貨を使用して新たな愛の行動を実行する場合

  • 状況:

    • Aさんはリザーブとして確保した100愛貨のうち、50愛貨を使用して新たな愛の行動を実行。
  • 仕訳2: 愛貨リザーブから愛の行動に使用する場合(Aさんの帳簿)
    借方:愛の行動LV2:協力する    50愛貨
    貸方:愛貨リザーブ(Love Token Reserve)    50愛貨

     

    説明:

    • 借方(愛の行動LV2:協力する): 新たな愛の行動に関連する費用として50愛貨を計上。
    • 貸方(愛貨リザーブ): リザーブから使用された50愛貨を減少させる。

例3: Bさんが愛貨リザーブに200愛貨を確保し、後に150愛貨を使用する場合

  • 状況:

    • Bさんは将来の目標達成に備えて200愛貨をリザーブとして確保。
    • 後に、150愛貨を使用して愛の行動を実行した。
  • 仕訳3: 愛貨リザーブに愛貨を確保する(Bさんの帳簿)
    借方:愛貨リザーブ(Love Token Reserve)    200愛貨
    貸方:未使用愛貨(Unused Love Tokens)    200愛貨
     

  • 仕訳4: リザーブから愛の行動に愛貨を使用する(Bさんの帳簿)
    借方:愛の行動LV2:協力する    150愛貨
    貸方:愛貨リザーブ(Love Token Reserve)    150愛貨
     

    説明:

    • 借方(愛の行動LV2:協力する): 愛の行動に関連する費用として150愛貨を計上。
    • 貸方(愛貨リザーブ): リザーブから使用された150愛貨を減少させる。

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

以下に、「愛貨リザーブ(Love Token Reserve)」を管理するための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}

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

2. 関数定義

1. 愛貨リザーブを確保する関数
def reserve_love_tokens(user_id, reserve_amount, description):
    """
    将来の愛の行動や目標達成に備えて愛貨をリザーブとして確保する。
    
    :param user_id: リザーブを確保するユーザーのID
    :param reserve_amount: 確保する愛貨の額
    :param description: リザーブの説明
    """
    if reserve_amount <= 0:
        raise ValueError("リザーブする愛貨の額は正の数でなければなりません。")
    if love_tokens.get(user_id, 0) < reserve_amount:
        raise ValueError("未使用愛貨が不足しています。")
    
    # 未使用愛貨を減少
    love_tokens[user_id] -= reserve_amount
    
    # 愛貨リザーブを増加
    love_token_reserve[user_id] += reserve_amount
    
    # ログ出力
    print(f"{user_id}は愛貨を{reserve_amount}愛貨リザーブとして確保しました。")
    print(f"説明: {description}\n")
 

2. 愛貨リザーブから愛の行動に愛貨を使用する関数
def use_love_token_reserve(user_id, use_amount, action_description):
    """
    愛貨リザーブから愛の行動に愛貨を使用する。
    
    :param user_id: 愛の行動を実行するユーザーのID
    :param use_amount: 使用する愛貨の額
    :param action_description: 愛の行動の説明
    """
    if use_amount <= 0:
        raise ValueError("使用する愛貨の額は正の数でなければなりません。")
    if love_token_reserve.get(user_id, 0) < use_amount:
        raise ValueError("愛貨リザーブが不足しています。")
    
    # 愛貨リザーブを減少
    love_token_reserve[user_id] -= use_amount
    
    # 愛の行動義務を増加(必要に応じて)
    obligation_love_actions[user_id] += use_amount
    
    # 愛の行動履歴を増加(オプション)
    love_actions_history[user_id] += use_amount
    
    # 仕訳
    print(f"{user_id}は愛貨リザーブから{use_amount}愛貨を使用して愛の行動「{action_description}」を実行しました。")
    print(f"説明: {action_description}\n")
 

3. 現在の状態を表示する関数
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"繰越愛貨(Retained Love Tokens): {retained_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"前期繰越未使用愛貨(Carried Forward Unused Love Tokens from Previous Periods): {carried_forward_unused_love_tokens.get(user_id, 0)}愛貨")
    print(f"愛貨リザーブ(Love Token Reserve): {love_token_reserve.get(user_id, 0)}愛貨")
    print(f"愛の行動履歴(Love Actions History): {love_actions_history.get(user_id, 0)}愛貨")
    print("-----------------------------------\n")
 

3. 実行例

以下に、具体的な使用例を示す。
# 愛貨リザーブを確保する
reserve_love_tokens('Aさん', 100, '将来の大規模愛の行動への備え')
reserve_love_tokens('Bさん', 200, '目標達成に備えたリザーブ')

# 愛貨リザーブから愛の行動に愛貨を使用する
use_love_token_reserve('Aさん', 50, '新たなボランティア活動への参加')
use_love_token_reserve('Bさん', 150, '地域イベントの支援')

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

・実行結果:
Aさんは愛貨を100愛貨リザーブとして確保しました。
説明: 将来の大規模愛の行動への備え

Bさんは愛貨を200愛貨リザーブとして確保しました。
説明: 目標達成に備えたリザーブ

Aさんは愛貨リザーブから50愛貨を使用して愛の行動「新たなボランティア活動への参加」を実行しました。
説明: 新たなボランティア活動への参加

Bさんは愛貨リザーブから150愛貨を使用して愛の行動「地域イベントの支援」を実行しました。
説明: 地域イベントの支援

--- Aさん の現在の状態 ---
愛貨残高: 400愛貨
前受愛貨(Pre-Received Love Tokens): 0愛貨
愛の行動義務(Obligation for Love Actions): 50愛貨
愛貨評価差額(Love Token Valuation Difference): 0愛貨
繰越愛貨(Retained Love Tokens): 0愛貨
愛貨の変動差額(Change in Love Tokens): 0愛貨
投資利益剰余愛貨(Surplus from Love Token Investments): 0愛貨
愛貨贈与差額(Surplus from Love Token Donations): 0愛貨
前期繰越未使用愛貨(Carried Forward Unused Love Tokens from Previous Periods): 0愛貨
愛貨リザーブ(Love Token Reserve): 50愛貨
愛の行動履歴(Love Actions History): 50愛貨
-----------------------------------

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

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

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

4. 必要性の評価

  • 愛貨リザーブ

    • 将来の愛の行動や目標達成に備えて愛貨をリザーブとして保持するために必要である。
    • 計画的な愛の行動や投資活動を支援し、経済的安定を促進する。

結論: 両科目は異なる目的と対象を持つため、愛記の会計体系において両方を保持することが有益である。これにより、愛貨の価値変動と将来の活動に備えたリザーブを明確に区別して管理できる。

 

 

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

1. 科目の定義と役割

  • 科目名: 純資産愛貨(Net Love Token Equity)
  • 分類: 純資産(Equity)
  • 定義: 全ての負債を差し引いた後の、愛貨による純資産。最終的に手元に残る愛貨の総額を示す。簿記での「純資産(Net Equity)」に相当。
  • 役割:
    • 純資産の把握: 愛記全体の経済状況を示す指標として、全ての負債を差し引いた後の純資産愛貨を管理する。
    • 経済の健全性の評価: 純資産愛貨の増減により、コミュニティや個人の経済的健全性を評価。
    • 資産の最終評価: 最終的に手元に残る愛貨の総額を明確にし、将来の計画や投資の基盤とする。

2. 使用例

例1: Aさんの純資産愛貨が増加した場合

  • 状況:

    • Aさんの総愛貨が500愛貨、負債が100愛貨の場合、純資産愛貨は400愛貨になる。
  • 仕訳1: 純資産愛貨の増加を計上する(Aさんの帳簿)
    借方:純資産愛貨(Net Love Token Equity)    400愛貨
    貸方:その他の資産科目(例:未使用愛貨)    400愛貨

     

    説明:

    • 借方(純資産愛貨): 純資産愛貨が増加した分を純資産として計上。
    • 貸方(その他の資産科目): 愛貨の増加分を他の資産科目(例:未使用愛貨)から純資産愛貨に振り替える。

例2: Bさんの純資産愛貨が減少した場合

  • 状況:

    • Bさんの総愛貨が300愛貨、負債が150愛貨の場合、純資産愛貨は150愛貨になる。
  • 仕訳2: 純資産愛貨の減少を計上する(Bさんの帳簿)
    借方:その他の負債科目(例:未使用愛貨への返還義務) 150愛貨
    貸方:純資産愛貨(Net Love Token Equity) 150愛貨

     

    説明:

    • 借方(その他の負債科目): 純資産愛貨が減少した分を負債として計上。
    • 貸方(純資産愛貨): 純資産愛貨の減少分を純資産から減少させる。

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

以下に、「純資産愛貨(Net Love Token Equity)」を管理するための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}

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

2. 関数定義

1. 純資産愛貨を増加させる関数
def increase_net_equity(user_id, increase_amount, asset_account, description):
    """
    純資産愛貨を増加させる。
    
    :param user_id: 対象ユーザーのID
    :param increase_amount: 増加させる愛貨の額
    :param asset_account: 増加元となる資産科目の名前
    :param description: 取引の説明
    """
    if increase_amount <= 0:
        raise ValueError("増加させる愛貨の額は正の数でなければなりません。")
    if love_tokens.get(user_id, 0) < increase_amount:
        raise ValueError(f"{user_id}の{asset_account}が不足しています。")
    
    # 愛貨を減少(資産から純資産へ)
    love_tokens[user_id] -= increase_amount
    
    # 純資産愛貨を増加
    net_love_token_equity[user_id] += increase_amount
    
    # ログ出力
    print(f"{user_id}の純資産愛貨が{increase_amount}愛貨増加しました。")
    print(f"説明: {description}\n")
 

2. 純資産愛貨を減少させる関数
def decrease_net_equity(user_id, decrease_amount, liability_account, description):
    """
    純資産愛貨を減少させる。
    
    :param user_id: 対象ユーザーのID
    :param decrease_amount: 減少させる愛貨の額
    :param liability_account: 減少先となる負債科目の名前
    :param description: 取引の説明
    """
    if decrease_amount <= 0:
        raise ValueError("減少させる愛貨の額は正の数でなければなりません。")
    if net_love_token_equity.get(user_id, 0) < decrease_amount:
        raise ValueError(f"{user_id}の純資産愛貨が不足しています。")
    
    # 純資産愛貨を減少
    net_love_token_equity[user_id] -= decrease_amount
    
    # 負債科目を増加
    obligation_love_actions[user_id] += decrease_amount  # 例として負債科目に計上
    
    # ログ出力
    print(f"{user_id}の純資産愛貨が{decrease_amount}愛貨減少しました。")
    print(f"説明: {description}\n")
 

3. 現在の状態を表示する関数
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"繰越愛貨(Retained Love Tokens): {retained_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"前期繰越未使用愛貨(Carried Forward Unused Love Tokens from Previous Periods): {carried_forward_unused_love_tokens.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"愛の行動履歴(Love Actions History): {love_actions_history.get(user_id, 0)}愛貨")
    print("-----------------------------------\n")
 

4. 実行例

以下に、具体的な使用例を示す。
# 純資産愛貨を増加させる
increase_net_equity('Aさん', 400, '未使用愛貨', '全ての負債を差し引いた純資産の計上')
increase_net_equity('Bさん', 150, '未使用愛貨', '全ての負債を差し引いた純資産の計上')

# 純資産愛貨を減少させる
decrease_net_equity('Aさん', 200, '愛の行動義務', '一部の愛の行動による純資産の減少')
decrease_net_equity('Bさん', 100, '愛の行動義務', '一部の愛の行動による純資産の減少')

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

・実行結果:
Aさんの純資産愛貨が400愛貨増加しました。
説明: 全ての負債を差し引いた純資産の計上

Bさんの純資産愛貨が150愛貨増加しました。
説明: 全ての負債を差し引いた純資産の計上

Aさんの純資産愛貨が200愛貨減少しました。
説明: 一部の愛の行動による純資産の減少

Bさんの純資産愛貨が100愛貨減少しました。
説明: 一部の愛の行動による純資産の減少

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

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

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

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

まとめ:

  • 純資産愛貨(Net Love Token Equity):

    • 定義: 全ての負債を差し引いた後の、愛貨による純資産。最終的に手元に残る愛貨の総額を示す。
    • 分類: 純資産(Equity)
    • 役割: 純資産愛貨を通じて、愛記全体の経済状況を把握し、経済的健全性を評価する。
  • 科目の適切な使用:

    • 純資産愛貨: 全ての負債を差し引いた後の純資産愛貨を計上し、コミュニティや個人の経済的健全性を管理。
    • 他の科目: 愛貨の価値変動や愛の行動による愛貨の増減をそれぞれ適切に管理。
 
いかがであろうか、これで純資産の科目である総資産愛貨ができた。これで総資産を管理できるようになる。