Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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/hb-residential-capital.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Added the working-age Housing Benefit residential capital threshold using one separately pre-assessed qualification input.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Working-age Housing Benefit capital tariff threshold where the statutory residential exception applies.
metadata:
label: Housing Benefit residential capital tariff threshold
unit: currency-GBP
period: year
values:
2006-04-10:
value: 10000
reference:
- title: The Housing Benefit Regulations 2006, regulation 52(3)-(5), (8)-(9)
href: https://www.legislation.gov.uk/uksi/2006/213/regulation/52
- title: The Housing Benefit Regulations (Northern Ireland) 2006, regulation 49(2)-(4), (7)-(8)
href: https://www.legislation.gov.uk/nisr/2006/405/regulation/49
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
- name: ENGLAND ordinary capital threshold and partial steps
period: 2025
absolute_error_margin: 0.01
input:
country: [ENGLAND, ENGLAND, ENGLAND, ENGLAND, ENGLAND, ENGLAND]
housing_benefit_assessable_capital: [6000, 6001, 10000, 10001, 10250, 10251]
housing_benefit_residential_capital_exception: [false, false, false, false, false, false]
housing_benefit_pension_age_regulations_apply: [false, false, false, false, false, false]
in_receipt_of_guarantee_credit: [false, false, false, false, false, false]
in_receipt_of_savings_credit_only: [false, false, false, false, false, false]
output:
housing_benefit_tariff_income: [0, 52, 832, 884, 884, 936]

- name: ENGLAND residential capital threshold and partial steps
period: 2025
absolute_error_margin: 0.01
input:
country: [ENGLAND, ENGLAND, ENGLAND, ENGLAND, ENGLAND, ENGLAND]
housing_benefit_assessable_capital: [6000, 6001, 10000, 10001, 10250, 10251]
housing_benefit_residential_capital_exception: [true, true, true, true, true, true]
housing_benefit_pension_age_regulations_apply: [false, false, false, false, false, false]
in_receipt_of_guarantee_credit: [false, false, false, false, false, false]
in_receipt_of_savings_credit_only: [false, false, false, false, false, false]
output:
housing_benefit_tariff_income: [0, 0, 0, 52, 52, 104]

- name: NORTHERN_IRELAND ordinary capital threshold and partial steps
period: 2025
absolute_error_margin: 0.01
input:
country: [NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND]
housing_benefit_assessable_capital: [6000, 6001, 10000, 10001, 10250, 10251]
housing_benefit_residential_capital_exception: [false, false, false, false, false, false]
housing_benefit_pension_age_regulations_apply: [false, false, false, false, false, false]
in_receipt_of_guarantee_credit: [false, false, false, false, false, false]
in_receipt_of_savings_credit_only: [false, false, false, false, false, false]
output:
housing_benefit_tariff_income: [0, 52, 832, 884, 884, 936]

- name: NORTHERN_IRELAND residential capital threshold and partial steps
period: 2025
absolute_error_margin: 0.01
input:
country: [NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND, NORTHERN_IRELAND]
housing_benefit_assessable_capital: [6000, 6001, 10000, 10001, 10250, 10251]
housing_benefit_residential_capital_exception: [true, true, true, true, true, true]
housing_benefit_pension_age_regulations_apply: [false, false, false, false, false, false]
in_receipt_of_guarantee_credit: [false, false, false, false, false, false]
in_receipt_of_savings_credit_only: [false, false, false, false, false, false]
output:
housing_benefit_tariff_income: [0, 0, 0, 52, 52, 104]

- name: Omitted residential status retains the ordinary threshold
period: 2025
input:
housing_benefit_assessable_capital: 10001
housing_benefit_pension_age_regulations_apply: false
output:
housing_benefit_residential_capital_exception: false
housing_benefit_tariff_income: 884

- name: Specified accommodation alone does not establish the capital exception
period: 2025
input:
in_specified_or_temporary_accommodation: true
housing_benefit_assessable_capital: 10001
housing_benefit_pension_age_regulations_apply: false
output:
housing_benefit_residential_capital_exception: false
housing_benefit_tariff_income: 884

- name: Pension-age tariff and passports are not changed by residential status
period: 2025
input:
housing_benefit_assessable_capital: [10001, 10001, 10001]
housing_benefit_residential_capital_exception: [true, true, true]
housing_benefit_pension_age_regulations_apply: [true, true, true]
in_receipt_of_guarantee_credit: [false, true, false]
in_receipt_of_savings_credit_only: [false, false, true]
output:
housing_benefit_tariff_income: [52, 0, 0]
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class housing_benefit_tariff_income(Variable):
unit = GBP
reference = (
"https://www.legislation.gov.uk/uksi/2006/213/regulation/52",
"https://www.legislation.gov.uk/nisr/2006/405/regulation/49",
"https://www.legislation.gov.uk/uksi/2006/214/regulation/29",
"https://www.legislation.gov.uk/uksi/2006/214/regulation/26",
)
Expand All @@ -31,10 +32,16 @@ def formula(benunit, period, parameters):
"in_receipt_of_guarantee_credit", period
)
p = parameters(period).gov.dwp.housing_benefit.means_test.capital
# This statutory category differs from specified/temporary accommodation.
working_age_threshold = where(
benunit("housing_benefit_residential_capital_exception", period),
p.working_age.residential_threshold,
p.working_age.tariff_income.threshold,
)
threshold = where(
pension_age_regulations,
p.pension_age.tariff_income.threshold,
p.working_age.tariff_income.threshold,
working_age_threshold,
)
step = where(
pension_age_regulations,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from policyengine_uk.model_api import *


class housing_benefit_residential_capital_exception(Variable):
value_type = bool
entity = BenUnit
label = "Housing Benefit residential capital tariff exception"
definition_period = YEAR
default_value = False
documentation = (
"Pre-assessed qualification for the working-age residential capital "
"tariff exception: GB HB regulation 52(4)-(5), (8)-(9), or NI "
"regulation 49(3)-(4), (7)-(8). This includes the specified historical "
"saved circumstances; generic supported housing, a care-home label "
"or in_specified_or_temporary_accommodation does not establish it. "
"Supply true only after assessing the applicable jurisdiction's rules. "
"No dataset mapping has been verified. Missing input defaults to false "
"and retains the ordinary threshold; that approximation may understate "
"Housing Benefit for qualifying residents. This does not change "
"eligibility, capital ownership/valuation or the upper capital limit."
)
reference = (
"https://www.legislation.gov.uk/uksi/2006/213/regulation/52",
"https://www.legislation.gov.uk/nisr/2006/405/regulation/49",
)
Loading