• Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
  • Mode: Standard (内容から推定・旧 README 一覧より移設)
  • Kruchten Type: Existence
  • Scope: product
  • Implementation Status: Done (仕訳エンジン・データマート分離実装済)

Kruchten Type は ADR-0031 (2026-05-13) で遡及追加。分類根拠は ADR-0031 §決定セクションおよび docs/adr/README.md の Kruchten 3 分類ガイドを参照。 Status / Mode / Scope は 2026-06-11 に遡及追加 (ADR-0031 corrigendum パターン)。出典: Status = 旧形式「## ステータス」節の機械転記 / Mode = 旧 README §既存 ADR 一覧の推定値 (git 履歴) / Scope = ADR-0049 4 層分類の遡及付与 (PR レビューで確定)。

ステータス: 採用済み

コンテキスト

INV承認→仕訳生成→財務諸表出力のパイプラインを、単一の処理として実装するか、分離するかの選択。

決定

仕訳エンジン (403_subledger_engine.js) とデータマート (6xx_datamart_*.js) を完全に分離する。

  • 仕訳エンジン: INV承認/STL消込のイベントドリブンで42タブに書き込む
  • データマート: 32/33タブからのバッチ読み込みで財務諸表を再構築

理由

  1. GASの6分実行制限により、全処理を1回で実行するとタイムアウトのリスク
  2. 仕訳エンジンは「1回の操作で1回だけ実行」、データマートは「何度実行しても同じ結果」という異なる冪等性モデル
  3. 法人税等の自動計算はP/L完成後にしか計算できないため、仕訳エンジンには組み込めない

結果・影響

  • ポジティブ: 各処理が独立してテスト可能。GASタイムアウトリスクの軽減
  • ポジティブ: データマートは何度再実行しても同じ結果(冪等性が自然に保証)
  • ネガティブ: ユーザーは「Action AAction Bマート更新」と3回メニュー操作が必要

Confirmation (準拠確認 / Fitness Function)

本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。

  • 検証手段: N/A — 要マッピング更新 (ADR-0036 遡及時点で未定義、月次レビューで確定)
  • 実行頻度: —
  • 違反時の対応: —