|
| 1 | +# Company-director NI (annual cumulative basis) |
| 2 | + |
| 3 | +```{note} |
| 4 | +PolicyEngine UK applies a **single annual NI calculation** at the |
| 5 | +person level. For most users this matches what HMRC charges company |
| 6 | +directors at year end. This page explains the relationship between the |
| 7 | +director-specific "annual cumulative" basis HMRC uses and PolicyEngine's |
| 8 | +current modelling, and describes what would need to change to expose a |
| 9 | +dedicated director-specific path. Tracked under |
| 10 | +[#721](https://github.com/PolicyEngine/policyengine-uk/issues/721). |
| 11 | +``` |
| 12 | + |
| 13 | +## What HMRC's annual cumulative basis is |
| 14 | + |
| 15 | +Class 1 NI is normally charged on each *earnings period* (typically a |
| 16 | +week or a month) — the employer applies the weekly/monthly thresholds |
| 17 | +to that pay period's earnings in isolation. Directors are a special |
| 18 | +case because their pay is often irregular: a director might take £0 in |
| 19 | +salary for eleven months and then a £200,000 bonus in December. Under |
| 20 | +period-by-period NI rules, that pattern would generate massive NI in |
| 21 | +the bonus month and almost none in the other eleven, even though the |
| 22 | +director's annual income is no different from someone earning a steady |
| 23 | +salary. |
| 24 | + |
| 25 | +To prevent this avoidance route, [SSCBA 1992 s.122 and the *Social |
| 26 | +Security (Contributions) Regulations 2001*][nim12000] require directors |
| 27 | +to use an **annual earnings period** by default: |
| 28 | + |
| 29 | +1. The director's NI is computed on a **cumulative** year-to-date |
| 30 | + basis. |
| 31 | +2. The annual thresholds (Primary Threshold, Upper Earnings Limit, |
| 32 | + Secondary Threshold) are applied to YTD earnings, not to each pay |
| 33 | + period's earnings in isolation. |
| 34 | +3. NI is charged once YTD earnings cross each threshold, and never |
| 35 | + refunded if earnings drop later in the year. |
| 36 | + |
| 37 | +There is also an "**alternative**" method, which approximates the |
| 38 | +annual basis with monthly cumulative figures, used for in-year |
| 39 | +operational simplicity; the final year-end reconciliation still uses |
| 40 | +the annual basis. |
| 41 | + |
| 42 | +## How PolicyEngine currently handles this |
| 43 | + |
| 44 | +PolicyEngine UK already computes NI **annually** for every person: |
| 45 | + |
| 46 | +- The Class 1 employee primary and additional formulas in |
| 47 | + [`variables/gov/hmrc/national_insurance/class_1/`](https://github.com/PolicyEngine/policyengine-uk/tree/main/policyengine_uk/variables/gov/hmrc/national_insurance/class_1) |
| 48 | + read weekly thresholds from `gov.hmrc.national_insurance.class_1.thresholds` |
| 49 | + and convert them to monthly (`× WEEKS_IN_YEAR / MONTHS_IN_YEAR`) before |
| 50 | + applying the rate. |
| 51 | +- Because the input `employment_income` is annual and is implicitly |
| 52 | + spread evenly across months, the **annual NI** the model produces is |
| 53 | + identical to the annual cumulative figure a director would owe — for |
| 54 | + someone earning the same total over the year, the two methods give |
| 55 | + the same answer. |
| 56 | + |
| 57 | +That's why microsimulation results don't depend on director status. |
| 58 | + |
| 59 | +## Where the current model could diverge from HMRC's director rules |
| 60 | + |
| 61 | +Three situations could in principle produce a different answer: |
| 62 | + |
| 63 | +1. **Irregular within-year pay**. If a household-calculator user inputs |
| 64 | + an annual `employment_income` of, say, £80,000 but means it as a |
| 65 | + single lump-sum payment, PolicyEngine still spreads it across twelve |
| 66 | + months — matching the annual cumulative outcome. There is no |
| 67 | + surface here for the user to express the pay timing. |
| 68 | +2. **Mid-year start or end** of directorship within a tax year. The |
| 69 | + pro-rating rules for directors who start or cease being a director |
| 70 | + part-way through a year are slightly different from regular |
| 71 | + employees — PolicyEngine assumes a full-year period everywhere. |
| 72 | +3. **Multiple employments**. A director with two separate company |
| 73 | + roles can sometimes have NI calculated separately per employment. |
| 74 | + PolicyEngine has a single `employment_income` per person and so |
| 75 | + collapses this case. |
| 76 | + |
| 77 | +In practice (1) and (2) only matter for the household-calculator |
| 78 | +front-end, not microsimulation. (3) is a wider modelling gap that |
| 79 | +applies beyond directors. |
| 80 | + |
| 81 | +## What a dedicated director path would look like |
| 82 | + |
| 83 | +A future PR addressing this fully would add: |
| 84 | + |
| 85 | +- A new boolean input `is_company_director` (Person, year). |
| 86 | +- A documentation flag on `ni_class_1_employee_primary` / `_additional` |
| 87 | + noting that for directors with `is_company_director == true` the |
| 88 | + formula returns the same annual figure as the regular path (rather |
| 89 | + than period-by-period NI), confirming the equivalence. |
| 90 | +- Optional follow-up: a `company_director_pay_timing` enum so that |
| 91 | + household-calculator users who model a director's actual pay pattern |
| 92 | + can document their intent, but the resulting NI stays on the annual |
| 93 | + basis. |
| 94 | + |
| 95 | +For now PolicyEngine is **functionally correct** for any user whose |
| 96 | +input is an annual income — which is the expected interface — and |
| 97 | +no code changes are needed in the short term. |
| 98 | + |
| 99 | +## References |
| 100 | + |
| 101 | +- HMRC, [NIM12000 — Class 1 NICs: company directors](https://www.gov.uk/hmrc-internal-manuals/national-insurance-manual/nim12000) — primary internal guidance covering the annual cumulative basis. |
| 102 | +- HMRC, [CA44 — National Insurance for company directors](https://www.gov.uk/government/publications/ca44-national-insurance-for-company-directors) — the operational employer guide. |
| 103 | +- [The Social Security (Contributions) Regulations 2001 (SI 2001/1004) reg. 8](https://www.legislation.gov.uk/uksi/2001/1004/regulation/8) — the regulation that imposes the annual earnings period. |
| 104 | +- [Social Security Contributions and Benefits Act 1992 s. 8](https://www.legislation.gov.uk/ukpga/1992/4/section/8) — primary statute for Class 1 employee NI. |
| 105 | + |
| 106 | +[nim12000]: https://www.gov.uk/hmrc-internal-manuals/national-insurance-manual/nim12000 |
0 commit comments