型付き辺: 出 2 / 入 0
ADR-0044: 11_mst_account に税効果科目フラグ(is_tax_effect)を追加する
- Status: Proposed
- Mode: Standard
- Kruchten Type: Existence/Property
- Scope: product
- Implementation Status: Not Started
- 起案者: [email protected]
- 起案日時 (JST): 2026-05-15 19:19
- 承認日時 (JST): -
- Deciders: [email protected] (単独)
コンテキスト
1.1 背景 (Background)
税効果会計への対応が未着手であり、繰延税金資産・負債の算定対象となる科目を管理する仕組みが存在しない。今後、税効果会計の開示対応を進める際に、科目マスタに判定フラグがないと目視確認に頼らざるを得ず、誤記・漏れのリスクが発生する。
1.2 現状 (Current State / As-Is)
11_mst_account には「有効フラグ」「主科目コード」「諸表区分」「大分類」「表示区分」「表示科目」「正式科目名」「固変区分」「デフォルト税率」「科目名」「説明」の 11 列が存在するが、税効果会計に関するフラグ列は存在しない。現在 42 行の科目マスタが管理されている。
1.3 課題 (Problem)
税効果会計対応を実装する際に、対象科目の判定基準がシステムに存在しないため、実装担当者の暗黙知に依存した目視確認が発生する。科目マスタに構造化されたフラグがない状態で税効果帳票を実装すると、科目追加・変更時の漏れ・誤記リスクが累積する。
1.4 制約・要件 (Constraints & Requirements)
- ADR-0011 に従い、列参照はヘッダー名ベース(
buildHeaderIndex_経由)で行うこと。列番号ハードコード禁止 - 科目名キーワードによる自動初期値設定は行わないこと(ADR-0011 分類禁止原則・監査リスク回避)
- DDL(
setupAllSchemas)で管理し、スキーマの単一管理原則を維持すること - 既存行のデフォルト値は FALSE とすること(未確認科目を誤って対象に含めない)
1.5 目標 (Goals / To-Be)
11_mst_account に is_tax_effect 列を追加し、税効果対象科目を構造的に管理できる状態にする。帳票・RPA は当該フラグを buildHeaderIndex_ 経由で参照し、目視確認を排除する。Non-Goals: 繰延税金資産・負債の自動計算、税率変更の自動反映。
決定
11_mst_account に boolean 型の is_tax_effect 列を追加し、DDL(setupAllSchemas)に組み込む。既存行のデフォルト値は FALSE とし、科目名キーワードによる自動初期値設定は行わない。RPA・帳票は buildHeaderIndex_ 経由で参照し、列番号ハードコードを避ける。Kruchten Type は Existence(新しい列の導入)と Property(列参照規約・初期値方針の横断ルール)の複合とする。
検討した代替案 (Alternatives Considered)
評価軸(各 5 点満点): 監査リスク低減 / ADR-0011 準拠 / 保守性 / 学習コスト / 移行コスト
| 評価軸 | 案 A: 列追加(採用) | 案 B: 別シート新設 | 案 C: 現状維持 |
|---|---|---|---|
| 監査リスク低減 | 5 | 4 | 0 |
| ADR-0011 準拠 | 5 | 2 | 3 |
| 保守性 | 5 | 2 | 1 |
| 学習コスト | 5 | 2 | 5 |
| 移行コスト | 3 | 2 | 5 |
| 合計 | 23/25 | 12/25 | 14/25 |
案 A:
11_mst_accountにis_tax_effect列追加(採用)- Good, because DDL 管理・
buildHeaderIndex_参照により ADR-0011 に完全準拠 - Good, because 既存 RPA・帳票の参照パターンと同一で学習コストゼロ
- Good, because 科目マスタに情報が集約されデータの局所性が高い
- Bad, because
101_sys_config.js/40x_rpa_*.js/6x_datamart_*.jsの改修が必要(推定 4〜6 時間)
- Good, because DDL 管理・
案 B: 別シート
11_mst_tax_effectを新設- Good, because 既存シートへの影響が最小
- Bad, because 結合参照が増え保守性が低下(ADR-0011 の「科目マスタ一元管理」原則と対立)
- Bad, because DDL 管理シートが増え
setupAllSchemasの複雑度が上がる - Bad, because 科目追加時に 2 シートを更新する運用コストが発生する
案 C: 現状維持(目視確認継続)
- Good, because 実装コストゼロ
- Bad, because 税効果帳票実装時に暗黙知依存が固着し、科目数増加とともに誤記リスクが累積する
- Bad, because Jr. 入社時(D-180)に判定ルールが引き継げず属人性が永続する
影響 (Consequences)
5.1 正の影響 (Good)
Existence 影響(新規列の導入)
- Good, because
is_tax_effect列が11_mst_accountに追加されることで、税効果科目の管理が構造化され、将来の税効果帳票実装時に目視確認・暗黙知依存なく対象科目を特定できる - Good, because 科目マスタに情報が集約され、データの局所性が高まる
Property 影響(横断ルール)
- Good, because
buildHeaderIndex_経由参照ルールが本列にも適用されることで、将来の列移動・列追加に対して耐性がある - Good, because 科目追加・税率変更時の対応工数が 1 件あたり 2h → 30 分に削減見込み(
is_tax_effectの確認が 1 列参照で完結するため)
5.2 負の影響 (Bad)
- Bad, because 初期値 FALSE 期間(実装〜科目マスタ手動設定完了まで最大 2 週間)は税効果対象科目が未設定のまま運用されるリスクがある。対応: 実装 PR マージ後 5 営業日以内に t_saitoh が
11_mst_accountの全 42 行を確認しis_tax_effectを手動設定する。設定完了後に PR コメントで報告する - Bad, because
101_sys_config.js・40x_rpa_*.js・6x_datamart_*.jsの改修工数が 4〜6 時間(テスト・レビュー込みで計 6〜8 時間)発生する - Bad, because 科目マスタが 100 行超(現在 42 行、年間増加ペース約 5 行)になる 2034 年頃にフラグ管理コストが増大し始める。その時点で別シート分割(案 B)への移行を再評価する
5.3 中立・トレードオフ (Neutral / Trade-offs)
- Neutral:
buildHeaderIndex_キャッシュズレ・列追加後の既存テスト誤検知リスクはsetupAllSchemas再実行と全 RPA テストで解消できる - Neutral: 税効果会計の実際の帳票実装(繰延税金資産・負債の計算)は本 ADR のスコープ外であり、別 ADR で起案する
Status / Mode / Scope は 2026-06-11 に遡及追加 (ADR-0031 corrigendum パターン)。出典: Status = 旧形式「## ステータス」節の機械転記 / Mode = 旧 README §既存 ADR 一覧の推定値 (git 履歴) / Scope = ADR-0049 4 層分類の遡及付与 (PR レビューで確定)。
撤退条件 (Rollback Plan)
- ロールバック手順:
setupAllSchemas再実行で列削除可能。各 RPA・帳票はindexOfが -1 の場合に既存動作へフォールバックするよう防御的実装を行う。ロールバック時は手動設定済みのis_tax_effect=TRUEデータは失われるため、事前に CSV エクスポートで退避する - 再評価トリガー: 追加後 2 週間で RPA エラー率が導入前比 +5% 超、または監査担当から構造上の懸念が出た場合
- 判定タイミング: 実装後 2 週間、および Review After: 2026-11-15(6 ヶ月後)
- 判定主体: [email protected]
Confirmation (準拠確認 / Fitness Function)
- 検証手段:
- (自動)変更時テスト表(CLAUDE.md)に従い、
40x_rpa_*.js改修時は全 RPA テスト、101_sys_config.js改修時はsetupAllSchemas→ 全テストを実施 - (自動)
buildHeaderIndex_経由参照であることをコードレビューで確認(列番号ハードコード禁止) - (手動)実装 PR マージ後 5 営業日以内に
is_tax_effect=TRUEの件数が 1 件以上設定されていること(科目マスタ手動設定完了の証跡)
- (自動)変更時テスト表(CLAUDE.md)に従い、
- 完了の数値基準:
is_tax_effect=TRUEの設定件数 ≥ 1 件(初回)、全 RPA テスト合格、setupAllSchemasエラーなし - 実行頻度: 実装 PR ごと(自動)、設定完了確認は実装後 5 営業日以内(手動)
- 違反時の対応: テスト失敗時は PR マージ禁止。列番号ハードコードが発見された場合は ADR-0011 違反として差し戻し。5 営業日以内に手動設定が完了しない場合は実装 PR を Revert する
参照 (References)
- 関連 ADR: ADR-0011(列参照はヘッダー名ベース・分類禁止原則に準拠)、ADR-0013(Env モジュール経由)
- 関連 PR/Issue: PR #555(旧形式 ADR ドラフト、Close 済み)
- 関連タスク: MAS-364(TODO_future.md)
- 外部資料: -