Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/1918.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Zero-rate employer Class 1 National Insurance for earners under 21 up to the upper secondary threshold (SSCBA 1992 s.9A) and for apprentices under 25 up to the apprentice upper secondary threshold (s.9B), with both thresholds kept equal to the upper earnings limit after 2030-31. The employer cost variables, the fixed-employer-cost pay response and the salary sacrifice employer NI measure apply the same schedule through one shared helper. The fixed-employer-cost pay response now solves for NIC earnings (pay plus statutory pay) on each side of the reformed threshold, so it also holds where statutory pay takes earnings over a threshold or a reform moves a threshold across a person's earnings. From 2029 the employer cost variables and the pay response also charge employer NI on salary sacrifice above the £2,000 cap, as Class 1 does, and count the broad-base haircut and returned pay as pay, so the baseline and reformed costs equal `employer_cost` in their simulations.
27 changes: 20 additions & 7 deletions policyengine_uk/parameters/gov/hmrc/create_threshold_indexation.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,11 @@
- upper profits limit = personal allowance + basic rate limit;
- primary threshold and upper earnings limit = those annual amounts divided
by 52 and rounded to the penny, the weekly convention the parameter files
already use (12,570 / 52 = 241.73 and 50,270 / 52 = 966.73).
already use (12,570 / 52 = 241.73 and 50,270 / 52 = 966.73);
- upper secondary threshold and apprentice upper secondary threshold = the
upper earnings limit. HMRC's Budget 2025 note says they "will remain aligned
to the National Insurance contributions UEL" to 2030-31, and they have
equalled it in every year since they were introduced.

The secondary threshold is not aligned with an income tax threshold. HMRC's
Autumn Budget 2024 note says that after its freeze it "will be increased in
Expand All @@ -92,7 +96,7 @@
(a reform dict, ``parameter_changes``, ``Reform.from_dict``) writes its changes
onto the parameters before they are processed, as does a simulation modifier
that resets and reprocesses them (as ``no_economic_assumptions`` does), so the
values are rebuilt with the change: a changed CPI forecast moves all eight,
values are rebuilt with the change: a changed CPI forecast moves all ten,
and a change to the personal allowance or basic rate limit after 2030-31 also
moves the aligned NICs thresholds (see ``policyengine_uk.utils.dated_reforms``).
The exceptions edit the processed parameters, so they do not move the others:
Expand Down Expand Up @@ -137,6 +141,8 @@
"gov.hmrc.national_insurance.class_1.employee_scale[1].threshold",
"gov.hmrc.national_insurance.class_1.employee_scale[2].threshold",
"gov.hmrc.national_insurance.class_1.employer_scale[1].threshold",
"gov.hmrc.national_insurance.class_1.thresholds.upper_secondary_threshold",
"gov.hmrc.national_insurance.class_1.thresholds.apprentice_upper_secondary_threshold",
"gov.hmrc.national_insurance.class_4.contribution_scale[1].threshold",
"gov.hmrc.national_insurance.class_4.contribution_scale[2].threshold",
)
Expand Down Expand Up @@ -339,6 +345,8 @@ def add_threshold_indexation(parameters: ParameterNode) -> ParameterNode:
class_1.employee_scale.brackets[1].threshold,
class_1.employee_scale.brackets[2].threshold,
class_1.employer_scale.brackets[1].threshold,
class_1.thresholds.upper_secondary_threshold,
class_1.thresholds.apprentice_upper_secondary_threshold,
class_4.contribution_scale.brackets[1].threshold,
class_4.contribution_scale.brackets[2].threshold,
]
Expand Down Expand Up @@ -386,12 +394,17 @@ def add_threshold_indexation(parameters: ParameterNode) -> ParameterNode:
class_1.employee_scale.brackets[1].threshold,
{year: weekly_equivalent(value) for year, value in personal_allowance.items()},
)
upper_earnings_limit = {
year: weekly_equivalent(value) for year, value in higher_rate_threshold.items()
}
write_unstated_tax_years(
class_1.employee_scale.brackets[2].threshold,
{
year: weekly_equivalent(value)
for year, value in higher_rate_threshold.items()
},
class_1.employee_scale.brackets[2].threshold, upper_earnings_limit
)
write_unstated_tax_years(
class_1.thresholds.upper_secondary_threshold, upper_earnings_limit
)
write_unstated_tax_years(
class_1.thresholds.apprentice_upper_secondary_threshold, upper_earnings_limit
)
write_unstated_tax_years(
class_1.employer_scale.brackets[1].threshold, secondary_threshold
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Secondary zero rate age limits
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: Age below which an apprentice is a relevant apprentice, whose secondary Class 1 contributions are zero-rated up to the apprentice upper secondary threshold.
values:
2015-04-06:
value: 25
metadata:
reference:
- title: Social Security Contributions and Benefits Act 1992 s.9B(2)(a)
href: https://www.legislation.gov.uk/ukpga/1992/4/section/9B
metadata:
label: NI relevant apprentice age limit
unit: year
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: Age below which an earner falls in the under-21 group, whose age-related secondary percentage is 0% up to the upper secondary threshold.
values:
2015-04-06:
value: 21
metadata:
reference:
- title: Social Security Contributions and Benefits Act 1992 s.9A(3)
href: https://www.legislation.gov.uk/ukpga/1992/4/section/9A
metadata:
label: NI under-21 zero rate age limit
unit: year
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
description: Apprentice upper secondary threshold, up to which secondary Class 1 contributions are zero-rated for a relevant apprentice under 25.
# The threshold has equalled the upper earnings limit (UEL) in every year since
# it was introduced. From 2021-22 the model stores the annual earnings period
# amount divided by 52 (50,270 / 52, rounded to 966.73), as for the UEL; reg
# 10 states £967 a week and reg 11(3C) £50,270 for an annual earnings period.
# Legal status: SI 2001/1004 reg 10 sets the amount for 2026-27 only. The
# 2027-28 to 2030-31 values are announced policy: HMRC's Budget 2025 note says
# the UST and AUST "will remain aligned to the National Insurance
# contributions UEL at £967 per week up until the 2030 to 2031 tax year".
# From 2031-32 the model keeps the threshold equal to the UEL
# (policyengine_uk/parameters/gov/hmrc/create_threshold_indexation.py), a
# modelling assumption consistent with that alignment. The file has no
# uprating.
# s.9B took effect from 6 April 2016 (National Insurance Contributions Act
# 2015 s.1). The 2015-16 value of 0 gives no zero-rate band in that year: the
# model backdates a parameter's earliest value, so it is stated explicitly.
values:
2015-04-06:
value: 0
metadata:
reference:
- title: National Insurance Contributions Act 2015 s.1 (inserting SSCBA 1992 s.9B), in force from 6 April 2016
href: https://www.legislation.gov.uk/ukpga/2015/5/section/1
2016-04-06:
value: 827
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2016-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2016-04-06
2017-04-06:
value: 866
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2017-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2017-04-06
2018-04-06:
value: 892
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2018-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2018-04-06
2019-04-06:
value: 962
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2019-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2019-04-06
2020-04-06:
value: 962
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2020-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2020-04-06
2021-04-06:
value: 966.73
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f), as at 2021-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2021-04-06
2026-04-06:
value: 966.73
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(f) and reg 11(3C), for 2026-27 (reg 10's tax year set by SI 2026/231 reg 5(2)(a))
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/11/2026-04-06
2027-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2028-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2029-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2030-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
metadata:
label: NI apprentice upper secondary threshold
unit: currency-GBP
period: week
reference:
- title: Social Security Contributions and Benefits Act 1992 s.9B
href: https://www.legislation.gov.uk/ukpga/1992/4/section/9B
- title: The Social Security (Contributions) Regulations 2001 reg 10(f)
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
description: Upper secondary threshold for the under-21 group, up to which the age-related secondary percentage of 0% applies to an earner under 21.
# The threshold has equalled the upper earnings limit (UEL) in every year since
# it was introduced. From 2021-22 the model stores the annual earnings period
# amount divided by 52 (50,270 / 52, rounded to 966.73), as for the UEL; reg
# 10 states £967 a week and reg 11(3B) £50,270 for an annual earnings period.
# Legal status: SI 2001/1004 reg 10 sets the amount for 2026-27 only. The
# 2027-28 to 2030-31 values are announced policy: HMRC's Budget 2025 note says
# the UST and AUST "will remain aligned to the National Insurance
# contributions UEL at £967 per week up until the 2030 to 2031 tax year".
# From 2031-32 the model keeps the threshold equal to the UEL
# (policyengine_uk/parameters/gov/hmrc/create_threshold_indexation.py), a
# modelling assumption consistent with that alignment. The file has no
# uprating.
values:
2015-04-06:
value: 815
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2015-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2015-04-06
2016-04-06:
value: 827
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2016-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2016-04-06
2017-04-06:
value: 866
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2017-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2017-04-06
2018-04-06:
value: 892
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2018-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2018-04-06
2019-04-06:
value: 962
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2019-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2019-04-06
2020-04-06:
value: 962
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2020-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2020-04-06
2021-04-06:
value: 966.73
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e), as at 2021-04-06
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10/2021-04-06
2026-04-06:
value: 966.73
metadata:
reference:
- title: The Social Security (Contributions) Regulations 2001 reg 10(e) and reg 11(3B), for 2026-27 (reg 10's tax year set by SI 2026/231 reg 5(2)(a))
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/11/2026-04-06
2027-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2028-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2029-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
2030-04-06:
value: 966.73
metadata:
reference:
- title: "HMRC: Maintaining Income Tax and equivalent National Insurance contributions thresholds until 5 April 2031"
href: https://www.gov.uk/government/publications/maintaining-income-tax-and-equivalent-national-insurance-contributions-thresholds-until-5-april-2031/income-tax-maintaining-the-personal-allowance-and-the-basic-rate-limit-for-income-tax-and-equivalent-national-insurance-contributions-thresholds-unt
- title: Budget 2025 (HC 1492) para 4.111
href: https://assets.publishing.service.gov.uk/media/6929b353345e31ab14ecf735/E03444720_Budget_2025_Web_Accessible.pdf#page=113
metadata:
label: NI upper secondary threshold (under 21)
unit: currency-GBP
period: week
reference:
- title: Social Security Contributions and Benefits Act 1992 s.9A
href: https://www.legislation.gov.uk/ukpga/1992/4/section/9A
- title: The Social Security (Contributions) Regulations 2001 reg 10(e)
href: https://www.legislation.gov.uk/uksi/2001/1004/regulation/10
Loading
Loading