Skip to content

Pension contributions relief goes negative when a self-employment loss exceeds wages #2045

Description

@MaxGhenis

pension_contributions_relief computes

income = add(person, period, ["employment_income", "self_employment_income"])
tax_relief = min_(income, contributions) * under_age_limit

with no zero floor. A self-employment loss larger than wages makes income negative, so the relief is negative even with no pension contributions. allowances adds the relief, so allowances fall and income tax rises. The relief also extends the basic rate band in capital_gains_tax, so a negative relief shrinks the band and raises capital gains tax.

Example (synthetic household, 2025): age 40, £11,000 wages, £0 pension contributions, self_employment_income −£20,000. Relief is −£9,000, allowances £3,570, and income tax £1,486. With the loss removed, relief is £0 and income tax £0.

A smaller loss also cuts relief when contributions are positive: £60,000 wages, a £30,000 loss and £40,000 personal contributions give relief of £30,000 instead of £40,000.

Law: FA 2004 s.190(1) caps relief at the individual's relevant UK earnings chargeable to income tax. s.189(2) defines those as employment income, income chargeable under ITTOIA 2005 Part 2 that comes directly from a trade, and certain patent income. Each of those is an amount of income, so none is negative: in a loss year there is no trading income, and the loss does not reduce employment income. Relief under s.188 is never negative.

Found by review r2 of #2031 (finding 1). That PR taxes ESA pay on its own and doesn't depend on this fix.

Activity

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