[ { "name": "3,000 pounds a month on 1257L, category A, nothing else", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [], "pension": null } ], "expect": { "gross": { "minor": 300000, "currency": "GBP" }, "pensionEmployee": { "minor": 0, "currency": "GBP" }, "pensionEmployer": { "minor": 0, "currency": "GBP" }, "taxablePay": { "minor": 300000, "currency": "GBP" }, "tax": { "minor": 39020, "currency": "GBP" }, "employeeNi": { "minor": 15616, "currency": "GBP" }, "employerNi": { "minor": 38745, "currency": "GBP" }, "studentLoan": { "minor": 0, "currency": "GBP" }, "postgraduateLoan": { "minor": 0, "currency": "GBP" }, "net": { "minor": 245364, "currency": "GBP" }, "taxablePayToDate": { "minor": 300000, "currency": "GBP" }, "taxToDate": { "minor": 39020, "currency": "GBP" }, "period": 1, "taxYear": "2026/27" } }, { "name": "relief at source pension at the minimums, plan 2 and a postgraduate loan", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [ "plan-2", "postgraduate" ], "pension": { "employeeBasisPoints": null, "employerBasisPoints": null, "earningsBasis": "qualifying-earnings", "arrangement": "relief-at-source" } } ], "expect": { "gross": { "minor": 300000, "currency": "GBP" }, "pensionEmployee": { "minor": 9920, "currency": "GBP" }, "pensionEmployer": { "minor": 7440, "currency": "GBP" }, "taxablePay": { "minor": 300000, "currency": "GBP" }, "tax": { "minor": 39020, "currency": "GBP" }, "employeeNi": { "minor": 15616, "currency": "GBP" }, "employerNi": { "minor": 38745, "currency": "GBP" }, "studentLoan": { "minor": 4900, "currency": "GBP" }, "postgraduateLoan": { "minor": 7500, "currency": "GBP" }, "net": { "minor": 223044, "currency": "GBP" }, "taxablePayToDate": { "minor": 300000, "currency": "GBP" }, "taxToDate": { "minor": 39020, "currency": "GBP" }, "period": 1, "taxYear": "2026/27" } }, { "name": "a net pay arrangement comes off before tax but not before NI", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [], "pension": { "employeeBasisPoints": 500, "employerBasisPoints": 300, "earningsBasis": "all-earnings", "arrangement": "net-pay" } } ], "expect": { "gross": { "minor": 300000, "currency": "GBP" }, "pensionEmployee": { "minor": 15000, "currency": "GBP" }, "pensionEmployer": { "minor": 9000, "currency": "GBP" }, "taxablePay": { "minor": 285000, "currency": "GBP" }, "tax": { "minor": 36020, "currency": "GBP" }, "employeeNi": { "minor": 15616, "currency": "GBP" }, "employerNi": { "minor": 38745, "currency": "GBP" }, "studentLoan": { "minor": 0, "currency": "GBP" }, "postgraduateLoan": { "minor": 0, "currency": "GBP" }, "net": { "minor": 233364, "currency": "GBP" }, "taxablePayToDate": { "minor": 285000, "currency": "GBP" }, "taxToDate": { "minor": 36020, "currency": "GBP" }, "period": 1, "taxYear": "2026/27" } }, { "name": "a Scottish taxpayer with plans 1 and 2 repays once, at plan 1's lower threshold", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "S1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [ "plan-2", "plan-1" ], "pension": null } ], "expect": { "gross": { "minor": 300000, "currency": "GBP" }, "pensionEmployee": { "minor": 0, "currency": "GBP" }, "pensionEmployer": { "minor": 0, "currency": "GBP" }, "taxablePay": { "minor": 300000, "currency": "GBP" }, "tax": { "minor": 39227, "currency": "GBP" }, "employeeNi": { "minor": 15616, "currency": "GBP" }, "employerNi": { "minor": 38745, "currency": "GBP" }, "studentLoan": { "minor": 6800, "currency": "GBP" }, "postgraduateLoan": { "minor": 0, "currency": "GBP" }, "net": { "minor": 238357, "currency": "GBP" }, "taxablePayToDate": { "minor": 300000, "currency": "GBP" }, "taxToDate": { "minor": 39227, "currency": "GBP" }, "period": 1, "taxYear": "2026/27" } }, { "name": "weekly pay under the allowance and the primary threshold: only employer NI", "args": [ { "gross": { "minor": 20000, "currency": "GBP" }, "frequency": "weekly", "payDate": "2025-04-11", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [], "pension": null } ], "expect": { "gross": { "minor": 20000, "currency": "GBP" }, "pensionEmployee": { "minor": 0, "currency": "GBP" }, "pensionEmployer": { "minor": 0, "currency": "GBP" }, "taxablePay": { "minor": 20000, "currency": "GBP" }, "tax": { "minor": 0, "currency": "GBP" }, "employeeNi": { "minor": 0, "currency": "GBP" }, "employerNi": { "minor": 1560, "currency": "GBP" }, "studentLoan": { "minor": 0, "currency": "GBP" }, "postgraduateLoan": { "minor": 0, "currency": "GBP" }, "net": { "minor": 20000, "currency": "GBP" }, "taxablePayToDate": { "minor": 20000, "currency": "GBP" }, "taxToDate": { "minor": 0, "currency": "GBP" }, "period": 1, "taxYear": "2025/26" } }, { "name": "a student loan plan listed twice is an error", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [ "plan-2", "plan-2" ], "pension": null } ], "expectError": "listed twice" }, { "name": "gross pay in euros is an error", "args": [ { "gross": { "minor": 300000, "currency": "EUR" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257L", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [], "pension": null } ], "expectError": "must be in GBP" }, { "name": "a code HMRC does not issue is an error", "args": [ { "gross": { "minor": 300000, "currency": "GBP" }, "frequency": "monthly", "payDate": "2026-04-28", "taxCode": "1257Q", "previousTaxablePayToDate": { "minor": 0, "currency": "GBP" }, "previousTaxToDate": { "minor": 0, "currency": "GBP" }, "niCategory": "A", "studentLoanPlans": [], "pension": null } ], "expectError": "unrecognised tax code" } ]