Employer Class 1 rate is 13.8% in 2022-23; the Health and Social Care Levy set 15.05%
Maintainers usually reply within 1 day
A pull request for this has already been merged.
- #2227 by @MaxGhenis — merged
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 18/100
Research direction
The rate sits in class_1/rates/employer.yaml, and the year sampling happens in convert_to_fiscal_year_parameters, which #1807 covers. Open PR #2227 already targets this, so read it and the statute references before doing anything else. Done means model year 2022 reads 15.05% for the employer rate under the agreed sampling convention, with the Acts cited in the YAML.
Written by the indexing model from the issue text.
Description
Summary
The employer (secondary) Class 1 rate parameter holds 13.8% for all of 2022-23. The Health and Social Care Levy Act 2021 s.5(2)(b) set the secondary percentage at 15.05% for the tax year 2022-23. The Health and Social Care Levy (Repeal) Act 2022 s.2(1) kept that rate only "in relation to payments of earnings made before 6 November 2022".
The employee main rate (gov.hmrc.national_insurance.class_1.rates.employee.main) already carries the levy: 13.25% from 2022-04-01, then 12% from 2022-11-06. So model year 2022 has the levy on the employee side but not on the employer side.
The law
HSCL Act 2021 s.5(2): Part 1 of SSCBA 1992 is to have effect for 2022-23 as if:
- (a)(i) in s.8(2)(a), the main primary percentage, "13.25" replaced "12";
- (b) in s.9(2), the secondary percentage, "15.05" replaced "13.8".
Repeal Act 2022 s.2(1) continues s.5(2)(a) and (b) for payments of earnings made before 6 November 2022. Sch para 5(3) gives directors' annual earnings periods for 2022-23 a main primary percentage of 12.73% and a secondary percentage of 14.53%. To two decimal places these equal the day-weighted averages of the two rates over the tax year: 214 days at the levy rate and 151 days at the base rate.
What the model does
convert_to_fiscal_year_parameters reads each tax year at 30 April (#1807). For 2022 it returns:
| Rate | Model (main) | Statute at 30 April 2022 |
|---|---|---|
| Employee main | 13.25% | 13.25% |
| Employer (secondary) | 13.8% | 15.05% |
Example: employer NI on £30,000 in 2022-23 is £2,884.20 (13.8% × (£30,000 − £9,100)). At 15.05% it is £3,145.45.
Fix
Add 15.05% from 2022-04-06 and 13.8% again from 2022-11-06 to class_1/rates/employer.yaml, citing both Acts. With 30 April sampling, model year 2022 then reads 15.05%, which matches how the employee main rate is treated. Whether to average across the year instead (14.53%, the directors' figure) is the per-parameter choice that #1807 covers. This fix follows the employee rate's existing convention.
Related gaps (separate fixes)
These have the same statutory source. They change other years, so they are not part of this fix:
class_1/rates/employee/additional.yamlholds 3.25% until 2024-04-04. Under Repeal Act s.2(1) the additional primary percentage went back to 2% from 6 November 2022. So model year 2023 reads 3.25% instead of 2%.class_4/rates/main.yamlandclass_4/rates/additional.yaml: Repeal Act s.2(2) sets 9.73% and 2.73% for the whole of 2022-23. The model reads 10.25% and 3.5% for 2022. HSCL s.5(2)(c)(ii) set the additional Class 4 rate at 3.25%, so 3.5% was never in force. Open PR #2058 corrects both Class 4 rates.
Related: #652 (closed), #1807, #2178.
- Dominant language
- Python
- Stars
- 51
- Forks
- 34
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 177
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PolicyEngine/policyengine-uk
-
Personal allowance for 2016-17 is £10,600; it was £11,000Possibly taken @juaristi22 claimed this 1 day ago. Open
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
PolicyEngine/policyengine-uk#2359 · 1 assignee ·
Maintainers usually reply within 1 day
-
Northern Ireland business rates statistic is twice the OBR NI line: regional vs district ratesPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine-uk#2343 ·
Maintainers usually reply within 1 day
-
Wealth and consumption shares divide by a weighted total that can be zeroPossibly taken @juaristi22 claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine-uk#2296 ·
Maintainers usually reply within 1 day
-
Childcare funding rates are CPI-uprated 2024-25 values, below DfE's published 2025-26 and 2026-27 ratesPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine-uk#2183 ·
Maintainers usually reply within 1 day
-
Follow-ups from #2160: qualifying-age docstring, UC work-related groups property-file speed, changelog fragment examplePossibly taken @juaristi22 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
PolicyEngine/policyengine-uk#2162 ·
Maintainers usually reply within 1 day
All issues in PolicyEngine/policyengine-uk
Similar issues
-
bug needs-triage priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
yeongseon/azure-functions-logging-python#583 ·
Maintainers usually reply within 1 day
-
documentation needs-triage priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
yeongseon/azure-functions-validation-python#546 ·
Maintainers usually reply within 1 day
-
PHP workflow streaming requests buffer the full SSE responsePossibly taken @Winoren claimed this today. Openreview: medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
langgenius/dify#44270 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
P4: low
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
jeffknupp/association#523 ·
-
bug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
DarkStarSystems/pcons#229 ·
Maintainers usually reply within 1 day