Skip to content

Legacy award readers count income-related ESA and JSA of members who are neither claimant nor partner #2026

Description

@MaxGhenis

esa_income (policyengine_uk/variables/gov/dwp/esa_income.py) sums every benefit-unit member's esa_income_reported, and jsa_income sums every member's jsa_income_reported. These totals are right as household income: another member's award is real income. But a member who is neither the claimant or partner (is_claimant_or_partner) nor a child or young person they are responsible for (is_child_or_young_person_for_legacy_benefits), for example a non-dependent adult, has their award read by means tests and passports that the law ties to the claimant and partner:

Reader Law What another member's award does today
housing_benefit_applicable_income SSCBA 1992 s.136(1); HB Regs 2006 reg 25(1) added to the claimant's income (add_for_members adds benefit-unit variables as they are)
council_tax_reduction_applicable_income CTR (Prescribed Requirements) (England) Regs 2012 Sch 1 para 11 added to the applicant's income
council_tax_reduction_relevant_income_based_benefit CTR (Default Scheme) (England) Regs 2012 Sch, "applicant or his partner is a person on income support ..." passports the working-age schemes to the maximum reduction
CTR non-dependant exemption (council_tax_reduction/_legacy.py) SI 2012/2885 Sch 1 para 8(8)(a); SI 2012/2886 Sch para 30(8)(a): "a non-dependant who is on ..." exempts every member of the non-dependant's benefit unit
tax_credits_applicable_income TCA 2002 s.7(2) and SI 2002/2008 reg 4: "the person, or either of the persons" claiming removes the income test
is_scp_eligible SSI 2020/351 reg 18(e)-(f): the individual responsible for the child has been awarded the benefit qualifies the child
is_benefit_cap_exempt_health_disability HB Regs 2006 reg 75F(1)(a): "the claimant or the claimant's partner" exempts the family from the cap
targeted childcare qualifying_benefits SI 2014/2147 reg 2(1): "a young child whose parent is entitled to" qualifies the family
maintenance_loan_entitled_to_benefits SI 2011/1986 regs 61(2) and 71(1)(h): the student puts a student living in the claimant's benefit unit on the benefits schedule
would_claim_IS (take-up) marks the family as claiming Income Support

Synthetic example: a single claimant aged 40 with no income and an adult aged 30 who reports £5,000 of income-related ESA, with is_claimant_or_partner: false and not in education. Housing Benefit and council tax reduction count the £5,000 as the claimant's income. The working-age council tax reduction passport is on, the tax credit income test is lifted and the family is exempt from the benefit cap.

income_support is already limited to the claimant's and partner's award by #2013. The household totals (esa, household_benefits, HBAI, gov_spending, benefit_cap_reduction) should not change.

Follows #2023 (the Income Support gate). Found while fixing it.

Activity

  1. MaxGhenis commented on Oct 6, 2026

    @MaxGhenis
    CollaboratorAuthor

    A reader that none of #2027, #2076 or #2038 changes, found in the review of #2013:

    • Where it reads the total. extended_childcare_entitlement_limited_capability_or_specified_benefit reads the benefit unit's esa_income, which gov.dfe.extended_childcare_entitlement.disability_criteria lists for SI 2022/1134 reg 11A(1)(e). It reads it through add(person.benunit, period, group_criteria) > 0.
    • The effect. Another member's income-related ESA, such as a non-dependent adult's, lets a parent or partner meet the specified-benefit condition.
    • The likely fix. Once Count only the claimant's and partner's legacy awards in means tests and passports #2027 lands, claimant_or_partner_esa_income would be the natural replacement.

    Two related readers are already covered:

    🤖 Generated with Claude Code

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