Skip to content

Council Tax Reduction income deducts the family's whole income tax, not the tax the schemes allow #2090

Description

@MaxGhenis

Found while fixing Scottish Council Tax Reduction (CTR) income for Carer Support Payment (#1992, fixes #1955).

council_tax_reduction_applicable_income deducts the claimant's and partner's whole income_tax and national_insurance from every income it counts:

tax = add_for_members(
    benunit, period, ["income_tax", "national_insurance"], members
)
income_under_general_rules = max_(
    0, increased_income - tax - pension_contributions
)

The CTR instruments deduct less than that. The working-age and pension-age rules differ.

Working age. The Council Tax Reduction (Scotland) Regulations 2021 (SSI 2021/249) take tax and NI off earnings only. Reg 50(3)(a) reads "Earnings do not include— (a) any amount deducted from them by way of income tax or primary Class 1 contributions under the 1992 Act". Reg 49(6)(b) (applicants with UC) and reg 51(2) (self-employed with UC) do the same. Part 6 Chapter 4 (unearned income, regs 57 to 65) has no tax deduction. So tax on unearned income such as State Pension, private pensions, contributory benefits and Carer Support Payment should not come off. The model takes it off, so CTR is too generous wherever such income is taxed.

Pension age. All three pensioner schemes disregard tax only on income they take into account:

  • Scotland, SSI 2012/319 reg 31(12): "In the case of any income taken into account for the purpose of calculating a person's income, any amount payable by way of tax must be disregarded."
  • England, SI 2012/2885 Sch 1 para 17(13), and Wales, WSI 2013/3029 Sch 1 para 11(13): "In the case of any income taken into account for the purpose of calculating a person's income any amount payable by way of tax is disregarded."

NI comes off earnings only (SSI 2012/319 regs 33, 36 and 37), and the model's NI is all charged on earnings, so the NI deduction matches. The model's whole-tax deduction is close to the law for tax on counted income. It also deducts tax on income CTR does not count. One example is the taxable Scottish Carer Supplement (SI 2026/93), which SSI 2012/319 reg 27(1)(j)(xxib) excepts. Another is income disregarded under the schedules.

Not yet checked. The English and Welsh working-age schemes: SI 2012/2886 (the English default scheme), the local English schemes, and the WSI 2013/3029 working-age parts.

Related.

Suggested fix. Deduct tax and NI on earnings only, and at pension age also the income tax attributable to counted unearned income. Pension-age HB and PC need the same apportionment (#1954), so a shared helper would fit. Test it with:

  • a working-age Scottish carer with taxable State Pension or private pension, whose CTR income should not be reduced by the tax on it;
  • a pension-age Scottish carer whose Scottish Carer Supplement tax should not reduce CTR income.

Law texts were fetched from legislation.gov.uk on 2026-10-02 (CLML, valid from 2026-04-01 for the Scottish instruments).

🤖 Generated with Claude Code

Activity

  1. MaxGhenis commented on Oct 11, 2026

    @MaxGhenis
    CollaboratorAuthor

    Two pieces of evidence from PolicyBench UK round 2 (policyengine-uk 2.126.7).

    1. Pension-age CTR, scenario 048.

    2. #2327 makes this defect visible on the transfer data. Scenario 148:

    • The household has £510,223 of pay, £973,043 of dividends, £108,067 of interest and a −£2,399,684 miscellaneous figure.
    • On main the loss cuts Income Tax to £411,105, and CTR income stays at £123,854, so CTR is nil.
    • With Relieve a miscellaneous loss only against miscellaneous income #2327 the loss is ring-fenced and Income Tax is £563,769, of which £431,326 is on the dividends and interest. This function deducts all of it, although CTR counts neither, so CTR income falls to nil and the household gets the full £3,251.

    The enhanced FRS has no negative miscellaneous income, so #2327 moves nothing there. The fix for this case belongs here.

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