high_value_council_tax_surcharge is included in household_tax.adds (line 18) and gov_tax.adds (line 18), but neither household_tax.formula nor gov_tax.formula filters it out when gov.contrib.abolish_council_tax is True. They only filter council_tax:
# household_tax.formula:
if abolish_council_tax:
return add(
household,
period,
[tax for tax in household_tax.adds if tax not in ["council_tax"]],
)
If abolishing council tax is the intent, the high-value surcharge presumably goes with it — the surcharge is defined on top of council tax bands. Suggest extending the filter to:
[tax for tax in household_tax.adds if tax not in ["council_tax", "high_value_council_tax_surcharge"]]
in both household_tax.formula and gov_tax.formula. Probably also needs corresponding behaviour in pre_budget_change_household_tax.formula (which currently doesn't include the surcharge — separate question whether it should).
Found while reviewing #1668.
high_value_council_tax_surchargeis included inhousehold_tax.adds(line 18) andgov_tax.adds(line 18), but neitherhousehold_tax.formulanorgov_tax.formulafilters it out whengov.contrib.abolish_council_taxis True. They only filtercouncil_tax:If abolishing council tax is the intent, the high-value surcharge presumably goes with it — the surcharge is defined on top of council tax bands. Suggest extending the filter to:
in both
household_tax.formulaandgov_tax.formula. Probably also needs corresponding behaviour inpre_budget_change_household_tax.formula(which currently doesn't include the surcharge — separate question whether it should).Found while reviewing #1668.