{
  "schema": 1,
  "taxYear": "2026-27",
  "about": "Hand-verified golden vectors. Never generated by code. Change only via `npm run vectors:golden -- --ledger <ID> --cases <file>` (docs/ACCURACY-LEDGER.md).",
  "kinds": {
    "annual-summary": "{gross, rUK:{tax,ni,net}, scotland:{tax,net}, plan2} — standard code, no pension",
    "annual": "{input: engine Input, expect: {incomeTax?, ni?, studentLoan?, pensionFromPay?, net?, personalAllowance?}}",
    "payslip": "{input, period: 'month'|'week', expect: {tax?, ni?, studentLoan?, net?}}",
    "statutory": "{calc: 'smp'|'spp'|'shpp'|'ssp', input, expect} — schedule checks, added with the statutory engine"
  },
  "cases": [
    {
      "kind": "annual-summary",
      "gross": 25000,
      "rUK": {
        "tax": 2486,
        "ni": 993.96,
        "net": 21520.04
      },
      "scotland": {
        "tax": 2446.33,
        "net": 21559.71
      },
      "plan2": 0,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 25000.00 = eleven payments of GBP 2083.33 and GBP 2083.37 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2083.33 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 994.40 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 993.96; rUK.net and scotland.net each rise by the same GBP 0.44 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 35000,
      "rUK": {
        "tax": 4486,
        "ni": 1793.88,
        "net": 28720.12
      },
      "scotland": {
        "tax": 4501.07,
        "net": 28705.05
      },
      "plan2": 505,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 35000.00 = eleven payments of GBP 2916.67 and GBP 2916.63 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2916.67 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 1794.40 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 1793.88; rUK.net and scotland.net each rise by the same GBP 0.52 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 50000,
      "rUK": {
        "tax": 7486,
        "ni": 2993.88,
        "net": 39520.12
      },
      "scotland": {
        "tax": 8982.05,
        "net": 38024.07
      },
      "plan2": 1855,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 50000.00 = eleven payments of GBP 4166.67 and GBP 4166.63 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 4166.67 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 2994.40 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 2993.88; rUK.net and scotland.net each rise by the same GBP 0.52 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 60000,
      "rUK": {
        "tax": 11432,
        "ni": 3210,
        "net": 45358
      },
      "scotland": {
        "tax": 13182.05,
        "net": 43607.95
      },
      "plan2": 2755,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 60000.00 = eleven payments of GBP 5000.00 and GBP 5000.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 5000.00 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 3210.60 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 3210.00; rUK.net and scotland.net each rise by the same GBP 0.60 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 100000,
      "rUK": {
        "tax": 27432,
        "ni": 4010.04,
        "net": 68557.96
      },
      "scotland": {
        "tax": 30732.05,
        "net": 65257.91
      },
      "plan2": 6355,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 100000.00 = eleven payments of GBP 8333.33 and GBP 8333.37 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 8333.33 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 4010.60 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 4010.04; rUK.net and scotland.net each rise by the same GBP 0.56 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 110000,
      "rUK": {
        "tax": 33432,
        "ni": 4209.96,
        "net": 72358.04
      },
      "scotland": {
        "tax": 37482.05,
        "net": 68307.99
      },
      "plan2": 7255,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 110000.00 = eleven payments of GBP 9166.67 and GBP 9166.63 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 9166.67 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 4210.60 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 4209.96; rUK.net and scotland.net each rise by the same GBP 0.64 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 125140,
      "rUK": {
        "tax": 42516,
        "ni": 4512.84,
        "net": 78111.16
      },
      "scotland": {
        "tax": 47701.55,
        "net": 72925.61
      },
      "plan2": 8617,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 125140.00 = eleven payments of GBP 10428.33 and GBP 10428.37 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 10428.33 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 4513.40 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 4512.84; rUK.net and scotland.net each rise by the same GBP 0.56 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual-summary",
      "gross": 150000,
      "rUK": {
        "tax": 53703,
        "ni": 5010,
        "net": 91287
      },
      "scotland": {
        "tax": 59634.35,
        "net": 85355.65
      },
      "plan2": 10855,
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | UNCHANGED and carried forward from L-2026-039, which remains the provenance of these fields: plan2: hand-derived from SI 2009/470 reg. 44(1)-(3) with reg. 44(2)(a) (annual earnings period) and HMRC SA110 Notes 2026 page TCSN 27 box 3 ('Do not include pence in this box; round down the amount to the nearest whole pound'); Plan 2 threshold GBP29,385 and 9% from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. tax/ni/net: hand: research/uk-competitors.md §3.13 (annual liability, 1257L/S1257L, no pension)",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 150000.00 = eleven payments of GBP 12500.00 and GBP 12500.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 12500.00 give the same year, so the month-12 residue decides nothing here. Employee (primary) Class 1 only, ordinary non-director, no reg. 21 annual maximum and no reg. 3(2A) notice. The year's NI falls from GBP 5010.60 (the annual-threshold basis, which is wrong in its basis for a non-director) to GBP 5010.00; rUK.net and scotland.net each rise by the same GBP 0.60 because National Insurance is not devolved and is identical in both regions. Income tax is untouched: a cumulative code does settle the year, so rUK.tax, scotland.tax and plan2 keep their L-2026-039 values. | band and taper coverage across rUK and Scotland; plan2 corrected to whole pounds (pence ignored) under L-2026-039 — a student loan repayment is never expressed in pence on any basis",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 29380,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan1"
        ]
      },
      "period": "week",
      "expect": {
        "studentLoan": 4
      },
      "source": "https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables — HMRC's own published worked example, quoted verbatim: \"Deduct the 'pay period threshold' of GBP517.30 from the weekly earnings of GBP565. The excess is GBP47.70. Multiply GBP47.70 by 0.09. GBP4.29. Round down GBP4.29 to the nearest GBP. GBP4.00\". Weekly Plan 1 threshold GBP517.30 confirmed independently at https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Annual gross 29,380 is chosen so that weekly pay is exactly GBP565.00 (29,380 / 52).",
      "why": "SL3 case SL-X-01 — HMRC's published weekly Plan 1 worked example, reproduced exactly. The payroll-grade criterion in docs/05 requires every official worked example to be reproduced; this is one of only two that exist for student loans in 2026/27. It is reproduction of an official example, NOT a discriminator: at these figures the defective whole-pound threshold GBP517 also gives GBP4 (48.00 x 9% = 4.32), and the pay figure is exact, so nothing about the threshold or the pay convention is pinned by it.",
      "ledger": "L-2026-039"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 24996,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 19
      },
      "source": "https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables — HMRC's own published worked example, quoted verbatim: \"Deduct the 'pay period threshold' of GBP1,750 from the monthly earnings of GBP2,083. The excess is GBP333. Multiply GBP333 by 0.06. GBP19.98. Round down GBP19.98 to the nearest GBP. GBP19.00\". Monthly Postgraduate Loan threshold GBP1,750.00 confirmed independently at https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Annual gross 24,996 is chosen so that monthly pay is exactly GBP2,083.00 (24,996 / 12).",
      "why": "SL3 case SL-X-02 — HMRC's published monthly Postgraduate Loan worked example, reproduced exactly. Mandatory under the payroll-grade criterion in docs/05. It is reproduction of an official example, NOT a discriminator: the Postgraduate monthly threshold is a whole GBP1,750 either way and the pay figure is exact, so no rounding rule is pinned by it.",
      "ledger": "L-2026-039"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 25000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2",
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 19
      },
      "source": "Hand-derived from SL3 (https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables) and SI 2009/470 reg. 44(1), (2A) and (3) (https://www.legislation.gov.uk/uksi/2009/470/regulation/44). Published period thresholds from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027: Plan 2 GBP2,448.75 a month, Postgraduate Loan GBP1,750.00 a month. Steps: monthly pay 25,000 / 12 = 2,083.33 (to the penny); Plan 2 excess nil, so nil; PGL 2,083.33 - 1,750.00 = 333.33 x 6% = 19.9998, pence ignored = 19; two separate whole-pound repayments added = 19. hand: docs/payroll-period-findings.md §2.5 (ruling on L-2026-002, engine 19 correct, reference 20 wrong).",
      "why": "L-2026-002 disputed case SL-M-01. Pins the convention that the pay figure for a period is resolved to the penny before it is used as earnings: GBP2,083.33 gives 19, while the unrounded GBP2,083.3333 gives exactly 20 (4,000 / 12 x 6%), which is what the reference calculator returned. It does NOT discriminate per-loan against combined-total rounding, because the Plan 2 excess here is nil so only one repayment exists — that property is pinned by the 40,000 and 100,000 cases, where combined rounding gives 174 and 924.",
      "ledger": "L-2026-002"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 35000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2",
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 112
      },
      "source": "Hand-derived from SL3 and SI 2009/470 reg. 44(1), (2A), (3); thresholds Plan 2 GBP2,448.75 and PGL GBP1,750.00 a month from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: monthly pay 35,000 / 12 = 2,916.6666... = 2,916.67 to the penny; Plan 2 2,916.67 - 2,448.75 = 467.92 x 9% = 42.1128 -> 42; PGL 2,916.67 - 1,750.00 = 1,166.67 x 6% = 70.0002 -> 70; total 112. hand: docs/payroll-period-findings.md §2.5.",
      "why": "L-2026-002 disputed case SL-M-02. The PGL leg sits a fifth of a penny above GBP70, so it is destroyed by any floating-point period pay figure (35,000/12 as a double gives 69.99999999999999 -> 69) and by truncating the pay figure instead of rounding it. This is the case that caught the reference calculator's float arithmetic.",
      "ledger": "L-2026-002"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 40000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2",
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 173
      },
      "source": "Hand-derived from SL3 and SI 2009/470 reg. 44(1), (2A), (3); thresholds from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: monthly pay 40,000 / 12 = 3,333.33; Plan 2 3,333.33 - 2,448.75 = 884.58 x 9% = 79.6122 -> 79; PGL 3,333.33 - 1,750.00 = 1,583.33 x 6% = 94.9998 -> 94; total 173. hand: docs/payroll-period-findings.md §2.5.",
      "why": "L-2026-002 disputed case SL-M-03. The PGL leg is two ten-thousandths of a pound below GBP95: an unrounded period pay figure gives 95 and a wrong answer of 174.",
      "ledger": "L-2026-002"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 100000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2",
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 923
      },
      "source": "Hand-derived from SL3 and SI 2009/470 reg. 44(1), (2A), (3); thresholds from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: monthly pay 100,000 / 12 = 8,333.33; Plan 2 8,333.33 - 2,448.75 = 5,884.58 x 9% = 529.6122 -> 529; PGL 8,333.33 - 1,750.00 = 6,583.33 x 6% = 394.9998 -> 394; total 923. hand: docs/payroll-period-findings.md §2.5.",
      "why": "L-2026-002 disputed case SL-M-04. Same knife-edge as SL-M-03 at a salary above the upper earnings limit and with no personal allowance, so it also exercises the deduction stack on a high-pay payslip.",
      "ledger": "L-2026-002"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 110000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2",
          "pg"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 1049
      },
      "source": "Hand-derived from SL3 and SI 2009/470 reg. 44(1), (2A), (3); thresholds from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: monthly pay 110,000 / 12 = 9,166.6666... = 9,166.67; Plan 2 9,166.67 - 2,448.75 = 6,717.92 x 9% = 604.6128 -> 604; PGL 9,166.67 - 1,750.00 = 7,416.67 x 6% = 445.0002 -> 445; total 1049. hand: docs/payroll-period-findings.md §2.5.",
      "why": "L-2026-002 disputed case SL-M-05. The PGL leg sits just above GBP445, so truncating rather than rounding the period pay figure loses a pound.",
      "ledger": "L-2026-002"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 29510,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan2"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 0
      },
      "source": "Hand-derived. Plan 2 monthly pay period threshold GBP2,448.75, rate 9%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables. Rounding of the threshold fixed by SI 2009/470 reg. 44(2)(b) (the period threshold \"bears the same relation to the repayment threshold ... as the number of ... months of the earnings period ... bears to the number of ... months in the tax year\") with SL3's \"Round down the resulting figure to the nearest penny\". Steps: monthly pay 29,510 / 12 = 2,459.17; 2,459.17 - 2,448.75 = 10.42 x 9% = 0.9378; pence ignored (reg. 44(3)) = 0. hand: docs/payroll-period-findings.md §2.4/§2.6.",
      "why": "SL-M-06. The smallest Plan 2 salary at which the whole-pound threshold defect of L-2026-036 bites: with the borrower-facing GBP2,448 both implementations deducted GBP1 where nothing is due. Pins the published GBP2,448.75 to the penny.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 34059,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan4"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 1
      },
      "source": "Hand-derived. Plan 4 monthly pay period threshold GBP2,816.25, rate 9%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and SL3. Steps: monthly pay 34,059 / 12 = 2,838.25 exactly; 2,838.25 - 2,816.25 = 22.00 x 9% = 1.98; pence ignored (SI 2009/470 reg. 44(3)) = 1. hand: docs/payroll-period-findings.md §2.4/§2.6.",
      "why": "SL-M-07. Only golden case for Plan 4 on any basis. The lowest Plan 4 salary where the whole-pound threshold GBP2,816 gives GBP2 against the correct GBP1, so it pins the 25p in the published threshold.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 27026,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan1"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 0
      },
      "source": "Hand-derived. Plan 1 monthly pay period threshold GBP2,241.66, rate 9%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and SL3. Steps: monthly pay 27,026 / 12 = 2,252.17; 2,252.17 - 2,241.66 = 10.51 x 9% = 0.9459; pence ignored (SI 2009/470 reg. 44(3)) = 0. hand: docs/payroll-period-findings.md §2.4/§2.6.",
      "why": "SL-M-08. Pins the Plan 1 monthly threshold at GBP2,241.66 — the truncation case (26,900 / 12 = 2,241.6666..., so .66 and not .67). A whole-pound GBP2,241 deducts GBP1 that is not due.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 25130,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan5"
        ]
      },
      "period": "month",
      "expect": {
        "studentLoan": 0
      },
      "source": "Hand-derived. Plan 5 monthly pay period threshold GBP2,083.33, rate 9%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and SL3. Steps: monthly pay 25,130 / 12 = 2,094.17; 2,094.17 - 2,083.33 = 10.84 x 9% = 0.9756; pence ignored (SI 2009/470 reg. 44(3)) = 0. hand: docs/payroll-period-findings.md §2.4/§2.6.",
      "why": "SL-M-09. Only golden case for Plan 5 on any basis, and pins its monthly threshold at GBP2,083.33 against the whole-pound GBP2,083, which deducts GBP1 that is not due.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 25000,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "pg"
        ]
      },
      "period": "week",
      "expect": {
        "studentLoan": 4
      },
      "source": "Hand-derived. Postgraduate Loan weekly pay period threshold GBP403.84, rate 6%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 (\"GBP21,000 per year / GBP1,750 per month / GBP403.84 per week\") and SL3. Steps: weekly pay 25,000 / 52 = 480.7692... = 480.77 to the penny; 480.77 - 403.84 = 76.93 x 6% = 4.6158; pence ignored (SI 2009/470 reg. 44(3)) = 4. hand: docs/payroll-period-findings.md §2.6.",
      "why": "SL-W-01. Weekly Postgraduate Loan on an ordinary salary: covers the weekly period path and the 6% rate. NOT a discriminator for the weekly threshold — the published GBP403.84 and the defective whole-pound GBP403 both give GBP4 (76.93 x 6% = 4.6158 and 77.77 x 6% = 4.6662, both floor to 4), so this case cannot fail if the L-2026-036 defect is reintroduced weekly. Do not read it as coverage of the weekly threshold: that is pinned by the gross 21,830 weekly case added under L-2026-036.",
      "ledger": "L-2026-039"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 60000,
        "region": "rUK",
        "taxCode": "1257L",
        "pension": {
          "type": "sacrifice",
          "pct": 5
        }
      },
      "period": "month",
      "expect": {
        "ni": 262.5
      },
      "source": "Hand-derived. Class 1 employee period thresholds and rates, https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027: primary threshold GBP1,048 a month, upper earnings limit GBP4,189 a month, 8% between them and 2% above. A pension salary sacrifice reduces the cash earnings and the employer contribution is disregarded in computing earnings for NICs: Social Security (Contributions) Regulations 2001 Sch. 3 Part VI para. 2, https://www.legislation.gov.uk/uksi/2001/1004/schedule/3/part/VI (\"A payment by way of employer's contribution towards a registered pension scheme\"). Steps: monthly pay 60,000 / 12 = 5,000.00; sacrifice 5% = 250.00; earnings for NICs 4,750.00; (4,189 - 1,048) = 3,141 x 8% = 251.28; (4,750 - 4,189) = 561 x 2% = 11.22; each band rounded to the nearest penny and then added (CWG2 2026-27 §1, CA44 §40) = 262.50.",
      "why": "Salary sacrifice on the period basis: the only golden case proving that a sacrifice reduces the earnings figure used for National Insurance in a pay period. Paired with the net pay and relief at source cases at the identical salary, which must give GBP267.50. All figures are exact pence, so no rounding convention is assumed.",
      "ledger": "L-2026-061"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 60000,
        "region": "rUK",
        "taxCode": "1257L",
        "pension": {
          "type": "netpay",
          "pct": 5
        }
      },
      "period": "month",
      "expect": {
        "ni": 267.5
      },
      "source": "Hand-derived. Class 1 employee period thresholds and rates from https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 (monthly primary threshold GBP1,048, upper earnings limit GBP4,189, 8% and 2%). An employee's own pension contribution does not reduce earnings for NICs: CWG2 2026 to 2027 §2.1, https://www.gov.uk/government/publications/cwg2-further-guide-to-paye-and-national-insurance-contributions/2026-to-2027-employer-further-guide-to-paye-and-national-insurance-contributions — \"When completing your payroll records for: PAYE purposes deduct the pension contributions from the employee's gross pay; National Insurance contributions purposes do not deduct the pension contributions from the employee's gross pay\". Steps: monthly pay 5,000.00; earnings for NICs 5,000.00; 3,141 x 8% = 251.28; (5,000 - 4,189) = 811 x 2% = 16.22; total 267.50.",
      "why": "Net pay arrangement on the period basis. Together with the sacrifice case at the same salary this is the only hand-verified proof that the three pension types are not interchangeable in a pay period: sacrifice gives GBP262.50, net pay gives GBP267.50.",
      "ledger": "L-2026-061"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 60000,
        "region": "rUK",
        "taxCode": "1257L",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "period": "month",
      "expect": {
        "ni": 267.5
      },
      "source": "Hand-derived. Class 1 employee period thresholds and rates: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 (monthly primary threshold GBP1,048, upper earnings limit GBP4,189, 8% and 2%). Relief at source is NOT a deduction from earnings, so no rule about deductions is needed to reach the answer: under Finance Act 2004 s.192(1), https://www.legislation.gov.uk/ukpga/2004/12/section/192, the contribution is paid by the individual out of pay already received and the individual \"is entitled, on making the payment, to deduct and retain out of it a sum equal to income tax on the contribution at the relevant rate\", which the scheme administrator then reclaims from HMRC under s.192(2)-(3). The earnings figure for National Insurance is therefore the whole of the pay. Steps: monthly pay 60,000 / 12 = 5,000.00; earnings for NICs 5,000.00; (4,189 - 1,048) = 3,141 x 8% = 251.28; (5,000 - 4,189) = 811 x 2% = 16.22; each band rounded to the nearest penny with GBP0.005 disregarded and then added (CWG2 2026-27 §1; CA44 §40) = 267.50.",
      "why": "Relief at source on the period basis. Gives the same National Insurance as the net pay case, GBP267.50, but for a different reason: a net pay contribution IS deducted from pay and CWG2 §2.1 says not to deduct it for National Insurance purposes, whereas a relief at source contribution is paid out of pay the employee has already received and never touches the earnings figure at all. Holding both pins relief at source apart from salary sacrifice (GBP262.50), so a future refactor cannot quietly treat relief at source as a sacrifice.",
      "ledger": "L-2026-061"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 60000,
        "region": "rUK",
        "taxCode": "1257L",
        "overSPA": true
      },
      "period": "month",
      "expect": {
        "ni": 0
      },
      "source": "Hand-derived. https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 — an employee over the State Pension age is category C, for which the employee contribution is nil at every earnings level. The employee's liability ends at State Pension age under the Social Security Contributions and Benefits Act 1992 s.6(3), https://www.legislation.gov.uk/ukpga/1992/4/section/6. Steps: monthly pay 60,000 / 12 = 5,000.00; employee Class 1 nil.",
      "why": "Over State Pension age on the period basis: employee National Insurance stops entirely, while income tax and student loan deductions do not. The same salary without overSPA pays GBP267.50 a month, so this case fails loudly if the flag is ignored in the payslip path.",
      "ledger": "L-2026-062"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 21830,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "pg"
        ]
      },
      "period": "week",
      "expect": {
        "studentLoan": 0
      },
      "source": "Hand-derived. Postgraduate Loan weekly pay period threshold GBP403.84, rate 6%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 (\"GBP21,000 per year / GBP1,750 per month / GBP403.84 per week\") and https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables. The threshold rounding is fixed by SI 2009/470 reg. 44(2)(b) with SL3's \"Round down the resulting figure to the nearest penny\" (21,000 / 52 = 403.8461..., so GBP403.84 and not GBP403.85). Steps: weekly pay 21,830 / 52 = 419.8076... = 419.81 to the penny; 419.81 - 403.84 = 15.97 x 6% = 0.9582; pence ignored (reg. 44(3)) = 0.",
      "why": "Pins the weekly Postgraduate Loan threshold to the penny, which SL-W-01 does not: with the defective whole-pound GBP403 of L-2026-036 the excess is 16.81, 16.81 x 6% = 1.0086 and GBP1 is deducted where nothing is due. Chosen as the salary where the correct answer sits just under the first whole pound, so the case fails if weekly thresholds are ever derived as whole pounds again.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 45000.55,
        "region": "rUK"
      },
      "expect": {
        "taxable": 32430,
        "incomeTax": 6486,
        "ni": 2593.92,
        "net": 35920.63
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived, from the documents and not from either implementation. Whole-pound base: HMRC Tax Tables B to D 2026 to 2027, printed page 2, https://assets.publishing.service.gov.uk/media/69a05a803e672177d0bc773f/Tax_Tables_B-D_2026_to_2027.pdf — \"Total taxable pay to date GBP1,960.32 / Rounded down to the nearest pound GBP1,960 / This is the taxable pay to be used in the calculations using these tax tables\", stated of the cumulative to-date figure, which at month 12 is the year. Personal allowance GBP12,570: https://www.gov.uk/income-tax-rates. Bands: ITA 2007 s.10, https://www.legislation.gov.uk/ukpga/2007/3/section/10, with the 2026/27 figures at https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 (20% on the first GBP37,700). Class 1 employee: primary threshold GBP12,570, upper earnings limit GBP50,270, 8% and 2%, same page; each band to the nearest penny with GBP0.005 disregarded (CWG2 2026-27 para 1). Steps: 45,000.55 - 12,570 = 32,430.55; DOWN TO THE WHOLE POUND = 32,430, which is inside the basic band (GBP37,700); 32,430 x 20% = 6,486.00. NI: 45,000.55 - 12,570 = 32,430.55 x 8% = 2,594.444 = 2,594.44. Net = 45,000.55 - 6,486.00 - 2,594.44 = 35,920.11. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 45000.55 = eleven payments of GBP 3750.05 and GBP 3750.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 3750.05 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 2594.44 (annual-threshold basis) to GBP 2593.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | L-2026-040 had NO golden coverage at all: removing floorToPound from chargeForCode leaves all 25 existing cases passing (reproduced 2026-09-17 with a mutant engine, 41 assertions, 0 failing), because all eight annual-summary cases use a whole-pound gross, no pension and the standard code, so the base is already a whole pound. This is the closing case: a gross carrying pence, so the base is 32,430.55 and the floor is load-bearing. Falsified: mutant M1 (floor removed) gives taxable 32,430.55, incomeTax 6,486.11, net 35,920.00 — three assertions fail.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 45000.55,
        "region": "scotland"
      },
      "expect": {
        "taxable": 32430,
        "incomeTax": 6882.05,
        "ni": 2593.92,
        "net": 35524.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Same whole-pound rule and source as the rUK case (Tax Tables B to D 2026 to 2027, page 2). Scottish bands on taxable income, https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and https://www.gov.uk/scottish-income-tax: starter 19% to GBP3,967, basic 20% to GBP16,956, intermediate 21% to GBP31,092, higher 42% to GBP62,430. Steps: 45,000.55 - 12,570 = 32,430.55, floored to 32,430; 3,967 x 19% = 753.73; (16,956 - 3,967) = 12,989 x 20% = 2,597.80; (31,092 - 16,956) = 14,136 x 21% = 2,968.56; (32,430 - 31,092) = 1,338 x 42% = 561.96; total 6,882.05. National Insurance is UK-wide: 32,430.55 x 8% = 2,594.44. Net = 45,000.55 - 6,882.05 - 2,594.44 = 35,524.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 45000.55 = eleven payments of GBP 3750.05 and GBP 3750.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 3750.05 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 2594.44 (annual-threshold basis) to GBP 2593.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The L-2026-040 ruling says the floor applies to \"every tax code and both regions\", and nothing tested the Scottish side of it. The pence are worth more here than in England because they fall in the 42% band. Falsified: mutant M1 gives incomeTax 6,882.28 and net 35,523.83. The intermediate-band arithmetic is the same ladder the L-2026-090 ruling derives by hand for taxable 32,430, so the two derivations corroborate each other.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 35001,
        "region": "rUK",
        "pension": {
          "type": "netpay",
          "pct": 5
        }
      },
      "expect": {
        "taxable": 20680,
        "incomeTax": 4136,
        "ni": 1794,
        "pensionFromPay": 1750.05,
        "net": 27320.95
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2 (quoted in the 45,000.55 case). Net pay arrangement: CWG2 2026 to 2027 para 2.1, https://www.gov.uk/government/publications/cwg2-further-guide-to-paye-and-national-insurance-contributions/2026-to-2027-employer-further-guide-to-paye-and-national-insurance-contributions — \"When completing your payroll records for: PAYE purposes deduct the pension contributions from the employee's gross pay; National Insurance contributions purposes do not deduct the pension contributions from the employee's gross pay\". Steps: contribution 5% of 35,001 = 1,750.05 exactly; pay for tax 35,001 - 1,750.05 = 33,250.95; less the allowance 12,570 = 20,680.95; DOWN TO THE WHOLE POUND = 20,680; x 20% = 4,136.00. National Insurance on the undiminished 35,001: (35,001 - 12,570) = 22,431 x 8% = 1,794.48. Net = 35,001 - 4,136.00 - 1,794.48 - 1,750.05 = 27,320.47. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 35001.00 = eleven payments of GBP 2916.75 and GBP 2916.75 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2916.75 give the same year, so the month-12 residue decides nothing here. A net pay pension contribution does NOT reduce earnings for NI, so the NI-able year is the full gross. The year's NI falls from GBP 1794.48 (annual-threshold basis) to GBP 1794.00 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The second way to put pence in the annual base, and the one the red team's oracle cross-check names (difference class B, GBP35,001 with a 5% pension). A whole-pound salary with a whole-percentage contribution still lands on a half-pound base, which is why the floor moves real money on ordinary inputs and not only on odd ones. Falsified twice: mutant M1 (no floor) gives incomeTax 4,136.19 and net 27,320.28; mutant M15 (a net pay contribution not deducted before tax) gives taxable 22,431 and incomeTax 4,486.20. It is therefore also the only vector that pins CWG2 para 2.1 on the annual basis.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 60000.5,
        "region": "rUK",
        "taxCode": "0T"
      },
      "expect": {
        "personalAllowance": 0,
        "taxable": 60000,
        "incomeTax": 16460,
        "ni": 3210,
        "net": 40330.5
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2. Code 0T: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"0T: your Personal Allowance has been used up, or you've started a new job and your employer does not have the details they need to give you a tax code\"; a numbered suffix code carries its number x GBP10 of allowance (HMRC, Specification for PAYE tax table routines v24.0 para 4.3.1, https://assets.publishing.service.gov.uk/media/698c9824bd090be481c2879a/PAYErout-v24-0.odt), so code 0 carries nil. 0T is a cumulative code taxed on the full band ladder, not a flat-rate code. Steps: allowance nil; 60,000.50 floored to 60,000; 37,700 x 20% = 7,540.00; (60,000 - 37,700) = 22,300 x 40% = 8,920.00; total 16,460.00. NI: (50,270 - 12,570) = 37,700 x 8% = 3,016.00; (60,000.50 - 50,270) = 9,730.50 x 2% = 194.61; total 3,210.61. Net = 60,000.50 - 16,460.00 - 3,210.61 = 40,329.89. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 60000.50 = eleven payments of GBP 5000.04 and GBP 5000.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 5000.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 3210.61 (annual-threshold basis) to GBP 3210.00 and net rises by the same GBP 0.61. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | No golden vector used any code but 1257L. This one is chosen above the basic rate limit so that 0T is distinguishable from BR (both give 20% below GBP37,700; only above it do they part). Falsified twice: mutant M1 (no whole-pound floor) gives incomeTax 16,460.20; mutant M13 (a numbered code given the standard allowance instead of its own number x 10) gives personalAllowance 12,570 and incomeTax 11,432.00. NOTE, and it is deliberate: this case is ANNUAL only. The free pay a code of 0 gives in a PAY PERIOD is unsettled — neither branch of PAYE spec para 4.3.1c covers a code number of 0, and the engine's present 75p a month is referred to rules-second-reviewer — so no payslip vector on 0T is written here and today's behaviour is not codified.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000.5,
        "region": "rUK",
        "taxCode": "BR"
      },
      "expect": {
        "taxable": 30000,
        "incomeTax": 6000,
        "ni": 1393.92,
        "net": 22606.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2, which routes BR and D codes through the same whole-pound figure with no table at all. Code BR: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"BR: all your income from this job or pension is taxed at the basic rate (usually used if you've got more than one job or pension)\". Basic rate 20%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: 30,000.50 floored to 30,000; x 20% = 6,000.00. NI: (30,000.50 - 12,570) = 17,430.50 x 8% = 1,394.44. Net = 30,000.50 - 6,000.00 - 1,394.44 = 22,606.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.50 = eleven payments of GBP 2500.04 and GBP 2500.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.44 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | First BR vector. Falsified by mutant M1 (no floor): incomeTax 6,000.10, net 22,605.96. It does NOT by itself discriminate BR from 0T at this salary — both are 20% below GBP37,700 — which is why the 0T case sits at GBP60,000.50 instead.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000.5,
        "region": "rUK",
        "taxCode": "D0"
      },
      "expect": {
        "taxable": 30000,
        "incomeTax": 12000,
        "ni": 1393.92,
        "net": 16606.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2. Code D0: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"D0: all your income from this job or pension is taxed at the higher rate (usually used if you've got more than one job or pension)\". Higher rate 40%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: 30,000.50 floored to 30,000; x 40% = 12,000.00. NI as the BR case = 1,394.44. Net = 30,000.50 - 12,000.00 - 1,394.44 = 16,606.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.50 = eleven payments of GBP 2500.04 and GBP 2500.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.44 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | First D0 vector. Falsified twice: mutant M1 (no floor) gives 12,000.20; mutant M11 (every flat code taxed at the basic rate) gives 6,000.00. The second is the regression that matters — a D code that silently falls back to BR halves the tax and nothing else in the suite notices.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000.5,
        "region": "rUK",
        "taxCode": "D1"
      },
      "expect": {
        "taxable": 30000,
        "incomeTax": 13500,
        "ni": 1393.92,
        "net": 15106.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2. Code D1: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"D1: all your income from this job or pension is taxed at the additional rate (usually used if you've got more than one job or pension)\". Additional rate 45%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: 30,000.50 floored to 30,000; x 45% = 13,500.00. NI 1,394.44. Net = 30,000.50 - 13,500.00 - 1,394.44 = 15,106.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.50 = eleven payments of GBP 2500.04 and GBP 2500.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.44 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | First D1 vector, and the only one where the floor is worth more than a penny of the difference: unfloored, 30,000.50 x 45% = 13,500.225, which is also the only place in this set where the annual half-penny rounding direction is reachable at all. Falsified by mutant M1 (13,500.23) and by mutant M11 (6,000.00).",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000.5,
        "region": "rUK",
        "taxCode": "K475"
      },
      "expect": {
        "taxable": 34750,
        "incomeTax": 6950,
        "ni": 1393.92,
        "net": 21656.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2. K codes: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"tax codes with 'K' at the beginning mean you have income that is not being taxed another way and it's worth more than your tax-free allowance\"; the number x GBP10 is ADDED to pay rather than deducted from it (HMRC, Specification for PAYE tax table routines v24.0 para 4.3.1c, which values \"either Free Pay or Additional Pay\" from the same tables). Steps: added pay 475 x 10 = 4,750; 30,000.50 + 4,750 = 34,750.50; DOWN TO THE WHOLE POUND = 34,750, which is inside the basic band; x 20% = 6,950.00. NI on pay, not on the K-inflated figure: (30,000.50 - 12,570) x 8% = 1,394.44. Net = 30,000.50 - 6,950.00 - 1,394.44 = 21,656.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.50 = eleven payments of GBP 2500.04 and GBP 2500.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.44 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | First K code vector on the annual basis. Falsified twice: mutant M1 (no floor) gives 6,950.10; mutant M12 (a K code subtracting its added pay instead of adding it, the sign error this code shape invites) gives taxable 25,250 and incomeTax 5,050.00. Also pins that the K addition does not touch National Insurance.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000.5,
        "taxCode": "SD1"
      },
      "expect": {
        "region": "scotland",
        "taxable": 30000,
        "incomeTax": 12600,
        "ni": 1393.92,
        "net": 16006.58
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Whole-pound base: Tax Tables B to D 2026 to 2027, page 2. Code SD1: https://www.gov.uk/tax-codes/what-your-tax-code-means — \"SD1: all your income from this job or pension is taxed at the higher rate in Scotland (usually used if you've got more than one job or pension)\"; the S prefix is HMRC's instruction to operate Scottish rates, https://www.gov.uk/scottish-income-tax/who-pays. Scottish higher rate 42%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: 30,000.50 floored to 30,000; x 42% = 12,600.00. NI is UK-wide: (30,000.50 - 12,570) x 8% = 1,394.44. Net = 30,000.50 - 12,600.00 - 1,394.44 = 16,006.06. hand: docs/ACCURACY-LEDGER.md L-2026-040",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.50 = eleven payments of GBP 2500.04 and GBP 2500.06 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.04 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.44 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The whole-pound floor in Scotland on a flat Scottish code, and the only vector on any SD code. No region is supplied, so it also pins that the S prefix alone resolves the region. Falsified twice: mutant M1 (no floor) gives 12,600.21; mutant M11 (flat codes all basic rate) gives 6,000.00 at the rUK basic rate. SD0, SD2 and SD3 are not written here: see the report's list of gaps left open.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 100001,
        "region": "rUK"
      },
      "expect": {
        "personalAllowance": 12570,
        "taxable": 87431,
        "incomeTax": 27432.4,
        "ni": 4010.04,
        "net": 68558.56
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived from the section, not from either implementation. ITA 2007 s.35, https://www.legislation.gov.uk/ukpga/2007/3/section/35: s.35(2) reduces the allowance by one half of the excess over the GBP100,000 limit; s.35(3), verbatim: \"If the amount of any allowance that remains after the operation of subsection (2) would otherwise not be a multiple of GBP1, it is to be rounded up to the nearest amount which is a multiple of GBP1.\" Allowance GBP12,570 and limit GBP100,000: https://www.gov.uk/income-tax-rates and https://www.gov.uk/government/publications/rates-and-allowances-income-tax/income-tax-rates-and-allowances-current-and-past. Bands 20% to GBP37,700 then 40%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: excess GBP1; one half of it is GBP0.50; 12,570.00 - 0.50 = GBP12,569.50, which is not a multiple of GBP1, so s.35(3) ROUNDS IT UP to GBP12,570 - the allowance is untouched at GBP100,001. Taxable 100,001 - 12,570 = 87,431; 37,700 x 20% = 7,540.00; (87,431 - 37,700) = 49,731 x 40% = 19,892.40; total 27,432.40. NI: 37,700 x 8% = 3,016.00; (100,001 - 50,270) = 49,731 x 2% = 994.62; total 4,010.62. Net = 100,001 - 27,432.40 - 4,010.62 = 68,557.98. hand: docs/ACCURACY-LEDGER.md L-2026-089",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 100001.00 = eleven payments of GBP 8333.42 and GBP 8333.38 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 8333.42 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 4010.62 (annual-threshold basis) to GBP 4010.04 and net rises by the same GBP 0.58. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The first pound over the taper threshold, and the cleanest statement of s.35(3): at GBP100,001 the allowance does NOT fall. The four existing cases above GBP100,000 are all even (100,000 / 110,000 / 125,140 / 150,000), so each halves to a whole pound and none of them can notice the round-up being removed - confirmed with a mutant engine on 2026-09-17, 41 assertions, 0 failing. Falsified: mutant M2 (the allowance rounded DOWN instead) gives personalAllowance 12,569, taxable 87,432, incomeTax 27,432.80.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 100003.5,
        "region": "rUK"
      },
      "expect": {
        "personalAllowance": 12569,
        "taxable": 87434,
        "incomeTax": 27433.6,
        "ni": 4010.04,
        "net": 68559.86
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived from ITA 2007 s.35(2)-(3) (quoted in the GBP100,001 case) and, for the base, HMRC Tax Tables B to D 2026 to 2027 page 2, https://assets.publishing.service.gov.uk/media/69a05a803e672177d0bc773f/Tax_Tables_B-D_2026_to_2027.pdf. Steps: adjusted net income 100,003.50; excess GBP3.50; one half is GBP1.75; 12,570.00 - 1.75 = GBP12,568.25, rounded UP under s.35(3) to GBP12,569. Taxable 100,003.50 - 12,569 = 87,434.50, DOWN TO THE WHOLE POUND = 87,434; 37,700 x 20% = 7,540.00; (87,434 - 37,700) = 49,734 x 40% = 19,893.60; total 27,433.60. NI: 3,016.00 + (100,003.50 - 50,270) = 49,733.50 x 2% = 994.67; total 4,010.67. Net = 100,003.50 - 27,433.60 - 4,010.67 = 68,559.23. hand: docs/ACCURACY-LEDGER.md L-2026-089",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 100003.50 = eleven payments of GBP 8333.63 and GBP 8333.57 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 8333.63 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 4010.67 (annual-threshold basis) to GBP 4010.04 and net rises by the same GBP 0.63. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The case the L-2026-089 ruling itself names and marks OWED. It is a double: it is the only vector in the file where the taper round-up and the L-2026-040 whole-pound floor both bite on the same input, so it fails under either rule being dropped. Falsified twice: mutant M2 (allowance rounded down) gives personalAllowance 12,568 and incomeTax 27,434.00; mutant M1 (no whole-pound floor) gives taxable 87,434.50 and incomeTax 27,433.80. A single case that separates two rules in two different directions is the strongest shape available here.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 125139,
        "region": "rUK"
      },
      "expect": {
        "personalAllowance": 1,
        "taxable": 125138,
        "incomeTax": 42515.2,
        "ni": 4512.72,
        "net": 78111.08
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived from ITA 2007 s.35(2)-(3) (quoted in the GBP100,001 case). Steps: excess 125,139 - 100,000 = GBP25,139; one half is GBP12,569.50; 12,570.00 - 12,569.50 = GBP0.50, which is not a multiple of GBP1 and is more than nil, so s.35(3) rounds it UP to GBP1 - the allowance does not reach nil until GBP125,140. Taxable 125,139 - 1 = 125,138; 37,700 x 20% = 7,540.00; (125,138 - 37,700) = 87,438 x 40% = 34,975.20; total 42,515.20. NI: 3,016.00 + (125,139 - 50,270) = 74,869 x 2% = 1,497.38; total 4,513.38. Net = 125,139 - 42,515.20 - 4,513.38 = 78,110.42. hand: docs/ACCURACY-LEDGER.md L-2026-089",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 125139.00 = eleven payments of GBP 10428.25 and GBP 10428.25 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 10428.25 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 4513.38 (annual-threshold basis) to GBP 4512.72 and net rises by the same GBP 0.66. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The second case the L-2026-089 ruling names and marks OWED, and the GBP125,140 edge minus GBP1 that the golden file's stated coverage list requires. It is the sharpest test of s.35(3) that exists: the whole rule is worth exactly the last pound of allowance, and it is the difference between the allowance running out at GBP125,139 and at GBP125,140. Falsified: mutant M2 gives personalAllowance 0, taxable 125,139, incomeTax 42,515.60. Paired with the existing GBP125,140 case (incomeTax 42,516.00, allowance nil), the two together pin the exact pound at which the allowance disappears.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 110007,
        "region": "rUK",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "expect": {
        "personalAllowance": 10317,
        "taxable": 99690,
        "incomeTax": 32336,
        "pensionFromPay": 4400.28,
        "ni": 4210.08,
        "net": 69060.64
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. ITA 2007 s.35(2)-(3) as above. Relief at source: Finance Act 2004 s.192, https://www.legislation.gov.uk/ukpga/2004/12/section/192 - s.192(1), the individual \"is entitled, on making the payment, to deduct and retain out of it a sum equal to income tax on the contribution at the relevant rate\", relevant rate 20% under s.192(1A) for 2026/27; and ITA 2007 s.58 with s.35, under which the GROSS contribution reduces adjusted net income while the pay charged to tax is untouched (HMRC PTM044210, https://www.gov.uk/hmrc-internal-manuals/pensions-tax-manual/ptm044210, relief at source contributions are paid out of pay after tax). Steps: contribution 5% of 110,007 = GBP5,500.35; relief retained 20% of 5,500.35 = GBP1,100.07; the member actually parts with the residue GBP4,400.28. Adjusted net income 110,007 - 5,500.35 = 104,506.65; excess 4,506.65; one half is GBP2,253.325; 12,570.00 - 2,253.325 = GBP10,316.675, rounded UP under s.35(3) to GBP10,317. Pay charged to tax is the whole 110,007 (relief at source is not a deduction from pay for PAYE): taxable 110,007 - 10,317 = 99,690; 37,700 x 20% = 7,540.00; (99,690 - 37,700) = 61,990 x 40% = 24,796.00; total 32,336.00. NI on the whole pay: 3,016.00 + (110,007 - 50,270) = 59,737 x 2% = 1,194.74; total 4,210.74. Net = 110,007 - 32,336.00 - 4,210.74 - 4,400.28 = 69,059.98. hand: docs/ACCURACY-LEDGER.md L-2026-089",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 110007.00 = eleven payments of GBP 9167.25 and GBP 9167.25 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 9167.25 give the same year, so the month-12 residue decides nothing here. A relief-at-source pension contribution does NOT reduce earnings for NI, so the NI-able year is the full gross. The year's NI falls from GBP 4210.74 (annual-threshold basis) to GBP 4210.08 and net rises by the same GBP 0.66. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The taper round-up on a fraction that no whole-pound salary can produce: a 5% contribution on GBP110,007 leaves an allowance of GBP10,316.675, three quarters of a penny short of a pound, which only s.35(3) resolves. It is also the only annual vector that holds relief at source apart from the other two methods in three places at once - the gross contribution reduces adjusted net income, the pay charged to tax is NOT reduced, and only the 80% residue leaves take-home. Falsified: mutant M2 (allowance rounded down) gives personalAllowance 10,316 and incomeTax 32,336.40.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 30003,
        "region": "rUK",
        "taxCode": "1257L"
      },
      "expect": {
        "basic": 2500.25,
        "freePay": 1048.26,
        "taxable": 1451,
        "tax": 290.2,
        "ni": 116.18,
        "net": 2093.87
      },
      "source": "Hand-derived from the specification, not from either implementation. HMRC, Specification for PAYE tax table routines v24.0 (February 2026) para 4.3.1c, https://assets.publishing.service.gov.uk/media/698c9824bd090be481c2879a/PAYErout-v24-0.odt: a code above 500 is valued by \"adding 2 or more values\" - divide the code by 500 and note the quotient and remainder; value the remainder as a code of 1 to 500, that is [(remainder x GBP10) + GBP9] divided by the periods in the year and rounded up to the nearest penny; value the balance at quotient x GBP416.67 for Month 1 (the spec's own constant, \"500 x GBP10 / 12 (rounded to 1p above)\"); add the components, \"which have already been rounded\", as the final stage. The same figures are the printed pages of Tables A, https://assets.publishing.service.gov.uk/media/5c7fde8be5274a3f90f75580/Tables_A_Pay_adjustment.pdf, whose Month 1 page prints GBP214.92 against code 257 and carries the starred constant GBP416.67. Taxable pay down to the whole pound: Tax Tables B to D 2026 to 2027 page 2. Monthly primary threshold GBP1,048 and 8%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: pay for the month 30,003 / 12 = GBP2,500.25 exactly; 1257 / 500 = quotient 2, remainder 257; remainder value (257 x 10 + 9) = GBP2,579 / 12 = GBP214.9166... rounded UP = GBP214.92; balance 2 x GBP416.67 = GBP833.34; free pay = GBP1,048.26. Taxable 2,500.25 - 1,048.26 = 1,451.99, DOWN TO THE WHOLE POUND = GBP1,451, which is inside the month's basic band (37,700 / 12 = GBP3,141.66); tax 1,451 x 20% = GBP290.20. NI (2,500.25 - 1,048) = 1,452.25 x 8% = GBP116.18. Net 2,500.25 - 290.20 - 116.18 = GBP2,093.87. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "THE hole: no golden payslip case asserted tax, freePay, pension or net at all, so replacing the free pay routine on every payslip in the country moved no vector - reproduced on 2026-09-17 by running all 25 existing cases against an engine carrying the (correct) para 4.3.1c decomposition: 41 assertions, 0 failing. This is the exact input of the L-2026-095 ruling and the commonest code on the site. Falsified twice: mutant M3 (the single division 12,579 / 12 = GBP1,048.25, which is what both implementations did until 2026-09-17) gives freePay 1,048.25, taxable 1,452, tax 290.40, net 2,093.67 - four assertions; mutant M14 (period taxable pay not taken down to the whole pound) gives taxable 1,451.99, tax 290.39, net 2,093.68.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "week",
      "input": {
        "gross": 31247.32,
        "region": "rUK",
        "taxCode": "1257L"
      },
      "expect": {
        "basic": 600.91,
        "freePay": 241.92,
        "taxable": 358,
        "tax": 71.6,
        "ni": 28.71,
        "net": 500.6
      },
      "source": "Hand-derived from PAYE spec v24.0 para 4.3.1c (quoted in the monthly 1257L case), with the Week 1 constant \"500 x GBP10 / 52 (rounded to 1p above) = GBP96.16\"; Tables A Week 1 page prints GBP49.60 against code 257. Weekly primary threshold GBP242 and 8%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: pay for the week 31,247.32 / 52 = GBP600.91 exactly; 1257 / 500 = quotient 2, remainder 257; remainder value GBP2,579 / 52 = GBP49.5961... rounded UP = GBP49.60; balance 2 x GBP96.16 = GBP192.32; free pay = GBP241.92. Taxable 600.91 - 241.92 = 358.99, DOWN TO THE WHOLE POUND = GBP358, inside the week's basic band (37,700 / 52 = GBP725.00); tax 358 x 20% = GBP71.60. NI (600.91 - 242) = 358.91 x 8% = 28.7128 = GBP28.71. Net 600.91 - 71.60 - 28.71 = GBP500.60. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "The weekly half of the defect. The gross is chosen so that the penny decides a pound of taxable pay: 600.91 - 241.92 = 358.99 floors to 358, while the single division's GBP241.91 gives exactly 359.00 and floors to 359. Falsified twice: mutant M3 (the single division, 12,579 / 52 = GBP241.91) gives freePay 241.91, taxable 359, tax 71.80, net 500.40; mutant M14 (no whole-pound period floor) gives taxable 358.99, tax 71.79, net 500.41. Before this case the golden file contained NO weekly payslip asserting tax or net.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "week",
      "input": {
        "gross": 36433.8,
        "region": "rUK",
        "taxCode": "1500L"
      },
      "expect": {
        "basic": 700.65,
        "freePay": 288.65,
        "taxable": 412,
        "tax": 82.4,
        "ni": 36.69,
        "net": 581.56
      },
      "source": "Anchored on HMRC's own PUBLISHED figure, not on ours. Tables A Pay Adjustment, https://assets.publishing.service.gov.uk/media/5c7fde8be5274a3f90f75580/Tables_A_Pay_adjustment.pdf, prints code 1500 at week 35 as GBP10,102.75; the week 1 value is therefore 10,102.75 / 35 = GBP288.65 exactly. PAYE spec v24.0 para 4.3.1c reaches the same figure by decomposition, and step ii is what makes it come out: 1500 is an exact multiple of 500, so the quotient goes one lower and the remainder is 500 - quotient 2, remainder 500; remainder value (500 x 10 + 9) = GBP5,009 / 52 = GBP96.3269... rounded UP = GBP96.33; balance 2 x GBP96.16 = GBP192.32; total GBP288.65, the published figure. Steps for the payslip: pay for the week 36,433.80 / 52 = GBP700.65 exactly; taxable 700.65 - 288.65 = 412.00 = GBP412, inside the week's basic band; tax 412 x 20% = GBP82.40. NI (700.65 - 242) = 458.65 x 8% = 36.692 = GBP36.69. Net 700.65 - 82.40 - 36.69 = GBP581.56. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "Step ii of para 4.3.1c was untestable: every payslip code in the generated grid (1257L, S1257L, C1257L, 1383M, 1131N) is a non-multiple of 500, so engine:diff agreement said nothing about it. Code 1500 at week 35 is the one place HMRC publishes a number that separates all three readings, and the expected value here is HMRC's GBP288.65 and not ours. Falsified twice, in opposite directions: mutant M4 (step ii removed, so a remainder of nought valued as a code of nought) gives freePay 288.66, taxable 411, tax 82.20; mutant M3 (single division, 15,009 / 52) gives freePay 288.64. The freePay assertion is what catches M3 - the whole-pound floor absorbs that penny, so a case asserting only tax and net would miss it. That is why freePay is asserted directly.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 36005.04,
        "region": "rUK",
        "taxCode": "2000L"
      },
      "expect": {
        "basic": 3000.42,
        "freePay": 1667.43,
        "taxable": 1332,
        "tax": 266.4,
        "ni": 156.19,
        "net": 2577.83
      },
      "source": "Hand-derived from PAYE spec v24.0 para 4.3.1c including step ii (quoted in the 1500L case). Steps: 2000 is an exact multiple of 500, so quotient 3 and remainder 500; remainder value GBP5,009 / 12 = GBP417.4166... rounded UP = GBP417.42; balance 3 x GBP416.67 = GBP1,250.01; free pay = GBP1,667.43. Pay for the month 36,005.04 / 12 = GBP3,000.42 exactly; taxable 3,000.42 - 1,667.43 = 1,332.99, DOWN TO THE WHOLE POUND = GBP1,332, inside the month's basic band; tax 1,332 x 20% = GBP266.40. NI (3,000.42 - 1,048) = 1,952.42 x 8% = 156.1936 = GBP156.19. Net 3,000.42 - 266.40 - 156.19 = GBP2,577.83. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "The monthly multiple of 500, asked for by engine-engineer. It discriminates step ii from the single division - GBP1,667.43 against GBP1,667.42 - where 1000L monthly cannot (both readings and the single division all give GBP834.09 there, so a 1000L MONTHLY case would be fake coverage and none is written). The gross is chosen so the penny moves a pound of taxable pay: 3,000.42 - 1,667.43 = 1,332.99 floors to 1,332, while GBP1,667.42 gives 1,333.00. Falsified: mutant M3 gives freePay 1,667.42, taxable 1,333, tax 266.60, net 2,577.63. It does NOT discriminate step ii from the remainder-of-nought reading (both give GBP1,667.43) - that is what the 1500L and 1000L WEEKLY cases are for.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "week",
      "input": {
        "gross": 23425.48,
        "region": "rUK",
        "taxCode": "1000L"
      },
      "expect": {
        "basic": 450.49,
        "freePay": 192.49,
        "taxable": 258,
        "tax": 51.6,
        "ni": 16.68,
        "net": 382.21
      },
      "source": "Hand-derived from PAYE spec v24.0 para 4.3.1c including step ii (quoted in the 1500L case). Steps: 1000 is an exact multiple of 500, so quotient 1 and remainder 500; remainder value GBP5,009 / 52 rounded UP = GBP96.33; balance 1 x GBP96.16; free pay = GBP192.49. Pay for the week 23,425.48 / 52 = GBP450.49 exactly; taxable 450.49 - 192.49 = 258.00 = GBP258, inside the week's basic band; tax 258 x 20% = GBP51.60. NI (450.49 - 242) = 208.49 x 8% = 16.6792 = GBP16.68. Net 450.49 - 51.60 - 16.68 = GBP382.21. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "The smallest multiple of 500 that has a balance at all, asked for by engine-engineer as 1000L. Falsified by mutant M4 (step ii removed): freePay 192.50, taxable 257, tax 51.40. It does NOT discriminate against the single division (10,009 / 52 also gives GBP192.49) - stated so that it is not counted as coverage of that, which the 1500L, 2000L and 1257L cases provide.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 20402.88,
        "region": "rUK",
        "taxCode": "K1500"
      },
      "expect": {
        "basic": 1700.24,
        "freePay": 0,
        "taxable": 2951,
        "tax": 590.2,
        "ni": 52.18,
        "net": 1057.86
      },
      "source": "Hand-derived from PAYE spec v24.0 para 4.3.1c, which values \"either Free Pay or Additional Pay\" by the same decomposition and from the same tables, so a K code above 500 is built in units of 500 exactly as a suffix code is. Steps: additional pay for K1500 in Month 1 = quotient 2, remainder 500 (step ii); GBP5,009 / 12 rounded UP = GBP417.42; plus 2 x GBP416.67 = GBP833.34; total GBP1,250.76. A K code gives no free pay. Pay for the month 20,402.88 / 12 = GBP1,700.24 exactly; taxable 1,700.24 + 1,250.76 = 2,951.00 = GBP2,951, inside the month's basic band (GBP3,141.66); tax 2,951 x 20% = GBP590.20. The overriding limit (Tax Tables B to D page 2, \"You should not deduct more than 50% of your employees pay in tax\") is GBP850.12 here and does not bite. NI (1,700.24 - 1,048) = 652.24 x 8% = 52.1792 = GBP52.18. Net 1,700.24 - 590.20 - 52.18 = GBP1,057.86. hand: docs/ACCURACY-LEDGER.md L-2026-095",
      "why": "The K1500 case engine-engineer asked for, and the only payslip vector on any K code. The gross is chosen so the additional-pay penny decides a pound: 1,700.24 + 1,250.76 = 2,951.00 exactly, where the single division's GBP1,250.75 gives 2,950.99 and floors a pound lower. Falsified: mutant M3 gives taxable 2,950, tax 590.00, net 1,058.06. The payslip result exposes no addedPay field, so taxable is the only place the penny is visible - which is why the input is tuned to make it visible there. The pay is kept below the month's basic band limit on purpose, so the case pins the decomposition and not any convention about pro-rating band limits.",
      "ledger": "L-2026-095"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 36000,
        "region": "rUK",
        "taxCode": "1257L",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "expect": {
        "basic": 3000,
        "pension": 120,
        "freePay": 1048.26,
        "taxable": 1951,
        "tax": 390.2,
        "ni": 156.16,
        "net": 2333.64
      },
      "source": "Hand-derived from the sources, not from either implementation. Finance Act 2004 s.192, https://www.legislation.gov.uk/ukpga/2004/12/section/192: s.192(1) - the individual \"is entitled, on making the payment, to deduct and retain out of it a sum equal to income tax on the contribution at the relevant rate\"; s.192(2) - the scheme administrator \"must allow the deduction on receipt of the residue\", so the member hands over the RESIDUE and it does leave their pay. Relevant rate 20% for 2026/27 (s.192(1A); pensions.reliefAtSourceBasicRate, ledger L-2026-096). HMRC PTM044220, https://www.gov.uk/hmrc-internal-manuals/pensions-tax-manual/ptm044220: \"Margot who wishes to pay GBP100 per month to her registered pension scheme would only pay a net amount of GBP80 a month, where the basic rate of tax is 20%.\" PTM044210 against PTM044230 distinguish the two methods by whether the contribution leaves pay before or after PAYE, so under relief at source the pay charged to tax is NOT reduced. Free pay: PAYE spec v24.0 para 4.3.1c, 1257L Month 1 = GBP214.92 + 2 x GBP416.67 = GBP1,048.26. Steps: pay for the month 36,000 / 12 = GBP3,000.00; contribution 5% = GBP150.00; sum retained at 20% = GBP30.00; residue actually paid = GBP120.00. Taxable 3,000.00 - 1,048.26 = 1,951.74, DOWN TO THE WHOLE POUND = GBP1,951 (Tax Tables B to D page 2), inside the month's basic band; tax 1,951 x 20% = GBP390.20. NI on the whole pay: (3,000 - 1,048) = 1,952 x 8% = GBP156.16. Take-home 3,000.00 - 120.00 - 390.20 - 156.16 = GBP2,333.64. hand: docs/ACCURACY-LEDGER.md L-2026-094",
      "why": "Golden case 23 is the relief-at-source payslip and asserts only ni, which is why the reference could return pension 0.00 and a net GBP200 too high on every relief-at-source payslip and no vector moved. This case asserts the whole deduction side. It separates relief at source from BOTH other methods in the same breath: a net pay contribution would give taxable 1,801 and tax 360.20 (the contribution comes off before PAYE), a salary sacrifice would give ni 144.16 as well, and relief at source gives neither - but it does give pension 120.00, not 150.00 and not 0.00. Falsified twice: mutant M5 (the reference's defect, relief at source not deducted from pay in the period) gives pension 0.00 and net 2,453.64; mutant M3 (free pay by single division) gives freePay 1,048.25. The pay is kept inside the month's basic band so the case pins relief at source and the free pay decomposition, not any convention about pro-rating band limits.",
      "ledger": "L-2026-094"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "1257L",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "expect": {
        "basic": 416.67,
        "pension": 16.66,
        "freePay": 1048.26,
        "taxable": 0,
        "tax": 0,
        "ni": 0,
        "net": 400.01
      },
      "source": "Hand-derived from Finance Act 2004 s.192(1) and (1A) (quoted in the GBP36,000 case) and HMRC PTM044220. The ORDER is the point and it comes from the section: s.192(1) gives relief on \"the contribution\", and the contribution is the sum the scheme rules require - a percentage of pensionable pay, which is a sum of money and so a whole number of pence - therefore the contribution must be resolved to the penny BEFORE the tax on it can be computed. Steps: pay for the month 5,000 / 12 = GBP416.6666... = GBP416.67 to the penny; contribution 5% of 416.67 = GBP20.8335, to the penny = GBP20.83; income tax on GBP20.83 at 20% = GBP4.166, to the penny = GBP4.17 retained; residue actually paid by the member = GBP16.66. Free pay for 1257L Month 1 = GBP1,048.26 (PAYE spec v24.0 para 4.3.1c), which exceeds the pay, so taxable pay is nil and tax is nil. Pay is below the monthly primary threshold GBP1,048, so National Insurance is nil (https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027). Take-home 416.67 - 16.66 = GBP400.01. hand: docs/ACCURACY-LEDGER.md L-2026-094",
      "why": "The rounding-order half of L-2026-094, and the exact figures the ruling works. The one-step shortcut - take 80% of 5% of pay, that is 4% - gives 416.67 x 4% = GBP16.6668 = GBP16.67 and a take-home of GBP400.00, and implies relief of GBP4.16 on a GBP20.83 contribution, which is 19.97% and not the relevant rate. The ruling measured the two orders differing in 75,265 of 398,002 cases, so this is not a corner. Falsified twice: mutant M6 (the one-step shortcut) gives pension 16.67 and net 400.00 - a one-penny case, which is the only size this rule ever is; mutant M5 (relief at source not deducted in the period) gives pension 0.00 and net 416.67. It is also the only payslip vector below both the free pay and the primary threshold, so it pins that a nil taxable pay and a nil National Insurance are reached rather than a negative one.",
      "ledger": "L-2026-094"
    },
    {
      "kind": "payslip",
      "period": "week",
      "input": {
        "gross": 27471.6,
        "region": "rUK",
        "taxCode": "1257L",
        "loans": [
          "plan1"
        ]
      },
      "expect": {
        "basic": 528.3,
        "studentLoan": 0
      },
      "source": "Hand-derived. Plan 1 weekly pay period threshold GBP517.30 and 9%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027 and HMRC SL3 2026 to 2027, https://www.gov.uk/government/publications/sl3-student-loan-deduction-tables/2026-to-2027-student-and-postgraduate-loan-deduction-tables, whose own weekly Plan 1 worked example deducts \"the 'pay period threshold' of GBP517.30\". The rounding of the period threshold is fixed by SI 2009/470 reg. 44(2)(b), https://www.legislation.gov.uk/uksi/2009/470/regulation/44, with SL3's \"Round down the resulting figure to the nearest penny\": 26,900 / 52 = GBP517.3076..., so GBP517.30. Pence in a repayment are ignored: reg. 44(3), \"Where a repayment calculated under paragraph (1) includes pence as well as pounds the pence are to be ignored.\" Steps: pay for the week 27,471.60 / 52 = GBP528.30 exactly; 528.30 - 517.30 = GBP11.00 excess; 11.00 x 9% = GBP0.99; pence ignored = GBP0 - nothing is due. hand: docs/ACCURACY-LEDGER.md L-2026-036",
      "why": "Closes the dead spot in golden case 8. Case 8 reproduces HMRC's published weekly Plan 1 example at GBP565.00 a week, where the correct GBP517.30 and the defective whole-pound GBP517 both give GBP4 (47.70 x 9% = 4.293 and 48.00 x 9% = 4.32, both floor to 4), so it cannot fail if the L-2026-036 defect is reintroduced weekly - confirmed on 2026-09-17 by running the existing file against an engine with whole-pound loan period thresholds: five cases fail and case 8 is not one of them. GBP528.30 a week is chosen so the correct answer sits a penny under the first whole pound while the defective threshold clears it: 11.30 x 9% = 1.017 and GBP1 is deducted where nothing is due. Falsified: mutant M7 (loan period thresholds taken down to whole pounds) gives studentLoan 1. Only basic and studentLoan are asserted, so that this case pins the weekly Plan 1 threshold and nothing else; the weekly free pay and tax on the same code are pinned by the GBP31,247.32 case under L-2026-095.",
      "ledger": "L-2026-036"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 45000,
        "region": "rUK",
        "taxCode": "S1257L"
      },
      "expect": {
        "region": "scotland",
        "personalAllowance": 12570,
        "taxable": 32430,
        "incomeTax": 6882.05,
        "ni": 2593.92,
        "net": 35524.03
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived, from the rules and the ruling's own derivation and not from either implementation. HMRC states what the S prefix instructs an employer to do, in terms, at https://www.gov.uk/scottish-income-tax/who-pays: \"If you're employed or get a pension, your tax code will start with an 'S'. This tells your employer or pension provider to deduct tax at the Scottish rate.\" Scottish bands on taxable income: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. Steps: taxable 45,000 - 12,570 = 32,430; starter 19% on 3,967 = 753.73; basic 20% on 12,989 (3,967 to 16,956) = 2,597.80; intermediate 21% on 14,136 (16,956 to 31,092) = 2,968.56; higher 42% on 1,338 (31,092 to 32,430) = 561.96; total 6,882.05. National Insurance is UK-wide and unaffected by the prefix: 32,430 x 8% = 2,594.40. Net 45,000 - 6,882.05 - 2,594.40 = 35,523.55. The rest-of-UK answer on the same pay would be 32,430 x 20% = 6,486.00, GBP396.05 less. hand: docs/ACCURACY-LEDGER.md L-2026-090",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 45000.00 = eleven payments of GBP 3750.00 and GBP 3750.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 3750.00 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 2594.40 (annual-threshold basis) to GBP 2593.92 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The exact input of the L-2026-090 disagreement, where the reference resolved the region from the input and returned the rest-of-UK answer for someone whose employer was instructed to operate Scottish rates. Nothing caught it because scripts/gen-vectors.mjs builds tax-code cases with no region and region cases with no tax code, so the cross-product is empty. The case asserts region as well as the money, so the precedence itself is pinned and not merely its arithmetic consequence. Falsified: mutant M8 (the reference's rule, a supplied region outranking the code prefix) gives region rUK, incomeTax 6,486.00, net 35,919.60 - a GBP396 error on an ordinary salary.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 52270,
        "region": "rUK",
        "pension": {
          "type": "sacrifice",
          "pct": 10
        }
      },
      "expect": {
        "taxable": 34473,
        "incomeTax": 6894.6,
        "ni": 2757.36,
        "pensionFromPay": 5227,
        "net": 37391.04
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: Hand-derived. Class 1 employee primary threshold GBP12,570, upper earnings limit GBP50,270, 8% and 2%: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027. A salary sacrifice reduces the cash earnings and the employer's pension contribution is disregarded in computing earnings for National Insurance: Social Security (Contributions) Regulations 2001 Sch. 3 Part VI para. 2, https://www.legislation.gov.uk/uksi/2001/1004/schedule/3/part/VI (\"A payment by way of employer's contribution towards a registered pension scheme\"). Bands 20% to GBP37,700 then 40%, and personal allowance GBP12,570: https://www.gov.uk/income-tax-rates. Steps: contribution 10% of 52,270 = GBP5,227.00; pay after sacrifice GBP47,043.00, which is below the upper earnings limit; NI (47,043 - 12,570) = 34,473 x 8% = GBP2,757.84 with nothing in the 2% band. Taxable 47,043 - 12,570 = 34,473, inside the basic band; tax 34,473 x 20% = GBP6,894.60. Net 52,270 - 6,894.60 - 2,757.84 - 5,227.00 = GBP37,390.56. hand: docs/ACCURACY-LEDGER.md L-2026-009",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 47043.00 = eleven payments of GBP 3920.25 and GBP 3920.25 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 3920.25 give the same year, so the month-12 residue decides nothing here. Salary sacrifice reduces earnings for NI because the sacrificed pay is never paid to the earner, so the NI-able year is gross less the sacrifice. The year's NI falls from GBP 2757.84 (annual-threshold basis) to GBP 2757.36 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | The salary that crosses a band by sacrificing: without the contribution, taxable pay would be GBP39,700 and GBP2,000 of it would be taxed at 40% for GBP8,340.00; the sacrifice moves the whole of it into the basic rate and the tax falls to GBP6,894.60. That is the 'salary sacrifice crossing a band' case the file's coverage list requires and did not have. It is also the engine-level endpoint that accuracy-red-team's GBP52,270 at 10% case rests on - pay after sacrifice GBP47,043 plus the GBP3,227 that would sit above the announced GBP2,000 cap stacks to exactly the upper earnings limit, so the counterfactual charge is (50,270 - 47,043) x 8% = GBP258.16, and that arithmetic is only sound if the National Insurance on GBP47,043 is GBP2,757.84. Falsified twice: mutant M10 (a sacrifice not reducing the earnings that bear National Insurance) gives ni 3,056.00 and net 37,092.40; mutant M9 (primary threshold moved) gives ni 2,883.44.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 16000,
        "region": "rUK",
        "pension": {
          "type": "sacrifice",
          "pct": 30
        }
      },
      "expect": {
        "taxable": 0,
        "incomeTax": 0,
        "ni": 0,
        "pensionFromPay": 4800,
        "net": 11200
      },
      "source": "Hand-derived. Class 1 employee primary threshold GBP12,570: https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027; no employee contribution is due on earnings below it. Personal allowance GBP12,570: https://www.gov.uk/income-tax-rates. Salary sacrifice reduces the earnings that bear National Insurance: SSCR 2001 Sch. 3 Part VI para. 2, https://www.legislation.gov.uk/uksi/2001/1004/schedule/3/part/VI. Steps: contribution 30% of 16,000 = GBP4,800.00; pay after sacrifice GBP11,200.00, which is below both the primary threshold and the personal allowance; income tax nil and National Insurance nil. Net 16,000 - 4,800 = GBP11,200.00. hand: docs/ACCURACY-LEDGER.md L-2026-009",
      "why": "The nil case, at the second of accuracy-red-team's named inputs (GBP16,000 at 30%, where the cap excess crosses the primary threshold). No golden vector reached a nil liability on either tax or National Insurance, so nothing pinned that a sacrifice can take someone under both thresholds and that the answer is nought rather than a negative deduction or a floor at the unsacrificed pay. Falsified twice: mutant M10 (a sacrifice not reducing earnings for National Insurance) gives ni 274.40 and net 10,925.60; mutant M9 (primary threshold lowered to GBP11,000) gives ni 16.00. The red team's third input, GBP14,000 at 20%, is not written as a separate vector: it produces the same GBP11,200 after sacrifice and the same nil answer, so it would add no engine coverage - see the report.",
      "ledger": "L-2026-009"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "sacrifice",
          "pct": 5
        }
      },
      "expect": {
        "basic": 416.67,
        "pension": 20.83,
        "additionalPay": 1048.26,
        "taxable": 1444,
        "tax": 197.92,
        "taxDeferred": 90.88,
        "ni": 0,
        "net": 197.92,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived from the statute and the specification, not from either implementation. Pay given up under a salary sacrifice is never PAYE income at all: EIM42750, \"A salary sacrifice happens when an employee gives up the right to part of the cash remuneration due under his or her contract of employment\" (https://www.gov.uk/hmrc-internal-manuals/employment-income-manual/eim42750). So the payment made, and the \"relevant payment\" the limit is a percentage of, is pay after the sacrifice: S.I. 2003/2682 reg. 2(1), \"'overriding limit' ... an amount equal to 50% of the amount of the relevant payment\", with reg. 4(1) \"payments of, or on account of, net PAYE income\" and reg. 23(5) \"the deduction is not to exceed the overriding limit\" (https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 , /4 , /23 , retrieved 2026-09-17). PAYE spec v24.0 para 4.5.2, \"ln = M x (pn - pbik)\" and \"round down if necessary to the nearest 1p below\"; para 4.3.1c for the K1257 additional pay; para 4.4.4 for the whole-pound floor. Derivation: pay 5,000 / 12 = GBP416.67; sacrifice 5% = GBP20.83, so the payment actually made is GBP395.84; additional pay K1257 month 1 = 2 x GBP416.67 + GBP214.92 = GBP1,048.26; taxable 395.84 + 1,048.26 = 1,444.10, floored to GBP1,444; tax due 20% = GBP288.80; limit 50% x 395.84 = GBP197.92 deducted, GBP90.88 carried; National Insurance nil, the GBP395.84 that bears NICs being below the monthly primary threshold of GBP1,048; net 416.67 - 20.83 - 197.92 = GBP197.92. Ruled in docs/ACCURACY-LEDGER.md L-2026-097 (hand:L-2026-097); the engine's pre-ruling GBP208.33 was 52.63% of the payment made, which reg. 23(5) forbids.",
      "why": "The base of the 50% overriding limit under a SALARY SACRIFICE: the limit is measured on the payment actually made. The ruling has been in force since earlier today but had no vector of its own; without one the engine could return to measuring the limit on pay before the sacrifice, which engine:diff would catch only while the reference happened to disagree. Not a regulatoryLimitApplied discriminator: at GBP5,000 the limit binds on both readings, so this case pins the amount (GBP197.92 against GBP208.33). Paired deliberately with the identical net-pay case under L-2026-119: the two pension types reach the same base by different legal routes and must produce the same tax.",
      "ledger": "L-2026-097"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 8400,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "sacrifice",
          "pct": 5
        }
      },
      "expect": {
        "basic": 700,
        "pension": 35,
        "additionalPay": 1048.26,
        "taxable": 1713,
        "tax": 332.5,
        "taxDeferred": 10.1,
        "ni": 0,
        "net": 332.5,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived from the same sources (EIM42750; S.I. 2003/2682 regs. 2(1), 4(1), 23(5); PAYE spec v24.0 paras 4.3.1c, 4.4.4, 4.5.2). Gross chosen to fall inside the band where the two readings of the base disagree about whether the limit binds at all. Derivation: pay 8,400 / 12 = GBP700.00 exactly; sacrifice 5% = GBP35.00 exactly; the payment made is GBP665.00; additional pay K1257 month 1 GBP1,048.26; taxable 665.00 + 1,048.26 = 1,713.26, floored to GBP1,713; tax due 20% = GBP342.60; limit on the ruled base 50% x 665.00 = GBP332.50, which is less than the tax due, so the limit binds: GBP332.50 deducted, GBP10.10 carried. On the pre-ruling base the limit would have been 50% x 700.00 = GBP350.00 and no limit would have applied. National Insurance nil, the GBP665.00 that bears NICs being below the monthly primary threshold of GBP1,048; net 700.00 - 35.00 - 332.50 = GBP332.50. hand:L-2026-097.",
      "why": "DISCRIMINATING. Inside the band (annual gross GBP8,111.94 to GBP8,826.89 for 5% monthly on K1257) where regulatoryLimitApplied is true on the ruled base and false on the base the engine used before L-2026-097, so the two readings differ in the flag and not only in pounds. It also holds the sacrifice and net-pay paths together at the flip point: the two must agree there, and the relief-at-source case at the same gross must not.",
      "ledger": "L-2026-097"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 20000,
        "region": "rUK",
        "taxCode": "0T"
      },
      "expect": {
        "basic": 1666.67,
        "freePay": 0,
        "additionalPay": 0,
        "taxable": 1666,
        "tax": 333.2,
        "taxDeferred": 0,
        "ni": 49.49,
        "net": 1283.98,
        "regulatoryLimitApplied": false
      },
      "source": "Hand-derived from the specification, not from either implementation. HMRC, Specification for PAYE tax table routines v24.0 (2026 to 2027), para 4.3.1a, word for word: \"Numeric part of code is 0. Value for Week 1 is 0.\" Para 4.3.1b explains why the GBP9 in \"[(numeric part of code) x GBP10] + GBP9\" cannot reach a zero code: \"ordinary suffix code 1 thus represents annual allowances (Free Pay) of GBP19. As the next smaller suffix code is 0, representing an annual allowance of zero, suffix code 1 caters for annual allowances of GBP1-GBP19 inclusive ... annual negative allowances in the range -GBP1 to -GBP19 are allocated code 0T\". GOV.UK, \"Tax codes\": \"0T: your Personal Allowance has been used up\" (https://www.gov.uk/tax-codes/letters-in-your-tax-code-what-they-mean). Para 4.4.4 for the whole-pound floor; Tax Tables B to D 2026 to 2027 p.2 for the same floor and for the 50% instruction. Class 1 employee figures from rules/uk/2026-27.json: prescribed monthly primary threshold GBP1,048 and main rate 8% (S.I. 2001/1004 reg. 11(2)(b); second-reviewed under L-2026-047 and L-2026-048), each band to the nearest penny with the half penny disregarded (CWG2 sec.1). Derivation: pay 20,000 / 12 = GBP1,666.67; free pay GBP0.00; no additional pay; taxable pay 1,666.67 floored to GBP1,666; tax 20% = GBP333.20 (monthly basic band 37,700 / 12 = GBP3,141.67, not reached); overriding limit 50% x 1,666.67 = GBP833.33, far above the tax due, so it does not bind; National Insurance 8% x (1,666.67 - 1,048.00) = 8% x 618.67 = 49.4936, the half penny disregarded, GBP49.49; net 1,666.67 - 333.20 - 49.49 = GBP1,283.98. Ruled in docs/ACCURACY-LEDGER.md L-2026-098 (hand:L-2026-098), which gives these exact figures for golden-vector-author to add.",
      "why": "A code whose number is 0 has no free pay at all, on the PERIOD basis. The engine gave GBP0.75 a month here - it fell through para 4.3.1c's general formula, ceil((0 x 10 + 9) / 12), because the multiple-of-500 step only runs when the quotient is above zero - and that false 75p moved the whole-pound taxable figure down by GBP1 and the tax by 20p, overstating take-home on every 0T, S0T and C0T payslip where the pence in the pay are below 75p. The pay GBP1,666.67 is chosen to be one of those: 67p is below 75p, so the defect changes the answer rather than hiding inside the floor. The annual 0T vector already in this file does not reach the period free-pay code at all. freePay is asserted explicitly, so the vector fails on the cause and not only on the consequence.",
      "ledger": "L-2026-098"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "NT"
      },
      "expect": {
        "basic": 416.67,
        "freePay": 0,
        "additionalPay": 0,
        "taxable": 416.67,
        "tax": 0,
        "taxDeferred": 0,
        "ni": 0,
        "net": 416.67,
        "regulatoryLimitApplied": false
      },
      "source": "Hand-derived from the specification, not from either implementation. HMRC, Specification for PAYE tax table routines v24.0 (2026 to 2027), section 7, the routine for a cumulative code NT. Para 7.2: \"add the pay for the week to the cumulative figure of pay to date ... there is no rounding at this stage\", so cumulative pay to date is GBP416.67. Para 7.3: \"Since the whole of the Cumulative Pay to date is NOT to be charged to tax, Taxable Pay to date will be the same as the Cumulative Pay to date and this value may be passed directly to stage 3\", so taxable pay to date is GBP416.67 and not a whole-pound figure. Para 7.4: \"the action in this stage is to set the tax to date to zero\". The whole-pound floor is para 4.4.4, \"for the purpose of calculating tax it should now be rounded down to the nearest pound below\", and it belongs to the stage that para 7.4 replaces, so under NT no floored figure is ever produced. GOV.UK, \"Tax codes\": \"NT: you're not paying any tax on this income\" (https://www.gov.uk/tax-codes/letters-in-your-tax-code-what-they-mean). National Insurance is not affected by the tax code: 5,000 / 12 = GBP416.67 is below the prescribed monthly primary threshold of GBP1,048 (S.I. 2001/1004 reg. 11(2)(b); rules/uk/2026-27.json, second-reviewed under L-2026-048), so nil. Derivation: pay GBP416.67; taxable pay GBP416.67; tax GBP0.00; National Insurance GBP0.00; net GBP416.67. No money moves. Ruled in docs/ACCURACY-LEDGER.md L-2026-099 (hand:L-2026-099), on which NEITHER implementation was right: the engine reported GBP416 and the reference GBP0.",
      "why": "Taxable pay under NT is the pay itself, unrounded. Both implementations were wrong here in opposite directions and were each corrected against section 7, so nothing but a hand-derived vector holds the answer in place. It proves two separate things at once: that the para 4.4.4 whole-pound floor is NOT applied under NT (which rules out the engine's GBP416), and that taxable pay is not nil (which rules out the reference's GBP0, a reading para 7.3 contradicts in terms). The pay GBP416.67 is chosen with pence in it, because a figure that happened to be a whole number of pounds would satisfy every reading. tax and net are asserted alongside so the case also states plainly that no money moves - the disagreement was in what the payslip reports, not in what is paid.",
      "ledger": "L-2026-099"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "netpay",
          "pct": 5
        }
      },
      "expect": {
        "basic": 416.67,
        "pension": 20.83,
        "additionalPay": 1048.26,
        "taxable": 1444,
        "tax": 197.92,
        "taxDeferred": 90.88,
        "ni": 0,
        "net": 197.92,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived from the statute, not from either implementation. S.I. 2003/2682 reg. 2(1): \"'overriding limit' means the limit on the amount of tax to be deducted from a relevant payment and is an amount equal to 50% of the amount of the relevant payment\"; reg. 2(1): \"'relevant payments' has the meaning given in regulation 4\"; reg. 4(1): relevant payments \"means payments of, or on account of, net PAYE income\"; reg. 3(1): \"'Net PAYE income' means PAYE income less any- (a) allowable pension contributions, and (b) allowable donations to charity\"; reg. 3(2): \"'allowable pension contributions' means any contribution under a registered pension scheme which is withheld from the payment of PAYE income which is allowed to be deducted ... under section 193(2) of the Finance Act 2004 (relief under net pay arrangements)\"; reg. 23(5): \"the deduction is not to exceed the overriding limit\". All retrieved 2026-09-17 from https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 , /3 , /4 and /23 . PAYE spec v24.0 para 4.5.2 for the deducted figure, \"ln = M x (pn - pbik)\" and \"round down if necessary to the nearest 1p below\", and for the balance being carried rather than lost; para 4.3.1c for the K1257 additional pay; para 4.4.4 for the whole-pound floor. Derivation: pay 5,000 / 12 = GBP416.67; net-pay contribution 5% = GBP20.83; the relevant payment, PAYE income less the allowable pension contribution, is GBP395.84; additional pay for K1257 at month 1 = 2 x GBP416.67 + GBP214.92 = GBP1,048.26 (the decomposition machine-checked against Tables A under L-2026-095); taxable pay 395.84 + 1,048.26 = 1,444.10, floored to GBP1,444; tax due 20% = GBP288.80 (monthly basic band 37,700 / 12 = GBP3,141.67, not reached); overriding limit 50% x 395.84 = GBP197.92, so GBP197.92 is deducted and GBP90.88 is carried forward; National Insurance nil, GBP416.67 being below the prescribed monthly primary threshold of GBP1,048; net 416.67 - 20.83 - 197.92 = GBP197.92. Ruled in docs/ACCURACY-LEDGER.md L-2026-119 (hand:L-2026-119), which corrected BOTH implementations from GBP208.33 and GBP187.51.",
      "why": "The base of the 50% overriding limit for a NET-PAY pension contribution: the limit is measured on pay AFTER the contribution, because reg. 3(1)(a) takes an allowable pension contribution out of the 'relevant payment' the limit is a percentage of. Until 17 September 2026 both the engine and the reference measured it on pay BEFORE the contribution and so AGREED on GBP208.33 - engine:diff is blind to an error the two share, and only a golden vector can catch it. Not a discriminating case in the regulatoryLimitApplied sense: at GBP5,000 the limit binds under both readings, so this case pins the AMOUNT (197.92 against 208.33, and net 197.92 against 187.51) but not the flag. The flag is pinned by the GBP8,400 case in this ledger.",
      "ledger": "L-2026-119"
    },
    {
      "kind": "payslip",
      "period": "week",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "netpay",
          "pct": 5
        }
      },
      "expect": {
        "basic": 96.15,
        "pension": 4.81,
        "additionalPay": 241.92,
        "taxable": 333,
        "tax": 45.67,
        "taxDeferred": 20.93,
        "ni": 0,
        "net": 45.67,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived from the same statute and specification paragraphs as the monthly case above (S.I. 2003/2682 regs. 2(1), 3(1), 3(2), 4(1), 23(5), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 , /3 , /4 , /23 , retrieved 2026-09-17; PAYE spec v24.0 paras 4.3.1c, 4.4.4, 4.5.2). Derivation on the weekly basis: pay 5,000 / 52 = GBP96.15; net-pay contribution 5% of 96.15 = 4.8075, to the nearest penny GBP4.81; relevant payment GBP91.34; additional pay for K1257 at week 1 = 2 x GBP96.16 + GBP49.60 = GBP241.92 (each component rounded UP to the penny, para 4.3.1c, the figure recorded in docs/payroll-period-findings.md sec.2 and machine-checked against Tables A week 1 under L-2026-095); taxable 91.34 + 241.92 = 333.26, floored to GBP333; tax due 20% = GBP66.60 (weekly basic band 37,700 / 52 = GBP725.00, not reached); limit 50% x 91.34 = GBP45.67, so GBP45.67 deducted and GBP20.93 carried; National Insurance nil, GBP96.15 being below the prescribed weekly primary threshold of GBP242; net 96.15 - 4.81 - 45.67 = GBP45.67. hand:L-2026-119.",
      "why": "The same ruled base on the WEEKLY period, where the divisor, the rounding of the contribution (4.8075 rounds UP to 4.81, unlike the monthly 20.8335 which rounds down to 20.83) and the week-1 decomposition GBP241.92 are all different numbers. A monthly-only vector would leave the weekly path free to keep the old base. Not a regulatoryLimitApplied discriminator: the limit binds on both readings here; it pins the amount, GBP45.67 against the pre-ruling GBP48.07.",
      "ledger": "L-2026-119"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 8400,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "netpay",
          "pct": 5
        }
      },
      "expect": {
        "basic": 700,
        "pension": 35,
        "additionalPay": 1048.26,
        "taxable": 1713,
        "tax": 332.5,
        "taxDeferred": 10.1,
        "ni": 0,
        "net": 332.5,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived from the same statute and specification paragraphs (S.I. 2003/2682 regs. 2(1), 3(1), 3(2), 4(1), 23(5); PAYE spec v24.0 paras 4.3.1c, 4.4.4, 4.5.2). Gross chosen to fall inside the band where the two readings of the base disagree about WHETHER the limit binds at all. Derivation: pay 8,400 / 12 = GBP700.00 exactly; net-pay contribution 5% = GBP35.00 exactly, so no rounding is in play; relevant payment GBP665.00; additional pay K1257 month 1 GBP1,048.26; taxable 665.00 + 1,048.26 = 1,713.26, floored to GBP1,713; tax due 20% = GBP342.60; overriding limit on the ruled base 50% x 665.00 = GBP332.50, which is LESS than the tax due, so the limit binds: GBP332.50 deducted, GBP10.10 carried. On the pre-ruling base the limit would have been 50% x 700.00 = GBP350.00, MORE than the GBP342.60 due, so no limit would have applied and GBP342.60 would have been deducted. National Insurance nil, GBP700.00 being below the monthly primary threshold of GBP1,048; net 700.00 - 35.00 - 332.50 = GBP332.50. hand:L-2026-119.",
      "why": "THE DISCRIMINATING CASE. Inside the band (annual gross GBP8,111.94 to GBP8,826.89 for K1257 at 5% monthly, re-derived here and matching reference-keeper's GBP8,115-GBP8,827) where the ruled base makes the limit bind and the pre-ruling base does not. regulatoryLimitApplied flips true/false between the two readings, not merely the money, so this case separates them outright rather than by an amount: 270 of the grid's 982 binding cases behave this way and none of them was covered. Every figure is exact to the penny before rounding (700.00, 35.00), so nothing here can be explained away as a rounding convention.",
      "ledger": "L-2026-119"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 5000,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "expect": {
        "basic": 416.67,
        "pension": 16.66,
        "additionalPay": 1048.26,
        "taxable": 1464,
        "tax": 208.33,
        "taxDeferred": 84.47,
        "ni": 0,
        "net": 191.68,
        "regulatoryLimitApplied": true
      },
      "source": "Hand-derived. THE CONTROL for the two cases above. Finance Act 2004 s.192(1): under relief at source the member pays the contribution out of pay that has already borne tax and the scheme reclaims basic-rate relief, so nothing is \"withheld from the payment of PAYE income ... allowed to be deducted ... under section 193(2)\" within S.I. 2003/2682 reg. 3(2), and reg. 3(1) removes nothing from the relevant payment. The limit is therefore 50% of the WHOLE GBP416.67. This is the ruling in docs/ACCURACY-LEDGER.md L-2026-119 in terms: \"relief-at-source contributions come from pay after tax and stay IN the base\". Derivation: pay 5,000 / 12 = GBP416.67; gross contribution 5% = GBP20.83; the amount leaving pay is the 80% share, GBP16.66 (the same figure as the hand-verified relief-at-source golden case at this pay under L-2026-094); relevant payment GBP416.67, unreduced; additional pay K1257 month 1 GBP1,048.26; taxable 416.67 + 1,048.26 = 1,464.93, floored to GBP1,464; tax due 20% = GBP292.80; limit 50% x 416.67 = 208.335, rounded down to the penny below (PAYE spec v24.0 para 4.5.2) = GBP208.33 deducted, GBP84.47 carried; National Insurance nil; net 416.67 - 16.66 - 208.33 = GBP191.68. hand:L-2026-119.",
      "why": "The control that stops the three pension types being flattened into one base. It is the SAME input as the first case in this ledger with only the pension type changed, and it must keep the pre-ruling figures - tax GBP208.33, net GBP191.68 - for a reason the statute gives. Without it, a later change that measured the limit on pay after EVERY pension deduction would pass every other vector in this set while being wrong on relief at source.",
      "ledger": "L-2026-119"
    },
    {
      "kind": "payslip",
      "period": "month",
      "input": {
        "gross": 8400,
        "region": "rUK",
        "taxCode": "K1257",
        "pension": {
          "type": "ras",
          "pct": 5
        }
      },
      "expect": {
        "basic": 700,
        "pension": 28,
        "additionalPay": 1048.26,
        "taxable": 1748,
        "tax": 349.6,
        "taxDeferred": 0,
        "ni": 0,
        "net": 322.4,
        "regulatoryLimitApplied": false
      },
      "source": "Hand-derived. The control inside the discriminating band. Same sources as the GBP5,000 relief-at-source case: FA 2004 s.192(1) and S.I. 2003/2682 regs. 2(1), 3(1), 3(2), 4(1); PAYE spec v24.0 paras 4.3.1c, 4.4.4, 4.5.2. Derivation: pay 8,400 / 12 = GBP700.00; gross contribution 5% = GBP35.00; the amount leaving pay is the 80% share, GBP28.00; relevant payment GBP700.00, unreduced, because a relief-at-source contribution is not withheld from PAYE income; additional pay K1257 month 1 GBP1,048.26; taxable 700.00 + 1,048.26 = 1,748.26, floored to GBP1,748; tax due 20% = GBP349.60; limit 50% x 700.00 = GBP350.00, which is MORE than the tax due, so the limit does NOT bind and the whole GBP349.60 is deducted with nothing carried; National Insurance nil, GBP700.00 being below the monthly primary threshold of GBP1,048; net 700.00 - 28.00 - 349.60 = GBP322.40. hand:L-2026-119.",
      "why": "The strongest control available: the pay at which the net-pay and salary-sacrifice cases flip regulatoryLimitApplied to true, held against the pension type where the statute leaves the base alone, so it must stay FALSE. If a future change measured the limit on pay less the amount actually taken from pay (700.00 - 28.00 = 672.00, limit GBP336.00), the tax here would drop to GBP336.00 and the flag would turn true; this case fails on both, while the GBP5,000 relief-at-source control alone would not catch the flag.",
      "ledger": "L-2026-119"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 10000,
        "region": "rUK",
        "taxCode": "K4742"
      },
      "expect": {
        "incomeTax": 5000,
        "net": 5000,
        "taxNotDeducted": 10428,
        "regulatoryLimitApplied": true,
        "ni": 0,
        "effectiveRate": 50
      },
      "source": "hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), \"overriding limit\" = \"an amount equal to 50% of the amount of the relevant payment\", with regs. 3(1)-(2), 4(1) and 23(5), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; GOV.UK \"Employers and pension providers cannot take more than half of your pre-tax wages or pension when using a K tax code\", https://www.gov.uk/tax-codes/k-in-your-tax-code retrieved 2026-09-20. Bands and NI thresholds from rules/uk/2026-27.json 2026.9. Derivation: K4742 adds 4742 x 10 = 47,420; taxable 10,000 + 47,420 = 57,420; 20% x 37,700 = 7,540.00 plus 40% x 19,720 = 7,888.00, tax due 15,428.00; overriding limit 50% x 10,000.00 = 5,000.00, floored to the penny; deducted 5,000.00, not deducted 10,428.00; NI nil, gross being below the 12,570 primary threshold; net 10,000.00 - 5,000.00 = 5,000.00, which is 416.67 a month; effective rate 5,000.00 / 10,000.00 = 50.00%.",
      "why": "THIS CASE FAILS AGAINST TODAY'S ENGINE ON PURPOSE. It is the worked case of ruling D-186 / L-2026-1341, which is not implemented: src/engine/uk/index.ts:140 computes regulatoryLimit(payForTax) and uses it only to print a step, so today incomeTax is 15,428.00 (154.28% of gross) and net is -5,428.00, or -452.33 a month. reference/uk-reference.mjs returns the identical pair, which is why engine:diff never saw it. Do not weaken, skip or delete this vector to get green; it turns green when the cap is applied.",
      "ledger": "L-2026-1381"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 60000,
        "region": "rUK",
        "taxCode": "K1257"
      },
      "expect": {
        "incomeTax": 21488,
        "net": 35302,
        "regulatoryLimitApplied": false,
        "taxNotDeducted": 0,
        "ni": 3210
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; GOV.UK https://www.gov.uk/tax-codes/k-in-your-tax-code retrieved 2026-09-20. Bands and NI from rules/uk/2026-27.json 2026.9. Derivation: K1257 adds 12,570; taxable 60,000 + 12,570 = 72,570; 20% x 37,700 = 7,540.00 plus 40% x 34,870 = 13,948.00, tax due 21,488.00; overriding limit 50% x 60,000.00 = 30,000.00; 21,488.00 does not exceed 30,000.00, so nothing is capped and nothing is left undeducted; NI (50,270 - 12,570) x 8% = 3,016.00 plus (60,000 - 50,270) x 2% = 194.60, total 3,210.60 (the same figure the annual-summary vector at 60,000 already carries); net 60,000.00 - 21,488.00 - 3,210.60 = 35,301.40.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 60000.00 = eleven payments of GBP 5000.00 and GBP 5000.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 5000.00 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 3210.60 (annual-threshold basis) to GBP 3210.00 and net rises by the same GBP 0.60. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | THE CONTROL, and the case most worth having: a K code well inside the limit, which must never be capped. It fails if a future change caps something it should not, or applies the cap on the wrong side of the comparison. Today it fails only on regulatoryLimitApplied and taxNotDeducted, which the annual result does not yet carry; incomeTax and net are already right, which is exactly what a control should assert.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 8381,
        "region": "rUK",
        "taxCode": "K1257"
      },
      "expect": {
        "incomeTax": 4190.2,
        "net": 4190.8,
        "regulatoryLimitApplied": false,
        "taxNotDeducted": 0,
        "ni": 0
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1) and reg. 23(5), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; GOV.UK https://www.gov.uk/tax-codes/k-in-your-tax-code retrieved 2026-09-20. Bands from rules/uk/2026-27.json 2026.9. Derivation: with K1257 in the basic band tax due is 20% x (g + 12,570) and the limit is 0.5g, and the two are equal at g = 8,380, so 8,381 is one pound above the crossing. Taxable 8,381 + 12,570 = 20,951; 20% x 20,951 = 4,190.20 due; limit 50% x 8,381.00 = 4,190.50; 4,190.20 does not exceed 4,190.50, so nothing is capped. NI nil, below the 12,570 primary threshold. Net 8,381.00 - 4,190.20 = 4,190.80.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 8381.00 = eleven payments of GBP 698.42 and GBP 698.38 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 698.42 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. ADDS ni (this case asserted net with no ni key, so a period-basis change could have moved National Insurance here unseen). Monthly pay is below the monthly primary threshold of GBP 1,048, so s.8(1)(a) charges nothing in any period and the year is GBP 0.00 on BOTH bases — this case is coverage, not a correction, and its net is unchanged. Employee (primary) Class 1 only, ordinary non-director. | One pound above the point at which the limit starts to bite, and the narrowest headroom the ladder can leave: 30 pence. Paired with the 8,379 case below, it is the +/-1 edge of the bite itself. FAILS TODAY only on the two fields the annual result does not yet carry.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 8380,
        "region": "rUK",
        "taxCode": "K1257"
      },
      "expect": {
        "incomeTax": 4190,
        "net": 4190,
        "regulatoryLimitApplied": false,
        "taxNotDeducted": 0,
        "ni": 0
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1) (a deduction that EXCEEDS 50% of the relevant payment is what is forbidden; a deduction equal to it is not), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands from rules/uk/2026-27.json 2026.9. Derivation: taxable 8,380 + 12,570 = 20,950; 20% x 20,950 = 4,190.00 due; limit 50% x 8,380.00 = 4,190.00. Due EQUALS the limit, so the deduction is not restricted, nothing is left undeducted and the amount is 4,190.00 either way. NI nil. Net 8,380.00 - 4,190.00 = 4,190.00.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 8380.00 = eleven payments of GBP 698.33 and GBP 698.37 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 698.33 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. ADDS ni (this case asserted net with no ni key, so a period-basis change could have moved National Insurance here unseen). Monthly pay is below the monthly primary threshold of GBP 1,048, so s.8(1)(a) charges nothing in any period and the year is GBP 0.00 on BOTH bases — this case is coverage, not a correction, and its net is unchanged. Employee (primary) Class 1 only, ordinary non-director. | The boundary pound, where tax due is exactly half the payment. min(due, limit) gives the same money whichever way the boolean goes, so this case exists to fix the boolean: regulatoryLimitApplied is FALSE at equality, because nothing was restricted. That is the strict > already used on the period basis at src/engine/uk/payslip.ts:63 and reference/uk-reference.mjs:1311, carried to the annual basis rather than decided afresh.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 8379,
        "region": "rUK",
        "taxCode": "K1257"
      },
      "expect": {
        "incomeTax": 4189.5,
        "net": 4189.5,
        "taxNotDeducted": 0.3,
        "regulatoryLimitApplied": true,
        "ni": 0
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands from rules/uk/2026-27.json 2026.9. Derivation: taxable 8,379 + 12,570 = 20,949; 20% x 20,949 = 4,189.80 due; limit 50% x 8,379.00 = 4,189.50; due exceeds the limit by 30 pence, so the deduction is 4,189.50 and 0.30 is not deducted. NI nil. Net 8,379.00 - 4,189.50 = 4,189.50.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 8379.00 = eleven payments of GBP 698.25 and GBP 698.25 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 698.25 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. ADDS ni (this case asserted net with no ni key, so a period-basis change could have moved National Insurance here unseen). Monthly pay is below the monthly primary threshold of GBP 1,048, so s.8(1)(a) charges nothing in any period and the year is GBP 0.00 on BOTH bases — this case is coverage, not a correction, and its net is unchanged. Employee (primary) Class 1 only, ordinary non-director. | The smallest bite this ladder can produce, one pound below the crossing: 30 pence. A cap implemented with a tolerance, or compared on a rounded figure, loses this case while every large K code still passes. FAILS TODAY with the uncapped 4,189.80 and a net of 4,189.20.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 8379.01,
        "region": "rUK",
        "taxCode": "K1257"
      },
      "expect": {
        "incomeTax": 4189.5,
        "net": 4189.51,
        "taxNotDeducted": 0.3,
        "regulatoryLimitApplied": true,
        "ni": 0
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341, rule 3 (floored to the penny). S.I. 2003/2682 reg. 2(1): the limit is \"an amount equal to 50% of the amount of the relevant payment\" and the deduction may not exceed it, https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands from rules/uk/2026-27.json 2026.9. Derivation: the taxable base is taken down to the whole pound, so 8,379.01 + 12,570 still gives 20,949 and tax due is unchanged at 4,189.80. The relevant payment is now odd in pence: half of 8,379.01 is 4,189.505. A deduction of 4,189.51 would be MORE than half the payment, which reg. 2(1) forbids, so the limit is 4,189.50 floored, not 4,189.51 rounded. Deducted 4,189.50, not deducted 0.30, net 8,379.01 - 4,189.50 = 4,189.51.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 8379.01 = eleven payments of GBP 698.25 and GBP 698.26 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 698.25 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. ADDS ni (this case asserted net with no ni key, so a period-basis change could have moved National Insurance here unseen). Monthly pay is below the monthly primary threshold of GBP 1,048, so s.8(1)(a) charges nothing in any period and the year is GBP 0.00 on BOTH bases — this case is coverage, not a correction, and its net is unchanged. Employee (primary) Class 1 only, ordinary non-director. | THE ONLY CASE THAT PINS THE FLOOR. Every other case in this batch has an even-pence relevant payment, where floor, round-half-up and round-half-down agree. Here a round-half-up limit gives 4,189.51 and a net of 4,189.50 - one penny wrong in each, in the direction the statute prohibits. FAILS TODAY with the uncapped 4,189.80.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 20000,
        "region": "rUK",
        "taxCode": "K3000",
        "pension": {
          "type": "netpay",
          "pct": 10
        }
      },
      "expect": {
        "incomeTax": 9000,
        "net": 8406.12,
        "taxNotDeducted": 2660,
        "regulatoryLimitApplied": true,
        "ni": 593.88,
        "pensionFromPay": 2000
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341, applying the base settled at L-2026-119 and upheld in full by L-2026-235 (not reopened). S.I. 2003/2682 reg. 2(1) with reg. 4(1) (\"relevant payments\"), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Pension treatment, bands and NI from rules/uk/2026-27.json 2026.9. Derivation: a 10% net-pay contribution on 20,000.00 is 2,000.00 and comes out before tax, so the relevant payment for the limit is 18,000.00, not the 20,000.00 gross. K3000 adds 30,000; taxable 18,000 + 30,000 = 48,000; 20% x 37,700 = 7,540.00 plus 40% x 10,300 = 4,120.00, tax due 11,660.00; limit 50% x 18,000.00 = 9,000.00; deducted 9,000.00, not deducted 2,660.00. A net-pay contribution does not move the National Insurance base: (20,000 - 12,570) x 8% = 594.40. Net 20,000.00 - 9,000.00 - 594.40 - 2,000.00 = 8,405.60.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 20000.00 = eleven payments of GBP 1666.67 and GBP 1666.63 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 1666.67 give the same year, so the month-12 residue decides nothing here. A net pay pension contribution does NOT reduce earnings for NI, so the NI-able year is the full gross. The year's NI falls from GBP 594.40 (annual-threshold basis) to GBP 593.88 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | Pins the base of the annual limit for a net-pay contribution: 9,000.00, not the 10,000.00 a limit struck on gross would give. Read together with the relief-at-source case below - same salary, same code, same 10% - the two differ ONLY in the pension type, so a cap of 9,000.00 on one and 10,000.00 on the other can be explained by nothing but the base. FAILS TODAY with the uncapped 11,660.00 and a net of 5,745.60.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 20000,
        "region": "rUK",
        "taxCode": "K3000",
        "pension": {
          "type": "ras",
          "pct": 10
        }
      },
      "expect": {
        "incomeTax": 10000,
        "net": 7806.12,
        "taxNotDeducted": 2460,
        "regulatoryLimitApplied": true,
        "ni": 593.88,
        "pensionFromPay": 1600
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341, applying L-2026-119 as upheld by L-2026-235: relief-at-source contributions stay IN the base. S.I. 2003/2682 reg. 2(1) with reg. 4(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; Finance Act 2004 s.192(1) and (1A) for the basic-rate relief the member keeps, https://www.legislation.gov.uk/ukpga/2004/12/section/192 retrieved 2026-09-20. Rates from rules/uk/2026-27.json 2026.9 (reliefAtSourceBasicRate.rUK = 0.2). Derivation: a 10% relief-at-source contribution on 20,000.00 is a gross 2,000.00 into the pension, of which the member pays 2,000.00 less 20% = 1,600.00 out of pay AFTER tax. Neither the tax base nor the National Insurance base moves, so the relevant payment stays 20,000.00. K3000 adds 30,000; taxable 20,000 + 30,000 = 50,000; 20% x 37,700 = 7,540.00 plus 40% x 12,300 = 4,920.00, tax due 12,460.00; limit 50% x 20,000.00 = 10,000.00; deducted 10,000.00, not deducted 2,460.00. NI (20,000 - 12,570) x 8% = 594.40. Net 20,000.00 - 10,000.00 - 594.40 - 1,600.00 = 7,805.60.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 20000.00 = eleven payments of GBP 1666.67 and GBP 1666.63 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 1666.67 give the same year, so the month-12 residue decides nothing here. A relief-at-source pension contribution does NOT reduce earnings for NI, so the NI-able year is the full gross. The year's NI falls from GBP 594.40 (annual-threshold basis) to GBP 593.88 and net rises by the same GBP 0.52. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | RELIEF AT SOURCE IS THE TREATMENT MOST LIKELY TO BE GOT WRONG, because the obvious symmetry with the other two is false: it is the one contribution that does NOT come out of the base. If someone later \"tidies\" the three pension types into one deduction, this case gives a cap of 9,000.00 instead of 10,000.00 and a net 1,000.00 too low, while the net-pay case above still passes. FAILS TODAY with the uncapped 12,460.00 and a net of 5,345.60.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000,
        "region": "rUK",
        "taxCode": "K2500",
        "pension": {
          "type": "sacrifice",
          "pct": 20
        }
      },
      "expect": {
        "incomeTax": 12000,
        "net": 11086.08,
        "taxNotDeducted": 60,
        "regulatoryLimitApplied": true,
        "ni": 913.92,
        "pensionFromPay": 6000
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341, applying L-2026-119 as upheld by L-2026-235. S.I. 2003/2682 reg. 2(1) with reg. 4(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; HMRC EIM42750 for pay given up under a sacrifice never being paid. Bands, NI and pension treatment from rules/uk/2026-27.json 2026.9. Derivation: a 20% sacrifice on 30,000.00 gives up 6,000.00, so both the tax base and the NI base are 24,000.00 and the relevant payment for the limit is 24,000.00. K2500 adds 25,000; taxable 24,000 + 25,000 = 49,000; 20% x 37,700 = 7,540.00 plus 40% x 11,300 = 4,520.00, tax due 12,060.00; limit 50% x 24,000.00 = 12,000.00; deducted 12,000.00, not deducted 60.00. NI (24,000 - 12,570) x 8% = 914.40. Net 30,000.00 - 12,000.00 - 914.40 - 6,000.00 = 11,085.60.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 24000.00 = eleven payments of GBP 2000.00 and GBP 2000.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2000.00 give the same year, so the month-12 residue decides nothing here. Salary sacrifice reduces earnings for NI because the sacrificed pay is never paid to the earner, so the NI-able year is gross less the sacrifice. The year's NI falls from GBP 914.40 (annual-threshold basis) to GBP 913.92 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | Pins the base for a salary sacrifice, and does it at the tightest margin in the batch: the limit bites by 60.00. A limit wrongly struck on the 30,000.00 gross would be 15,000.00 and would not bite at all, so this case separates the right base from the wrong one by the whole of the cap rather than by a rounding. FAILS TODAY with the uncapped 12,060.00 and a net of 11,025.60.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 10000,
        "taxCode": "SK4742"
      },
      "expect": {
        "incomeTax": 5000,
        "net": 5000,
        "taxNotDeducted": 12377.85,
        "regulatoryLimitApplied": true,
        "region": "scotland",
        "ni": 0
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20; GOV.UK https://www.gov.uk/tax-codes/k-in-your-tax-code retrieved 2026-09-20; Scottish bands from rules/uk/2026-27.json 2026.9 (taxable-income limits 3,967 / 16,956 / 31,092 / 62,430 / 125,140). Derivation: the S prefix fixes the region, and K4742 adds 47,420; taxable 10,000 + 47,420 = 57,420; 19% x 3,967 = 753.73, 20% x 12,989 = 2,597.80, 21% x 14,136 = 2,968.56, 42% x 26,328 = 11,057.76, tax due 17,377.85; the limit is struck on the payment and not on the tax, so it is the same 50% x 10,000.00 = 5,000.00 as on the rUK ladder; deducted 5,000.00, not deducted 12,377.85; NI nil, below the 12,570 primary threshold; net 5,000.00.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 10000.00 = eleven payments of GBP 833.33 and GBP 833.37 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 833.33 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. ADDS ni (this case asserted net with no ni key, so a period-basis change could have moved National Insurance here unseen). Monthly pay is below the monthly primary threshold of GBP 1,048, so s.8(1)(a) charges nothing in any period and the year is GBP 0.00 on BOTH bases — this case is coverage, not a correction, and its net is unchanged. Employee (primary) Class 1 only, ordinary non-director. | The devolved ladder under the cap, and the only case here whose tax due is not a whole number of pounds. It proves the limit is a property of the payment, not of the ladder: the same salary and the same code give the same 5,000.00 deduction in Scotland and in England, and only the undeducted balance differs. FAILS TODAY with the uncapped 17,377.85 and a net of -7,377.85.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 30000,
        "region": "rUK",
        "taxCode": "K4742",
        "loans": [
          "plan2"
        ]
      },
      "expect": {
        "incomeTax": 15000,
        "net": 13551.08,
        "taxNotDeducted": 8428,
        "regulatoryLimitApplied": true,
        "ni": 1393.92,
        "studentLoan": 55
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), which limits the amount of TAX deducted from a relevant payment and says nothing about any other deduction, https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands, NI and the Plan 2 threshold and rate from rules/uk/2026-27.json 2026.9; whole-pound loan rounding from S.I. 2009/470 reg. 44(3) as settled at L-2026-039. Derivation: K4742 adds 47,420; taxable 30,000 + 47,420 = 77,420; 20% x 37,700 = 7,540.00 plus 40% x 39,720 = 15,888.00, tax due 23,428.00; limit 50% x 30,000.00 = 15,000.00; deducted 15,000.00, not deducted 8,428.00. NI (30,000 - 12,570) x 8% = 1,394.40. Plan 2 (30,000 - 29,385) x 9% = 55.35, pence ignored, 55.00. Net 30,000.00 - 15,000.00 - 1,394.40 - 55.00 = 13,550.60.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 30000.00 = eleven payments of GBP 2500.00 and GBP 2500.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 2500.00 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 1394.40 (annual-threshold basis) to GBP 1393.92 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | Total deductions here are 16,449.40, or 54.83% of gross - ABOVE half, and correct. The cap is on the tax, not on the deductions, so an implementation that limits the total to half the pay would take 15,000.00 in tax and then have to raid NI or the loan. This is the case that catches it, and it is the only case in the batch where the capped answer still leaves the payslip more than half deducted. FAILS TODAY with the uncapped 23,428.00 and a net of 5,122.60.",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 15000,
        "region": "rUK",
        "taxCode": "K3000"
      },
      "expect": {
        "incomeTax": 7500,
        "net": 7306.08,
        "taxNotDeducted": 2960,
        "regulatoryLimitApplied": true,
        "ni": 193.92
      },
      "source": "ni/net RE-DERIVED under L-2026-3335: hand: L-2026-3335 (period basis ruled right) + L-2026-3338 (its limits) — SSCBA 1992 s.8(1)(a) (the charge is on earnings paid in the period, above the primary threshold \"or the prescribed equivalent\"), S.I. 2001/1004 reg. 3(1) Table (earnings period = the length of the interval), reg. 11(3)(a) monthly PT GBP 1,048 and reg. 11(2A)(a) monthly UEL GBP 4,189 (both read at https://www.legislation.gov.uk/uksi/2001/1004/regulation/11, retrieved 2026-09-22), reg. 8(3) (the year is the earnings period only for a director) and reg. 21 (the only annual recomputation of primary Class 1, and only for more than one employment); rounding from CWG2 2026-27 §1/§2.7.5 and CA44 §40 as recorded in docs/payroll-period-findings.md §3.1. Derived by hand from those documents, not from src/engine/ or reference/. | prior provenance of the other fields, unchanged: hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands and NI from rules/uk/2026-27.json 2026.9. Derivation: K3000 adds 30,000; taxable 15,000 + 30,000 = 45,000; 20% x 37,700 = 7,540.00 plus 40% x 7,300 = 2,920.00, tax due 10,460.00; limit 50% x 15,000.00 = 7,500.00; deducted 7,500.00, not deducted 2,960.00; NI (15,000 - 12,570) x 8% = 194.40; net 15,000.00 - 7,500.00 - 194.40 = 7,305.60, which is 608.80 a month.",
      "why": "PERIOD BASIS, twelve monthly earnings periods: NI-able pay GBP 15000.00 = eleven payments of GBP 1250.00 and GBP 1250.00 in month 12 (the twelve sum to the year exactly); each period charged on the PRESCRIBED monthly primary threshold GBP 1,048 (S.I. 2001/1004 reg. 11(3)(a)) and monthly upper earnings limit GBP 4,189 (reg. 11(2A)(a)), at 8% and 2%, each band to the nearest penny with GBP 0.005 or less disregarded (CWG2 2026-27 §1 and §2.7.5; CA44 §40), and the twelve charges added. Twelve identical payments of GBP 1250.00 give the same year, so the month-12 residue decides nothing here. No pension, so the NI-able year is the full gross. The tax code does not enter National Insurance. The year's NI falls from GBP 194.40 (annual-threshold basis) to GBP 193.92 and net rises by the same GBP 0.48. Nothing else moves: taxable, personalAllowance, incomeTax, pensionFromPay and studentLoan are unaffected by an NI change, and where a K code is in play the overriding limit is \"an amount equal to 50% of the amount of the relevant payment\" (S.I. 2003/2682 reg. 2(1), read 2026-09-22), a figure NI does not enter, so regulatoryLimitApplied and taxNotDeducted are unaffected too and only net follows the NI. Employee (primary) Class 1 only, ordinary non-director. | THE MOST DANGEROUS OF THE UNCAPPED CASES, because today's answer looks fine. The engine prints 4,345.60, or 362.13 a month - a plausible positive figure understated by 40%, under a worked column that adds up - where a negative net at least announces itself. (The brief this batch was written from gave the true monthly as 608.84; it is 608.80, and 7,305.60 / 12 is exact. Recorded at L-2026-1384 so the wrong figure does not propagate.)",
      "ledger": "L-2026-3335"
    },
    {
      "kind": "annual",
      "input": {
        "gross": 8000,
        "region": "rUK",
        "taxCode": "K3086"
      },
      "expect": {
        "incomeTax": 4000,
        "net": 4000,
        "taxNotDeducted": 4004,
        "regulatoryLimitApplied": true,
        "ni": 0
      },
      "source": "hand: D-186 / L-2026-1341. S.I. 2003/2682 reg. 2(1), https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-20. Bands from rules/uk/2026-27.json 2026.9. Derivation: K3086 adds 30,860; taxable 8,000 + 30,860 = 38,860; 20% x 37,700 = 7,540.00 plus 40% x 1,160 = 464.00, tax due 8,004.00; limit 50% x 8,000.00 = 4,000.00; deducted 4,000.00, not deducted 4,004.00; NI nil, below the 12,570 primary threshold; net 8,000.00 - 4,000.00 = 4,000.00.",
      "why": "The first K code that drives net below zero at this salary, found by the K1-K9999 sweep recorded in D-186: K3085 gives tax due of exactly 8,000.00 and lands net on precisely nil, and K3086 is the next one up. It is also the lowest salary in the batch, where gen-vectors' codeGrosses begins - the generated grid holds K475 against 8,000, which is 31.9% of pay, so this is the same salary the grid already visits with a code that actually reaches the limit. FAILS TODAY with the uncapped 8,004.00 and a net of -4.00.",
      "ledger": "L-2026-1384"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 30000,
        "region": "rUK",
        "taxCode": "K5000"
      },
      "period": "month",
      "expect": {
        "basic": 2500,
        "additionalPay": 4167.45,
        "taxable": 6667,
        "tax": 1250,
        "taxDeferred": 788.46,
        "ni": 116.16,
        "studentLoan": 0,
        "net": 1133.84,
        "regulatoryLimitApplied": true
      },
      "source": "S.I. 2003/2682 (The Income Tax (Pay As You Earn) Regulations 2003), reg. 23(5) \"But … the deduction is not to exceed the overriding limit, subject to 62(6) (notional payments)\", https://www.legislation.gov.uk/uksi/2003/2682/regulation/23 retrieved 2026-09-21, with reg. 2(1) \"'overriding limit' means the limit on the amount of tax to be deducted from a relevant payment and is an amount equal to 50% of the amount of the relevant payment\", reg. 4(1) relevant payments are \"payments of, or on account of, net PAYE income\" and reg. 3(1) net PAYE income is \"PAYE income less any— (a) allowable pension contributions, and (b) allowable donations to charity\", https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 retrieved 2026-09-21. There is no pension and no payroll giving here, so the base is the payment itself: 50% x GBP2,500.00 = GBP1,250.00. Additional pay from HMRC Specification for PAYE tax table routines v24.0 §4.3.1c, K5000 = nine units of 500 plus a remainder of 500 = GBP417.42 + 9 x GBP416.67 = GBP4,167.45; taxable pay down to the whole pound (GBP6,667) per Tax Tables B to D 2026 to 2027 page 2; tax due GBP2,038.46 (GBP6,667 x 12 = GBP80,004 against the annual ladder, GBP24,461.60, divided by 12 down to the penny), of which GBP788.46 is reg. 2(1) \"tax not deducted because of the overriding limit\" and is carried as UT into the next period by reg. 23(2)(b). Hand-derived at docs/ACCURACY-LEDGER.md L-2026-1461.",
      "why": "The overriding limit ON THE PAYMENT ITSELF, with NO pension — the only reading of the base that no vector covered. Every earlier limit case (L-2026-097, L-2026-119) carries a salary sacrifice or a net-pay contribution, so all of them test reg. 3(1)'s SUBTRACTION and none tests the plain base. This state is one keystroke from the shipped defaults of /uk/second-job-tax-calculator/ (launch: launch): its own Job 1 default is GBP30,000, and typing K5000 into tc1 reaches it. The capped tax is EXACTLY half the pay, GBP1,250.00 of GBP2,500.00, which is the arithmetic behind the page's \"Income tax 50%\" legend; a floor-to-the-penny bug would be invisible here and is caught by the companion case at GBP34,000, so the two are only useful together. It also pins taxDeferred at a value large enough (GBP788.46) that dropping the deferral silently could not pass.",
      "ledger": "L-2026-1461"
    },
    {
      "kind": "payslip",
      "input": {
        "gross": 34000,
        "region": "rUK",
        "taxCode": "K5000",
        "loans": [
          "plan2"
        ]
      },
      "period": "month",
      "expect": {
        "basic": 2833.33,
        "additionalPay": 4167.45,
        "taxable": 7000,
        "tax": 1416.66,
        "taxDeferred": 755,
        "ni": 142.83,
        "studentLoan": 34,
        "net": 1239.84,
        "regulatoryLimitApplied": true
      },
      "source": "S.I. 2003/2682 reg. 2(1) and reg. 23(4) and (5), https://www.legislation.gov.uk/uksi/2003/2682/regulation/23 and https://www.legislation.gov.uk/uksi/2003/2682/regulation/2 both retrieved 2026-09-21. The payment is GBP34,000 / 12 = GBP2,833.33 and the limit is \"an amount equal to 50%\" of it: GBP1,416.665, taken DOWN to GBP1,416.66, because deducting GBP1,416.67 would be MORE than 50% of the relevant payment, which reg. 23(5) forbids. Additional pay GBP4,167.45 (spec v24.0 §4.3.1c); taxable payments GBP7,000.78 down to GBP7,000 (Tax Tables B to D 2026 to 2027 page 2); tax due GBP2,171.66 (GBP84,000 against the annual ladder = GBP26,060.00, divided by 12), leaving GBP755.00 as reg. 2(1) \"tax not deducted because of the overriding limit\". National Insurance GBP142.83 = (GBP2,833.33 - GBP1,048.00 monthly primary threshold, S.I. 2001/1004 reg. 11) x 8%, to the nearest penny with the half penny disregarded. Plan 2 GBP34.00 = (GBP2,833.33 - GBP2,448.75) x 9%, down to a whole pound (S.I. 2009/470 reg. 44). Hand-derived at docs/ACCURACY-LEDGER.md L-2026-1461.",
      "why": "Two edges in one state, both uncovered. (1) THE HALF PENNY: GBP2,833.33 is an odd number of pence, so the limit is GBP1,416.665 and the direction of rounding decides the answer — no existing vector puts the limit on a half penny. (2) TOTAL DEDUCTIONS EXCEED HALF THE PAY WHILE THE TAX DEDUCTION DOES NOT: GBP1,416.66 + GBP142.83 + GBP34.00 = GBP1,593.49 against a payment of GBP2,833.33. Reg. 2(1) limits \"tax\" only; National Insurance and student loan repayments are outside it. Every earlier capped case has nil NI and no loan, so an implementation that wrongly applied the limit to the whole deduction stack would have passed the entire suite. This state is one keystroke from /uk/payslip-checker/'s own defaults — GBP34,000 with Plan 2 retained — and that route is launch: hidden-until-verified, built and noindex but still answering 200 (L-2026-1336), so it is reachable and authored to the same standard as a launched one.",
      "ledger": "L-2026-1461"
    }
  ]
}
