ゴールデンテスト
年末調整の税額計算が法令に準拠していることを、国税庁が公開する計算例との完全一致で検証するテスト。
→ パイプラインの全体像は 年税額計算 参照 → 端数処理ルールは 年税額計算 参照
目的
年末調整の税額計算は、1円の誤差も許されない法的要件を伴う。国税庁は毎年「年末調整のしかた」に設例(計算例)を掲載しており、この設例は税額計算の公式な正解として機能する。
ゴールデンテストは、税計算エンジンがこの設例と全ステップで完全一致する結果を返すことを検証し、計算ロジックの正確性を保証する。
実施タイミング
| タイミング | 目的 |
|---|---|
| CI(全PR) | 税計算ロジックへの変更が既存の正確性を壊していないことを検証 |
| 年度更新時のリリースゲート | 新年度の税制パラメータ(税率・控除額・閾値)が正しく設定されていることを保証(→ BF-301 税制改正対応フロー Step 7) |
品質目標
- 全ステップの中間値・最終値が完全一致: 最終結果だけでなく、パイプラインの各ステップ(②〜⑪)の出力値すべてが期待値と一致すること
- 年度別テストの維持: 税制改正により年度ごとにパラメータが変わるため、過去年度のテストケースも削除せず維持し、年度横断での正確性を保証する
- ゴールデンテスト全件パスがリリースの必須条件: 1件でも不一致があればリリースをブロックする
テストケース
NTA設例1: 令和7年分 年末調整(税額計算省略方式)
前提: 本年最後に支払う給与(賞与)についての税額計算を省略して年末調整を行う場合。
入力データ
| # | 項目 | 金額・内容 |
|---|---|---|
| 1 | 年間給与総額(他の所得なし) | 8,970,000円 |
| 2 | 上記給与に対する徴収税額 | 200,700円 |
| 3 | 控除した社会保険料等(給与控除分) | 1,386,102円 |
| 4-1 | 一般の生命保険料: 新生命保険料分 | 25,000円 |
| 4-2 | 一般の生命保険料: 旧生命保険料分 | 80,000円 |
| 4-3 | 介護医療保険料 | 80,000円 |
| 4-4 | 個人年金保険料: 新個人年金保険料分 | 90,000円 |
| 4-5 | 個人年金保険料: 旧個人年金保険料分 | 30,000円 |
| 5-1 | 地震保険料 | 42,000円 |
| 5-2 | 旧長期損害保険料 | 14,800円 |
| 5-注 | 同一契約に基づく地震+旧長期 | なし |
| 6 | 一般の控除対象配偶者(給与所得の金額40万円) | あり |
| 7 | 一般の控除対象扶養親族 | 1人 |
| 8 | 特定扶養親族 | 1人 |
| 9 | 老人扶養親族(同居老親等かつ一般の障害者) | 1人 |
| 10 | 特定親族(給与所得の金額100万円) | 1人 |
| 11 | 住宅借入金等特別控除額 | 76,500円 |
計算過程と期待値
② 給与所得控除後の給与等の金額
8,970,000 − 1,950,000 = 7,020,000円③ 所得金額調整控除額
給与の総額が850万円超で、23歳未満の扶養親族を有する → 適用あり。
(8,970,000 − 8,500,000) × 10% = 47,000円④ 調整控除後の給与所得の金額
7,020,000 − 47,000 = 6,973,000円⑤ 所得控除の合計額
一般の生命保険料の控除額:
新生命保険料: 25,000 × 1/2 + 10,000 = 22,500円
旧生命保険料: 80,000 × 1/4 + 25,000 = 45,000円
新旧合算: 22,500 + 45,000 = 67,500 → 40,000円(上限超過のため切り詰め)
→ 最大の 45,000円(旧生命保険料に係る控除額)を採用介護医療保険料の控除額:
80,000 × 1/4 + 20,000 = 40,000円個人年金保険料の控除額:
新個人年金保険料: 90,000 → 40,000円(80,000超は一律40,000)
旧個人年金保険料: 30,000 × 1/2 + 12,500 = 27,500円
新旧合算: 40,000 + 27,500 = 67,500 → 40,000円(上限超過のため切り詰め)
→ 最大の 40,000円(新旧合算控除額)を採用生命保険料の控除額合計:
45,000 + 40,000 + 40,000 = 125,000 → 120,000円(上限)地震保険料の控除額:
地震保険料: 42,000円
旧長期損害保険料: 14,800 × 2 + 5,000 = 34,600円(※ 旧長期の計算式注意)
合算: 42,000 + 34,600 = 76,600 → 50,000円(上限)注: 地震保険料と旧長期損害保険料が同一契約に基づくものでないため、それぞれ計算して合算。
配偶者控除額: 380,000円
- 本人合計所得金額: 6,973,000円(≤900万円、区分Ⅰ: A)
- 配偶者合計所得金額: 400,000円(≤58万円、区分Ⅱ: ②)
特定親族特別控除額: 410,000円
- 特定親族合計所得金額: 1,000,000円(95万円超100万円以下)
扶養控除額及び障害者等の控除額の合計額: 1,860,000円
- 控除対象扶養親族3人 → 基本控除額 1,140,000円
- 加算: 一般の障害者 +270,000 + 同居老親等 +200,000 + 特定扶養親族 +250,000 = 720,000円
- 合計: 1,140,000 + 720,000 = 1,860,000円
基礎控除額: 580,000円
- 合計所得金額 6,973,000円(655万円超〜2,350万円以下)
所得控除額の合計:
1,386,102 + 120,000 + 50,000 + 380,000 + 410,000 + 1,860,000 + 580,000 = 4,786,102円⑥ 課税給与所得金額
6,973,000 − 4,786,102 = 2,186,898 → 2,186,000円(1,000円未満切捨て)⑦ 算出所得税額
2,186,000 × 10% − 97,500 = 121,100円⑧⑨ 住宅借入金等特別控除 → 年調所得税額
121,100 − 76,500 = 44,600円⑩ 年調年税額
44,600 × 102.1% = 45,536.6 → 45,500円(100円未満切捨て)⑪ 過不足額
45,500 − 200,700 = △155,200円(過納額 → 還付)期待値サマリー
| ステップ | 項目 | 期待値 |
|---|---|---|
| ② | 給与所得控除後の給与等の金額 | 7,020,000円 |
| ③ | 所得金額調整控除額 | 47,000円 |
| ④ | 調整控除後の給与所得の金額 | 6,973,000円 |
| ⑤-a | 生命保険料控除額合計 | 120,000円 |
| ⑤-b | 地震保険料控除額 | 50,000円 |
| ⑤-c | 配偶者控除額 | 380,000円 |
| ⑤-d | 特定親族特別控除額 | 410,000円 |
| ⑤-e | 扶養控除額等合計 | 1,860,000円 |
| ⑤-f | 基礎控除額 | 580,000円 |
| ⑤ | 所得控除額合計 | 4,786,102円 |
| ⑥ | 課税給与所得金額 | 2,186,000円 |
| ⑦ | 算出所得税額 | 121,100円 |
| ⑨ | 年調所得税額 | 44,600円 |
| ⑩ | 年調年税額 | 45,500円 |
| ⑪ | 過不足額 | △155,200円(還付) |
追加テストケースの候補
国税庁設例は1つだが、以下の観点で追加のテストケースを設計する。
境界値テスト(速算表)
| 課税給与所得金額 | 期待される税率区間 |
|---|---|
| 1,949,000円 | 5%区間 |
| 1,950,000円 | 5%区間(以下なので含む) |
| 1,951,000円 | 10%区間 |
| 3,299,000円 | 10%区間 |
| 3,300,000円 | 10%区間 |
| 3,301,000円 | 20%区間 |
エッジケース
- 所得控除合計が調整控除後給与所得を超える場合(課税給与所得金額 = 0)
- 住宅借入金等特別控除額が算出所得税額を超える場合(年調所得税額 = 0)
- 扶養親族なし・保険料控除なしの最小ケース
- 全控除が上限に達するケース
参考: 算出所得税額の速算表(令和7年分)
設例の検証にも使用する速算表。年度バージョニングの対象。
| 課税給与所得金額 (A) | 税率 (B) | 控除額 (C) | 税額 = (A)×(B) − (C) |
|---|---|---|---|
| 1,950,000円以下 | 5% | — | (A) × 5% |
| 1,950,000円超〜3,300,000円以下 | 10% | 97,500円 | (A) × 10% − 97,500 |
| 3,300,000円超〜6,950,000円以下 | 20% | 427,500円 | (A) × 20% − 427,500 |
| 6,950,000円超〜9,000,000円以下 | 23% | 636,000円 | (A) × 23% − 636,000 |
| 9,000,000円超〜18,000,000円以下 | 33% | 1,536,000円 | (A) × 33% − 1,536,000 |
| 18,000,000円超〜18,050,000円以下 | 40% | 2,796,000円 | (A) × 40% − 2,796,000 |
注意: 課税給与所得金額が18,050,000円を超える場合は年末調整の対象外。