
Event Sourcing としての会計
ソフトウェア開発者にとって分かりやすく「会計」とは何か紹介したい。会計は典型的な Event Sourcing なので、以下の観点から説明したら分かりやすいと考えた。
- 会計とは何を目的にした活動なのか
- 会計はどのような状態として表現できるか
- 状態の遷移にどのような制約があるか
コードは 1 行も出てきません。
概要
会計とは、複式簿記の体系に従って作成された仕訳と呼ばれるイベントの集積によって財政状態の遷移を表現し利害関係者に情報を提供する活動である。
会計の利害関係者
「会計」と呼ばれる活動は一般的に以下の 3 種類に分けられる。
- 財務会計: 投資家や債権者などの利害関係者に企業の財務状況を報告する
- 管理会計: 社内の経営意思決定を支援する
- 税務会計: 法人税など税金を計算する
なぜ 3 つに分かれているかというと、会計情報を必要としている利害関係者によって関心が異なるため。会計情報の利用者は以下の 3 種類に分けられる。
- 財務会計 → 投資家や債権者
- 管理会計 → 会社の経営陣や管理者
- 税務会計 → 税務当局
財務会計は投資家や債権者が報告の対象で、会社が保有している経済的な資源やそれを引き渡す義務に関心がある。管理会計は会社の経営陣が対象で、事業を成長させるために必要な収益・費用構造の可視化や改善のための分析に関心がある。税務会計は税務署が対象で、税金を計算するためのルール1に従っているかに関心がある。
実際には管理会計や税務会計は基本的に財務会計を基盤としていることが多いが(財務会計に使用するデータを元データとしたり、結果を財務会計と突合する)、異なる切り口から集計や報告を行う。
ここからは例として Datainu 社という架空の上場企業を題材にそれぞれの違いを説明してみる。Datainu 社の顧客はクラウドアプリケーションを提供する企業である。事業としては、ログを統合しそのパフォーマンスやインフラストラクチャをモニタリングするための SaaS プラットフォームや関連ツールを提供している(実在の会社とは一切関係ありません)。
1. 財務会計
Datainu 社に資金を提供している投資家や債権者は、同社の事業を支える財政状態(後述)に関心がある。売上は毎年成長しているようだが、利益は出ているのだろうか?売上の何 % をマーケティングに投下しているのだろうか?会社の口座には事業を成長させるために十分な資金があるだろうか?
財務会計では「会計基準2」と呼ばれる一定の規則に従って財政状態を表現する。財政状態とその変動内訳は「財務諸表」と呼ばれる形式で提供される。財務諸表は貸借対照表(BS)、損益計算書(PL, IS)、キャッシュ・フロー計算書(CF)の 3 種類がある。
貸借対照表は特定時点の財政状態のスナップショットを表す。n-1 期末から n 期末までの間には、資産や負債が増減したり事業で利益や損失があり、その度に財政状態が変化する。
損益計算書とキャッシュ・フロー計算書は貸借対照表の一部項目(損益計算書は利益剰余金、キャッシュ・フロー計算書は現金やその同等物)の特定期間を通じた変動内訳を示す。
財務会計では、上記のように財政状態の構造と変動内訳、およびその詳細を投資家や債権者向けに開示する。
2. 管理会計
Datainu 社の経営陣は、将来的な事業の成長に向けて経営が投資意思決定を行うための情報を必要としている。例えば、今後どのような機能や製品を開発していくか決定するために、契約月別や製品別・プラン別に顧客の支払額を見たくなるかもしれない。
また、Datainu 社の収益性を向上させるために、サービスをホスティングしているクラウドインフラの費用を顧客別・製品別・機能別・契約プラン別に分けたくなったり、売上に対する人件費の割合をコントロールしたくなるかもしれない。
管理会計では財務会計における会計基準のような統一されたルールは存在せず、各社が投資意思決定に必要な情報を自由に集計・報告している。
3. 税務会計
Datainu 社は、法人税やその他税金の申告を行うため税務当局が定めたルールに従って課税対象額を計算する必要がある。
会計上の収益や費用と税務上の益金や損金にはさまざまな差が生じる。理由としては、税金を計算するルールが企業間の公平性や経済的な中立性、政策的配慮など財務会計とは異なるルールに基づいて作られているため。
例えば、Datainu 社は買収した子会社の株主として配当金を受け取っており財務会計上の収益として計上しているが、これは(配当が行われる前に法人税が課税されているから)Datainu 社の課税所得計算上は益金不算入となる。
また、Datainu 社はさまざまなソフトウェアを開発しており、開発者の給与や株式報酬などの人件費を費用として計上しているが、税務上は一部を資産化しなければならない場合がある。こういった費用は損金不算入として加算される。
このように、財務会計上の収益や費用から加減算して課税所得が計算される。
財政状態と複式簿記と仕訳
管理会計や税務会計は基本的に財務会計を基礎としており、一定期間にわたる「財政状態」の遷移を切り取って社内向けもしくは税務当局向けに報告する。
つまり、すべての基礎となるのは財務会計で表現される財政状態といえる。ここで「財政状態」とは何かについて説明したい。
「財政状態」とは
財務会計では企業の財政状態を「資産」や「負債」や「純資産」と呼ばれる概念で分割しており、財務諸表を構成する勘定科目は全てこのいずれかの内訳となる。例えば、損益計算書の項目は全て純資産の変動内訳である。
これら概念の定義は会計基準ごとに存在する「概念フレームワーク(Conceptual Framework)」と呼ばれる文書に記載されている。概念フレームワークは過去の会計慣行から基礎的な概念を体系的に要約・整理し将来の会計基準検討に役立てるための資料であり、それ自体になんらかの拘束力があるわけではない。しかし、財務会計を構成する概念を説明するのに便利なので引用しておきたい。
例えば日本版の財務会計フレームワークには資産、負債、純資産の定義について以下のように書かれている。
まずは「資産」について。
資産とは、過去の取引または事象の結果として、報告主体(entity)が支配(control)している経済的資源(economic resources)、またはその同等物をいう。 ここでいう支配とは、所有権の有無にかかわらず、報告主体が経済的資源を利用し、そこから生み出される便益を享受できる状態をいう。経済的資源とは、キャッシュの獲得に貢献する便益の集合体(benefits)をいう。これは市場での処分可能性(marketability)を有する場合もあれば、そうでない場合もある。なお、経済的資源の同等物とは、典型的には、将来において支配する可能性のある経済的資源をいう。
次に「負債」について。
負債とは、過去の取引または事象の結果として、報告主体が支配している経済的資源を放棄もしくは引き渡す義務、またはその同等物をいう。 ここでいう義務の同等物には、法律上の義務に準じるものが含まれる。
最後に「純資産」について。
純資産とは、資産と負債の差額をいう。これは報告主体の所有者である株主(連結財務諸表の場合には親会社株主)に帰属する資本と、その他の要素に分けられる。その他の要素には、報告主体の所有者以外に帰属するものと、いずれにも帰属しないものが含まれる。 その他の要素のうち、報告主体の所有者である株主以外に帰属するものには、少数株主 持分などが含まれる。他方、いずれにも帰属しないものには、リスクから解放されていない投資の成果などが含まれる。 少数株主持分以外には、例えば、報告主体の将来の所有者となりうるオプションの所有者との取引によって発生した部分がある。
定義上、純資産は資産と負債の差額なので、資産は負債と純資産の合計と一致する。
「資産」は報告主体が支配する経済的資源で「負債」はそれを放棄もしくは外部に引き渡す義務、それを差し引きしたものが純資産であり、これは基本的に株主に帰属する。特定時点の経済的資源と、その金銭的価値が誰に帰属しているかを表す状態が会計で管理する財政状態である。
財政状態の遷移は「仕訳」と呼ばれるイベントを通じて行う。
「仕訳」とは
財政状態の遷移は必ず「仕訳」と呼ばれるイベントを介して記録される。
一般的な企業会計では仕訳に「借方」と「貸方」と呼ばれる 2 つの項目があり、借方と貸方の金額は必ず一致する。この制約の下で会社の経済的活動を記録する方法を「複式簿記」と呼ぶ。
ここで Datainu 社に再登場してもらう。同社は顧客に対して月額で利用料 12,000 円を請求しており、一年分だと 144,000 円となる。しかし、一年分を前払いすることで利用料を 120,000 円としている(実質 17% 程度の割引)。
入金時には以下のような仕訳が記録される。
(借方) 現預金 120,000
(貸方) 負債 120,000
貸借対照表上は次のように表現される。
受け取った 120,000 円は、その後一年間にわたって Datainu 社が顧客に対して契約に従って役務を提供することで収益として認識される。これは毎月以下のような仕訳として記録される。
(借方) 負債 10,000
(貸方) 売上 10,000
10,000 円分は履行義務が充足されたので、会社の収益になっている。この部分は損益計算書上は収益として、貸借対照表上は純資産として表現される。単純に考えると会社の財産の 10,000 円分が債権者から株主に移ったと考えることができる。
12 月 31 日に前払い分を受け取ったと仮定すると翌年 6 月末時点では 6 ヶ月分の仕訳が記録され、およそ半分が収益として認識されている。
会計と Event Sourcing
仕訳の集積によって財政状態を再現するという点で、会計は Event Sourcing といえる。
イベントから状態を再構築する
Event Sourcing では、アプリケーション内で起きたすべての変更(イベント)を時系列順に保存しておき、必要があればそれを最初からリプレイすることで現在の状態を復元する。これと同じように、会計では各取引を「仕訳」というイベントとして記録し、最終的な財政状態(貸借対照表や損益計算書など)は仕訳を集積して作られる。
財政状態の更新は仕訳によってのみ行われ、過去の仕訳の集計をある時点までリプレイすると必ずその時点の財政状態に一致する。
状態遷移のルールとしての「複式簿記」
複式簿記は「財政状態を遷移させる際に整合性を維持するための制約」と言える。
ここでいう整合性とは「報告主体が支配する経済的資源(資産)が、必ずそれを引き渡すまたは放棄する義務(負債)と株主に帰属する価値(純資産)の合計額と一致する」という状態が保たれている状態を意味する。
複式という形で借方と貸方を並べて書くのは、企業の支配する経済的資源が増減するとき単にその経済的資源が何に変わるのかを表しているだけ。
例えば会社の銀行口座に現金が入ってきたとき、幾つかのパターンが考えられる。
- 資産同士の交換(例: 他の銀行口座から資金を移動する)
- 負債の増加(例: 顧客からの前払金を受け取り)
- 純資産の増加(例: 株主からの増資)
このように、経済的資源やそれを引き渡す義務の増減は必ず表裏一体になる。別の経済的資源から変わったものなのか、債権者のものなのか、出資した投資家のものなのか。財政状態の遷移にこのような制約を設けることで、報告主体が支配する経済的資源の価値とそれを債権者または株主に引き渡す義務の合計価値が均衡するようになっている。
ソフトウェア開発者の目線で捉えると、「複式簿記」は Event Sourcing でいうところのイベントログであり、状態の整合性を高める仕組み(借方・貸方の均衡)を内包したものだと理解しやすくなる。
まとめ
会計は財政状態の遷移を表現するための Event Sourcing で、利害関係者の関心に応じて適切な情報を提供する活動である。Event は複式簿記の仕訳として記録され、整合性を担保したまま財政状態を遷移させることができる。
財政状態は報告主体たる企業が支配する経済的資源およびそれを外部に引き渡す(または放棄する)義務の金銭的価値の均衡を表している。