• 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 が空でない行のみを集計対象とする。

理由

  1. ユーザーが手動で消込済フラグを立てたが、Action B の実行を忘れた場合、仕訳が存在しない行が集計に混入してしまう
  2. 自動仕訳JNL_IDTRN_YYYYMMDD_NNNN 形式)の存在は「仕訳エンジンが実際に処理した」という証拠であり、単なるフラグより信頼性が高い
  3. ADR-0002 で定義した「Action B 処理済のデータをデータマートが参照する」というフローの具体的な実装
  4. 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 通知