Skip to content

Commit bc576e5

Browse files
authored
Exclude high-value council tax surcharge under abolish_council_tax (#1670) (#1693)
The surcharge is defined on top of council tax bands, so when council tax is abolished it should drop out of household_tax and gov_tax alongside the council_tax line. Filter both aggregates accordingly and add a YAML case.
1 parent 0d9f0a2 commit bc576e5

4 files changed

Lines changed: 23 additions & 2 deletions

File tree

changelog.d/1670.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
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.

policyengine_uk/tests/policy/baseline/gov/hmrc/council_tax/high_value_council_tax_surcharge.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,17 @@
4949
high_value_council_tax_surcharge: 0
5050
household_tax: 0
5151
gov_tax: 0
52+
- name: Abolishing council tax also drops the high-value surcharge from aggregates
53+
period: 2028
54+
input:
55+
gov.contrib.abolish_council_tax: true
56+
region: LONDON
57+
main_residence_value: 2_554_326.811538164
58+
main_residential_property_purchased: 0
59+
council_tax: 1_500
60+
household_owns_tv: false
61+
gov.hmrc.stamp_duty.property_sale_rate: 0
62+
output:
63+
high_value_council_tax_surcharge: 2_500
64+
household_tax: 0
65+
gov_tax: 0

policyengine_uk/variables/gov/gov_tax.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ def formula(household, period, parameters):
4141
abolish_council_tax = parameters.gov.contrib.abolish_council_tax(period)
4242
if abolish_council_tax:
4343
variables = [
44-
variable for variable in variables if variable != "council_tax"
44+
variable
45+
for variable in variables
46+
if variable not in ["council_tax", "high_value_council_tax_surcharge"]
4547
]
4648

4749
return add(household, period, variables)

policyengine_uk/variables/gov/hmrc/household_tax.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ def formula(household, period, parameters):
4343
return add(
4444
household,
4545
period,
46-
[tax for tax in HOUSEHOLD_TAX_VARIABLES if tax not in ["council_tax"]],
46+
[
47+
tax
48+
for tax in HOUSEHOLD_TAX_VARIABLES
49+
if tax not in ["council_tax", "high_value_council_tax_surcharge"]
50+
],
4751
)
4852
else:
4953
return add(household, period, HOUSEHOLD_TAX_VARIABLES)

0 commit comments

Comments
 (0)