型付き辺: 出 2 / 入 0
ADR-0014: INV ステータス遷移による予算・実績・期ずれの統合管理
- Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
- Mode: Critical (内容から推定・旧 README 一覧より移設)
- Kruchten Type: Property
- Scope: product
- Implementation Status: Done (INV ステータス遷移実装済)
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 レビューで確定)。
ステータス: 採用済み
コンテキスト
財務諸表では「予算」「実績」「期ずれ調整」の 3 つのデータが必要になる。これらを別テーブルで管理するか、INV の状態遷移で表現するかを選択する必要があった。また後払い(未払金)・前払い(前払費用)・前受け(前受金)といった期ずれパターンが複数存在する。
決定
INV の「請求ステータス」遷移で実績/予算を切り替え、期ずれは dmIsAccruedExpense_ による判定で自動処理する。
| 請求ステータス | 財務上の扱い |
|---|---|
| 未処理 | 予算(計画値)として P/L に計上 |
| 承認済 | 実績(確定値)として P/L に計上 |
| 決済完了 | 実績 + 決済 STL が紐づいた状態 |
期ずれ判定:
pYm ≠ sYm(発生月 ≠ 決済月)かつ後払い → 未払金/未払費用 で期ずれ解消- 支払期限 < 発生日(前払い INV)→ 前払費用
- 前受け収入 → 前受金
理由
- ADR-0001(INV を SSOT とする)の延長線上にある決定。予算・実績を別テーブルに持つとデータの二重管理が発生する
- ステータス遷移という状態機械のモデルは、GAS の「メニュー操作→承認→決済」という業務フローと自然に対応する
- 期ずれパターンを
dmIsAccruedExpense_関数に集約することで、データマート層での処理が一元化される(ADR-0006 と整合)
結果・影響
- ポジティブ: 予算と実績が 1 つの INV テーブルで管理でき、予実比較がシンプルなフィルタで実現できる
- ポジティブ: ステータスを見るだけで「この INV は予算か実績か」が判断できる
- ネガティブ: 期ずれパターンが 3 種類あるため、
dmIsAccruedExpense_の条件分岐が複雑になりがち - 注意: P/L INV 消込の未払金解消は「期ずれあり(pYm ≠ sYm)の場合のみ」実行する。同月の場合は二重減算防止のためスキップ
Confirmation (準拠確認 / Fitness Function)
本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。
- 検証手段: 既存テスト (testT* / test_{slice_id}_{condition})
- 実行頻度: Nightly
- 違反時の対応: Slack 通知