型付き辺: 出 1 / 入 0
ADR-0017: 33_wrk_bank 集計条件 — 「消込済 AND 自動仕訳 JNL_ID あり」の AND 条件
- Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
- Mode: Standard (内容から推定・旧 README 一覧より移設)
- Kruchten Type: Property
- Scope: product
- Implementation Status: Done (bank 集計条件 AND 実装済)
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 レビューで確定)。
ステータス: 採用済み
コンテキスト
データマートが 33_wrk_bank(決済タブ)から行を読み込む際、どの行を集計対象とするかのフィルター条件を決める必要があった。「消込済」フラグだけを条件にすると、Action B(自動仕訳生成)が実行されていない行まで集計に含まれてしまうリスクがある。
選択肢:
- 案A: 消込済フラグのみで集計(シンプルだが不完全)
- 案B: 消込済 AND 自動仕訳 JNL_ID あり(Action B 処理済を確実に担保)
決定
案B を採用する。 データマートは 消込済 = TRUE かつ 自動仕訳JNL_ID が空でない行のみを集計対象とする。
理由
- ユーザーが手動で消込済フラグを立てたが、Action B の実行を忘れた場合、仕訳が存在しない行が集計に混入してしまう
自動仕訳JNL_ID(TRN_YYYYMMDD_NNNN形式)の存在は「仕訳エンジンが実際に処理した」という証拠であり、単なるフラグより信頼性が高い- ADR-0002 で定義した「Action B 処理済のデータをデータマートが参照する」というフローの具体的な実装
- JNL_ID のフォーマット検証(プレフィックス
TRN_)により、テスト用データや手動入力の混入も検出できる
結果・影響
- ポジティブ: 「消込はしたが仕訳忘れ」という Human Error がデータマートに波及しない
- ポジティブ: JNL_ID の有無で Action B 処理状況が監査可能
- ネガティブ: AND 条件により、意図的に JNL_ID を空にしている行(レガシーデータ等)が集計から除外される。データ移行時に注意が必要
- 関連: Action B バリデーションルール(決済日 > 本日→スキップ、決済日 < INV 発生日→スキップ)と組み合わせることで、不正なデータが JNL_ID を持つことを防いでいる
Confirmation (準拠確認 / Fitness Function)
本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。
- 検証手段: 既存テスト (testT* / test_{slice_id}_{condition})
- 実行頻度: Nightly
- 違反時の対応: Slack 通知