Skip to main content

会計を関数にする

limの核心的な設計思想は Accounting = fn(events) です。会計処理をイベントの純粋関数として定義することで、リアルタイム・再現可能・テスト可能な会計システムを実現します。

従来の会計ソフトとの違い

従来の会計ソフト(freee、MFなど)は「画面に入力する」ことが前提です。人間がUIを操作し、勘定科目を選び、金額を入力します。 limは違います:

純粋関数としての会計

同じイベント、同じルール、同じ履歴を入力すれば、常に同じ仕訳が出力されます。この性質により:
  • 再現性: いつでも過去のイベントを再処理できる
  • テスト可能性: 仕訳生成ロジックをユニットテストできる
  • 監査可能性: 仕訳の根拠(どのイベントから生成されたか)を常に追跡できる

シナリオ分析

純粋関数の最大の利点はシナリオ分析です。仮想イベントを入力すれば、財務への影響を即座にシミュレーションできます:

イベントの種類

limが処理するイベントの主な種類です:

イベントソーシングとの関係

limはイベントソーシングの考え方を採用しています。仕訳はイベントから導出されるものであり、イベントが真のソースです。
イベントを保持しているので、ルールを更新して過去の仕訳を再計算することも可能です。
会計の本質は「ビジネスイベントを数値で記録すること」です。limはこの本質を fn(events) として表現しています。

次のステップ

イベント駆動設計

イベントの流れと処理の仕組み。

Judgment Engine

イベントを仕訳に変換するエンジンの詳細。