Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
6af7019
Add the UC and Pension Credit qualifying young person route with no e…
MaxGhenis Oct 10, 2026
3d327fe
Merge remote-tracking branch 'origin/uc-pc-qyp-sixteen-route' into cb…
MaxGhenis Oct 10, 2026
505ac7e
Add the Child Benefit qualifying young person conditions for school l…
MaxGhenis Oct 10, 2026
086b78b
Update the Housing Benefit childcare case for a disabled 16-year-old …
MaxGhenis Oct 11, 2026
2ef1d8d
Place the property tests' 16-year-old outside the reg 5(1)(a) route
MaxGhenis Oct 11, 2026
64ca2d2
Merge remote-tracking branch 'origin/uc-pc-qyp-sixteen-route' into cb…
MaxGhenis Oct 11, 2026
bb6f487
Keep the Income Support property's outside member out of the Child Be…
MaxGhenis Oct 11, 2026
70eb1cf
Merge remote-tracking branch 'origin/claimant-not-own-child-or-qyp' i…
MaxGhenis Oct 11, 2026
2575e9e
Merge origin/main into cb-qyp-school-leaver-routes
MaxGhenis Oct 11, 2026
b171ef7
Address review r1c: partial-input warning, two-child limit and mixed …
MaxGhenis Oct 11, 2026
addd127
Merge remote-tracking branch 'origin/main' into uc-pc-qyp-sixteen-route
MaxGhenis Oct 11, 2026
9d2fadb
Merge remote-tracking branch 'origin/main' into uc-pc-qyp-sixteen-route
MaxGhenis Oct 11, 2026
fafd220
Count only the claimant's and partner's income in the legacy means tests
MaxGhenis Oct 12, 2026
c6f0eb8
Merge origin/means-tests-dependants-income into cb-qyp-school-leaver-…
MaxGhenis Oct 12, 2026
3c61b47
Merge origin/uc-pc-qyp-sixteen-route into cb-qyp-school-leaver-routes
MaxGhenis Oct 12, 2026
e626d3f
Give the working school-leaver in Case 11 earnings, and check the par…
MaxGhenis Oct 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/cb-qyp-school-leaver-routes.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Added the Child Benefit qualifying young person conditions for young people who have left education (Child Benefit (General) Regulations 2006 regs 4, 5 and 7): a 16-year-old counts until the 31 August after their 16th birthday, in any year that starts before it, and two new inputs place the 20-week extension period and the terminal date. Housing Benefit, the legacy benefits and Council Tax Reduction young persons follow. Child Benefit is not paid for a young person who qualifies only through the terminal date and works 24 hours or more a week (reg. 7(3)).
1 change: 1 addition & 0 deletions changelog.d/means-tests-dependants-income.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Housing Benefit, Income Support, tax credit and Council Tax Reduction means tests no longer count a child's or young person's own income, tax or personal benefits as the claimant's (HB Regs 2006 reg 25(3), IS Regs 1987 reg 23(2), Tax Credits (Definition and Calculation of Income) Regs 2002 reg 3(1), the Council Tax Reduction applicant-and-partner rules).
1 change: 1 addition & 0 deletions changelog.d/uc-pc-qyp-sixteen-route.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Counted a 16-year-old outside education as a Universal Credit and Pension Credit qualifying young person until the 1 September following their 16th birthday (UC Regs 2013 reg. 5(1)(a); SPC Regs 2002 reg. 4A(1)(a)), in any year that starts before that date.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Age limit below which a person who has left education or training may be a Child Benefit qualifying young person during an extension period.
values:
0001-01-01: 18
metadata:
unit: year
label: Child Benefit extension period age limit
reference:
- title: Child Benefit (General) Regulations 2006 reg. 5(1)
href: https://www.legislation.gov.uk/uksi/2006/223/regulation/5
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Weekly hours of paid work from which a person is in remunerative work for Child Benefit rules.
values:
0001-01-01: 24
metadata:
unit: hour
label: Child Benefit remunerative work hours
reference:
- title: Child Benefit (General) Regulations 2006 reg. 1(3), "remunerative work"
href: https://www.legislation.gov.uk/uksi/2006/223/regulation/1
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,33 @@
num_relevant_children_for_housing_benefit_childcare: 0
housing_benefit_applicable_income_childcare_element: 0

- name: Disabled 16-year-old outside education and training is not a relevant young person
- name: Disabled 16-year-old outside education and training is a relevant young person until the 31 August after their 16th birthday
period: 2025
absolute_error_margin: 0.01
input:
people:
claimant:
age: 40
is_parent: true
childcare_expenses: 9_000
young_person:
age: 16
is_disabled_for_benefits: true
is_in_non_advanced_education: false
is_in_approved_training: false
benunits:
benunit:
members: [claimant, young_person]
output:
# A 16-year-old who has left education is a young person until that 31
# August (Child Benefit (General) Regulations 2006 reg. 4; HB reg 19(1)),
# in any year that starts before it. HB reg 28(6) then counts a disabled
# one: min(9,000, one-child cap * 52).
is_child_or_young_person_for_legacy_benefits: [false, true]
num_relevant_children_for_housing_benefit_childcare: 1
housing_benefit_applicable_income_childcare_element: 9_000

- name: Disabled 16-year-old outside education and training is not a relevant young person after that 31 August
period: 2025
input:
people:
Expand All @@ -231,11 +257,13 @@
is_disabled_for_benefits: true
is_in_non_advanced_education: false
is_in_approved_training: false
is_before_first_september_following_16th_birthday: false
benunits:
benunit:
members: [claimant, young_person]
output:
# HB reg 28(6) requires a child of the family, including a qualifying
# young person; the disability age extension does not create that status.
is_child_or_young_person_for_legacy_benefits: [false, false]
num_relevant_children_for_housing_benefit_childcare: 0
housing_benefit_applicable_income_childcare_element: 0
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
output:
is_uc_work_allowance_eligible: false

- name: Case 6, a nonqualifying 16-year-old does not create a work allowance.
- name: Case 6, a 16-year-old outside education past the reg. 5(1)(a) route does not create a work allowance.
period: 2025
input:
people:
Expand All @@ -91,13 +91,33 @@
age: 16
is_in_non_advanced_education: false
is_in_approved_training: false
is_before_first_september_following_16th_birthday: false
uc_limited_capability_for_WRA: false
benunits:
benunit:
members: [person1, person2]
output:
is_uc_work_allowance_eligible: false

- name: Case 6a, a 16-year-old outside education in the reg. 5(1)(a) route creates a work allowance.
period: 2025
input:
people:
person1:
age: 40
is_parent: true
uc_limited_capability_for_WRA: false
person2:
age: 16
is_in_non_advanced_education: false
is_in_approved_training: false
uc_limited_capability_for_WRA: false
benunits:
benunit:
members: [person1, person2]
output:
is_uc_work_allowance_eligible: true

- name: Case 7, a looked-after child does not create a work allowance.
period: 2025
input:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# A child's or young person's own income is never the claimant's: HB Regs
# 2006 reg 25(3), HB (SPC) Regs 2006 reg 23(1), IS Regs 1987 reg 23(2), Tax
# Credits (Definition and Calculation of Income) Regs 2002 reg 3(1), and the
# applicant-and-partner rules of every Council Tax Reduction scheme (SSI
# 2021/249 reg 36(2) says it in terms).
#
# The family in each case: a lone parent and a 17-year-old at school who earns
# £8,000, below the income tax and National Insurance thresholds. Child
# Benefit is not claimed, so it adds nothing to the income totals.

- name: Case 1, a young person's earnings are not the parent's income in any of the four means tests.
period: 2026
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_parent: true
is_claimant_or_partner: true
student:
age: 17
current_education: UPPER_SECONDARY
is_claimant_or_partner: false
employment_income: 8_000
benunits:
benunit:
members: [parent, student]
would_claim_child_benefit: false
would_claim_uc: false
households:
household:
members: [parent, student]
country: ENGLAND
rent: 6_000
council_tax: 1_800
output:
# The student is still the family's young person.
is_child_or_young_person_for_legacy_benefits: [false, true]
housing_benefit_applicable_income: 0
income_support_applicable_income: 0
tax_credits_applicable_income: 0
council_tax_reduction_applicable_income: 0

- name: Case 2, the parent's own earnings still count.
period: 2026
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_parent: true
is_claimant_or_partner: true
employment_income: 5_000
student:
age: 17
current_education: UPPER_SECONDARY
is_claimant_or_partner: false
employment_income: 8_000
benunits:
benunit:
members: [parent, student]
would_claim_child_benefit: false
would_claim_uc: false
households:
household:
members: [parent, student]
country: ENGLAND
rent: 6_000
council_tax: 1_800
output:
# £5,000 less the lone parent earnings disregard of £25 a week.
housing_benefit_applicable_income: 3_700
# £5,000 less the lone parent disregard of £20 a week.
income_support_applicable_income: 3_960
tax_credits_applicable_income: 5_000
council_tax_reduction_applicable_income: 5_000

- name: Case 3, a pension-age Housing Benefit claimant's grandchild's earnings are not the claimant's.
period: 2026
absolute_error_margin: 0.01
input:
people:
grandparent:
age: 70
is_parent: true
is_claimant_or_partner: true
# Above the Pension Credit guarantee, so no passport zeroes the income.
private_pension_income: 20_000
student:
age: 17
current_education: UPPER_SECONDARY
is_claimant_or_partner: false
employment_income: 8_000
benunits:
benunit:
members: [grandparent, student]
would_claim_child_benefit: false
would_claim_uc: false
households:
household:
members: [grandparent, student]
country: ENGLAND
rent: 6_000
council_tax: 1_800
output:
housing_benefit_pension_age_regulations_apply: true
pension_credit: 0
# The pension of £20,000 less income tax of 20% of (20,000 - 12,570),
# £1,486; not the student's £8,000.
housing_benefit_applicable_income: 18_514
council_tax_reduction_applicable_income: 18_514
Loading
Loading