Skip to content

Add companion cases: interest, dividends and rent are not UC unearned income - #388

Merged
MaxGhenis merged 3 commits into
mainfrom
uc-capital-income-companion-tests
Oct 1, 2026
Merged

MaxGhenis merged 3 commits into
mainfrom
uc-capital-income-companion-tests

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This PR adds seven companion cases showing that actual interest, dividends and rent are not Universal Credit unearned income, and that capital counts through its assumed yield instead. It changes test files only; no module bytes change. Precedent: #350.

The existing modules already get this right:

  • uk/regulations/uksi/2013/376/66.yaml classifies payments through a closed list of reg 66(1) descriptions. A payment for which no description holds gives unearned_income_amount_from_payment = 0.
  • 72.yaml encodes reg 72(3).

No case exercised either behaviour for interest, dividends or rent. PolicyEngine had it wrong, which PolicyEngine/policyengine-uk#1950 fixes, so under the parity rule the Axiom side needs a test that pins it.

File Case Expected
66.test.yaml bank interest £40 a month, every reg 66(1) leaf false not_holds, 0
66.test.yaml dividends £150 a month not_holds, 0
66.test.yaml rent from a let property £400 a month not_holds, 0
66.test.yaml lodger rent £60 a week = 60 × 52 / 12 = £260 a month (ADM H5112 example) not_holds, 0
66.test.yaml assumed yield on a £10,000 let property: (10,000 − 6,000) / 250 = 16 × £4.35 = £69.60, with the reg 66(1)(k) leaf true holds, 69.6
72.test.yaml £400 of rent due on the day from £10,000 of tariffed capital (ADM H5094 Example 2) actual_income_from_tariffed_capital_treated_as_capital = 400
72.test.yaml the same £400 of rent, but the capital is disregarded, so reg 72(2) switches off the assumed yield and 72(3) does not apply actual_income_from_tariffed_capital_treated_as_capital = 0

Law

Texts are from legislation.gov.uk (/data.xml), retrieved 2026-09-30.

UC Regs 2013 reg 66(1) (https://www.legislation.gov.uk/uksi/2013/376/regulation/66):

(1) A person's unearned income is any of their income, including income the person is treated as having by virtue of regulation 74 (notional unearned income), falling within the following descriptions— … (k) income that is treated as the yield from a person's capital by virtue of regulation 72; … (m) income that does not fall within sub-paragraphs (a) to (la) and is taxable under Part 5 of the Income Tax (Trading and Other Income) Act 2005 (miscellaneous income).

Reg 72(3) (https://www.legislation.gov.uk/uksi/2013/376/regulation/72), unamended since it was made:

(3) Where a person's capital is treated as yielding income, any actual income derived from that capital, for example rental, interest or dividends, is to be treated as part of the person's capital from the day it is due to be paid to the person.

The Part 5 leaf is false for all three because of where ITTOIA 2005 charges them:

  • interest: s.369(1), "Income tax is charged on interest." (Part 4, Chapter 2);
  • dividends: s.383(1), "Income tax is charged on dividends and other distributions of a UK resident company." (Part 4, Chapter 3);
  • rent: s.268, "Income tax is charged on the profits of a property business." (Part 3).

Under s.575(2)–(3), income that could fall in Part 5 and also in Part 3 (UK property business) or Part 4 Chapters 2–3 "is dealt with under" Part 3 or Part 4. The residual s.687(1) charge applies only to "income from any source that is not charged to income tax under or as a result of any other provision of this Act or any other Act".

DWP Advice for Decision Making, Chapter H5:

  • H5002, after listing the reg 66(1) categories: "If a type of income is not listed above, it does not affect the claimant's award."
  • H5093: where a claimant is treated as receiving income yielded from capital, the actual income from that capital "has to be treated as capital from the date it is due to be paid to the claimant. It cannot be treated as income."
  • H5094: such income includes "1. interest 2. dividends and 3. rental income".
  • H5112: a spare room let at £60 a week "is not taken into account as Teresa’s unearned income".

The UC Regs (NI) 2016 (SR 2016/216) regs 66(1)(m) and 72(3) are the same in effect.

Contains public sector information licensed under the Open Government Licence v3.0.

Oracle note

axiom-oracles fills reg 22's unearned income input from PolicyEngine's uc_unearned_income. Until PolicyEngine/policyengine-uk#1950 merges, the EFRS UC comparison inherits PolicyEngine's inclusion of interest, dividends and rent.

🤖 Generated with Claude Code

… income

UC Regs 2013 reg 66(1) lists every description of unearned income. Interest
(ITTOIA 2005 Part 4 Ch 2), dividends (Part 4 Ch 3) and rent (Part 3) fall in
none of them; reg 66(1)(m) reaches only Part 5 income. Reg 72(3) treats
actual income from capital as capital, and reg 66(1)(k) counts the assumed
yield instead. Test files only; no module bytes change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits September 30, 2026 17:15
Review follow-ups: reg 72(3) applies only where capital is treated as yielding
income; non-UK dividends are Part 4 Ch 4 (s.402); capital figures are after
reg 49 valuation; add a case where disregarded capital's rent is not deemed
capital (reg 72(2)), pinning the else branch with non-zero income.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 5a052a7 into main Oct 1, 2026
4 checks passed
@MaxGhenis
MaxGhenis deleted the uc-capital-income-companion-tests branch October 1, 2026 02:06
MaxGhenis added a commit that referenced this pull request Oct 1, 2026
…cases

Both branches appended companion cases to 66.test.yaml. Keep main's five
(#388) followed by these ten. No module bytes change; all 22 cases pass
with axiom-encode c326d1ac and axiom-rules-engine 05eac9d2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant