Skip to content

Pension contributions above the Annual Allowance are denied relief and also charged the Annual Allowance charge #2237

Open

Description

@MaxGhenis

What happens

pension_contributions_relief caps relief at max(basic_amount, pension_annual_allowance) (variables/gov/hmrc/pensions/pension_contributions_relief.py). Then personal_pension_contributions_tax charges (pension_contributions_for_annual_allowance − pension_annual_allowance) × marginal rate (variables/gov/hmrc/pensions/private_pension_contributions_tax.py), and that charge feeds income tax. The excess over the allowance is therefore taxed twice: it gets no relief, and it is charged.

Under the law, relief is given on contributions up to 100% of relevant UK earnings (Finance Act 2004 s.190). The Annual Allowance charge (s.227) then claws back relief on the excess, once. Carry-forward of unused allowance from the three previous years (s.228A) is also not modelled.

Reproducer

Run at 2.89.2. The formulas are unchanged on main as of 9 October 2026.

One adult, age 45, £150,000 employment income, London, 2024:

personal_pension_contributions relief AA charge income_tax
£60,000 £60,000 £0 £28,460
£80,000 £60,000 £8,000 £36,460

With the correct treatment, the £80,000 case gets relief on £80,000 (taxable income £20,000 lower), and the £8,000 charge then takes back the extra relief. Income tax should be about the same as the £60,000 case, not £8,000 higher.

Impact

Found by the fiscal-event replay in PolicyEngine/policyengine-scorecard#157, reviewed in #156. Spring Budget 2023's Annual Allowance increase to £60,000 costs −£4.3bn to −£6.5bn a year in PolicyEngine, against the OBR's −£0.2bn to −£0.4bn. Some of that gap is construction scope (no carry-forward, and employer contributions counted in the charge base, so defined benefit accrual is treated as a contribution).

Fix

Give relief up to relevant earnings (not the allowance), keep the charge on the excess, and model carry-forward if inputs allow. Add a property test: for contributions at or below relevant earnings, increasing contributions above the allowance never raises income tax by more than the clawed-back relief.

Activity

  1. MaxGhenis commented on Oct 10, 2026

    @MaxGhenis
    CollaboratorAuthor

    Fix in #2240: relief to the s. 190 limit (relevant earnings or £3,600), the annual allowance charge as a top slice of reduced net income (s. 227(4A)/(4AA)), and an input for s. 228A carry-forward. The issue's reproducer now gives £28,460 of income tax at both £60,000 and £80,000 of contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions