diff --git a/changelog.d/1670.md b/changelog.d/1670.md new file mode 100644 index 000000000..42629adae --- /dev/null +++ b/changelog.d/1670.md @@ -0,0 +1 @@ +- Exclude `high_value_council_tax_surcharge` from `household_tax` and `gov_tax` when `gov.contrib.abolish_council_tax` is in force, since the surcharge is defined on top of council tax bands. diff --git a/policyengine_uk/tests/policy/baseline/gov/hmrc/council_tax/high_value_council_tax_surcharge.yaml b/policyengine_uk/tests/policy/baseline/gov/hmrc/council_tax/high_value_council_tax_surcharge.yaml index 94b896ccb..d0e65e317 100644 --- a/policyengine_uk/tests/policy/baseline/gov/hmrc/council_tax/high_value_council_tax_surcharge.yaml +++ b/policyengine_uk/tests/policy/baseline/gov/hmrc/council_tax/high_value_council_tax_surcharge.yaml @@ -49,3 +49,17 @@ high_value_council_tax_surcharge: 0 household_tax: 0 gov_tax: 0 +- name: Abolishing council tax also drops the high-value surcharge from aggregates + period: 2028 + input: + gov.contrib.abolish_council_tax: true + region: LONDON + main_residence_value: 2_554_326.811538164 + main_residential_property_purchased: 0 + council_tax: 1_500 + household_owns_tv: false + gov.hmrc.stamp_duty.property_sale_rate: 0 + output: + high_value_council_tax_surcharge: 2_500 + household_tax: 0 + gov_tax: 0 diff --git a/policyengine_uk/variables/gov/gov_tax.py b/policyengine_uk/variables/gov/gov_tax.py index 2de60caf7..adbb2b8b4 100644 --- a/policyengine_uk/variables/gov/gov_tax.py +++ b/policyengine_uk/variables/gov/gov_tax.py @@ -41,7 +41,9 @@ def formula(household, period, parameters): abolish_council_tax = parameters.gov.contrib.abolish_council_tax(period) if abolish_council_tax: variables = [ - variable for variable in variables if variable != "council_tax" + variable + for variable in variables + if variable not in ["council_tax", "high_value_council_tax_surcharge"] ] return add(household, period, variables) diff --git a/policyengine_uk/variables/gov/hmrc/household_tax.py b/policyengine_uk/variables/gov/hmrc/household_tax.py index b020f394e..55e2a64c6 100644 --- a/policyengine_uk/variables/gov/hmrc/household_tax.py +++ b/policyengine_uk/variables/gov/hmrc/household_tax.py @@ -43,7 +43,11 @@ def formula(household, period, parameters): return add( household, period, - [tax for tax in HOUSEHOLD_TAX_VARIABLES if tax not in ["council_tax"]], + [ + tax + for tax in HOUSEHOLD_TAX_VARIABLES + if tax not in ["council_tax", "high_value_council_tax_surcharge"] + ], ) else: return add(household, period, HOUSEHOLD_TAX_VARIABLES)