メインコンテンツへスキップ

会計を関数にする

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

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

従来の会計ソフト(freee、MFなど)は「画面に入力する」ことが前提です。人間がUIを操作し、勘定科目を選び、金額を入力します。 limは違います:
従来の会計ソフトlim
人間が画面に入力イベントが自動で流入
バッチ処理(月次・年次)リアルタイム処理
仕訳 = 手入力データ仕訳 = fn(event)
状態を直接変更イベントから状態を導出
AIはオプションAIが標準

純粋関数としての会計

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

シナリオ分析

純粋関数の最大の利点はシナリオ分析です。仮想イベントを入力すれば、財務への影響を即座にシミュレーションできます:
# 「エンジニア2人採用したら?」
lim scenario create --name "hire-2-engineers"
lim scenario add-event "月給500000円の従業員を2人追加"
lim scenario diff
Scenario: hire-2-engineers vs. current
────────────────────────────────────────
                    Current     Scenario    Diff
Monthly burn        ¥360,000    ¥1,360,000  +¥1,000,000
Runway              7.1 mo      2.6 mo      -4.5 mo
Annual payroll cost ¥4.3M       ¥16.3M      +¥12.0M

イベントの種類

limが処理するイベントの主な種類です:
イベントソース
銀行取引Bank API入出金の検知
請求書受領Webhook請求書PDFの受信
経費申請MCP ToolAI Agentからの経費登録
売上計上API販売システムからの通知
給与確定内部給与計算の完了

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

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

次のステップ