From 7c7bd19fa51e225bb390855b084dde966488319f Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Thu, 25 Jun 2026 10:38:23 -0400 Subject: [PATCH 1/2] Initial commit for Vermont Act 169 Property Tax Credit (Circuit Breaker) implementation Starting implementation of Vermont's property tax credit / circuit-breaker program as modified by Act 169 (2024). Documentation and parallel development will follow. Co-Authored-By: Claude Opus 4.8 (1M context) From 5a08fadc708d240425bb22df27de72ff1429a765 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Thu, 25 Jun 2026 12:58:44 -0400 Subject: [PATCH 2/2] Apply 2026 VT Act 169 renter credit changes - fmr_rate: 10% -> 12.5% for claim year 2027, reverting to 10% for 2028 (Act 169 Secs. 8-9 expansion, Secs. 10-11 reversion) - Add renter credit maximum parameter ($2,500; $3,250 for 2027; $2,500 for 2028) and apply it as a cap in vt_renter_credit - Tests: claim years 2026/2027/2028 (12.5% yields 1.25x; reverts in 2028) Scope note: the homestead property tax credit (32 V.S.A. 6066(a)) remains unmodeled and is deferred (requires property-bill inputs PolicyEngine does not yet carry); this PR applies only the renter credit (6066(b)) changes. For #8748 Co-Authored-By: Claude Opus 4.8 (1M context) --- .../vt-act169-circuit-breaker.changed.md | 1 + .../tax/income/credits/renter/fmr_rate.yaml | 8 ++++ .../tax/income/credits/renter/max_credit.yaml | 18 +++++++++ .../income/credits/rent/vt_renter_credit.yaml | 39 +++++++++++++++++++ .../income/credits/renter/vt_renter_credit.py | 5 ++- 5 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 changelog.d/vt-act169-circuit-breaker.changed.md create mode 100644 policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/max_credit.yaml diff --git a/changelog.d/vt-act169-circuit-breaker.changed.md b/changelog.d/vt-act169-circuit-breaker.changed.md new file mode 100644 index 00000000000..f97d7e12d1e --- /dev/null +++ b/changelog.d/vt-act169-circuit-breaker.changed.md @@ -0,0 +1 @@ +Updated the Vermont renter credit for 2026 Act 169 (H.949): the fair market rent rate rises to 12.5% and the cap to $3,250 for claim year 2027, reverting to 10% and $2,500 for claim year 2028. diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/fmr_rate.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/fmr_rate.yaml index bc4451b09f7..080f5b5d243 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/fmr_rate.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/fmr_rate.yaml @@ -1,6 +1,10 @@ description: Vermont provides a renter credit of this fraction of fair market rent. +# 2026 Vt. Acts No. 169 (H.949) temporarily raises the rate to 12.5% for claim +# year 2027 (Secs. 8-9), then reverts it to 10% for claim year 2028+ (Secs. 10-11). values: 2021-01-01: 0.1 + 2027-01-01: 0.125 + 2028-01-01: 0.1 metadata: unit: /1 period: year @@ -8,6 +12,10 @@ metadata: reference: - title: 32 V.S.A. §6066. Homestead Property Tax Credit and Renter Credit (b)(1)(A) href: https://law.justia.com/codes/vermont/2022/title-32/chapter-154/section-6066/ + - title: 2026 Vt. Acts No. 169 (H.949), Sec. 9 (claim year 2027 renter credit expansion to 12.5%) + href: https://legislature.vermont.gov/Documents/2026/Docs/ACTS/ACT169/ACT169%20As%20Enacted.pdf#page=10 + - title: 2026 Vt. Acts No. 169 (H.949), Sec. 11 (claim year 2028 reversion to 10%) + href: https://legislature.vermont.gov/Documents/2026/Docs/ACTS/ACT169/ACT169%20As%20Enacted.pdf#page=13 - title: 2022 Vermont instruction booklet href: https://tax.vermont.gov/sites/tax/files/documents/Income%20Booklet-2022.pdf#page=35 - title: 2021 Vermont instruction booklet diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/max_credit.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/max_credit.yaml new file mode 100644 index 00000000000..6009e58131a --- /dev/null +++ b/policyengine_us/parameters/gov/states/vt/tax/income/credits/renter/max_credit.yaml @@ -0,0 +1,18 @@ +description: Vermont caps the renter credit at this amount. +# 2026 Vt. Acts No. 169 (H.949) temporarily raises the cap to $3,250 for claim +# year 2027 (Secs. 8-9), then reverts it to $2,500 for claim year 2028+ (Secs. 10-11). +values: + 2021-01-01: 2_500 + 2027-01-01: 3_250 + 2028-01-01: 2_500 +metadata: + unit: currency-USD + period: year + label: Vermont renter credit maximum + reference: + - title: 32 V.S.A. §6066(b)(1) (renter credit shall not exceed this amount) + href: https://legislature.vermont.gov/statutes/section/32/154/06066 + - title: 2026 Vt. Acts No. 169 (H.949), Sec. 8 (claim year 2027 renter credit cap $3,250) + href: https://legislature.vermont.gov/Documents/2026/Docs/ACTS/ACT169/ACT169%20As%20Enacted.pdf#page=9 + - title: 2026 Vt. Acts No. 169 (H.949), Sec. 10 (claim year 2028 cap reversion to $2,500) + href: https://legislature.vermont.gov/Documents/2026/Docs/ACTS/ACT169/ACT169%20As%20Enacted.pdf#page=13 diff --git a/policyengine_us/tests/policy/baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml index 217880ce07e..311679fa5ad 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml @@ -89,3 +89,42 @@ output: vt_renter_credit: 874 + +- name: test 8, Act 169 - claim year 2026 baseline 10% rate (full credit) + period: 2026 + input: + vt_renter_credit_income: 5_000 + county: ADDISON_COUNTY_VT + tax_unit_size: 2 + rent_is_shared_with_another_tax_unit: false + housing_assistance: 0 + rent: 0 + state_code: VT + output: + vt_renter_credit: 1_692 + +- name: test 9, Act 169 - claim year 2027 expansion to 12.5% rate (full credit) + period: 2027 + input: + vt_renter_credit_income: 5_000 + county: ADDISON_COUNTY_VT + tax_unit_size: 2 + rent_is_shared_with_another_tax_unit: false + housing_assistance: 0 + rent: 0 + state_code: VT + output: + vt_renter_credit: 2_115 + +- name: test 10, Act 169 - claim year 2028 reverts to 10% rate (full credit) + period: 2028 + input: + vt_renter_credit_income: 5_000 + county: ADDISON_COUNTY_VT + tax_unit_size: 2 + rent_is_shared_with_another_tax_unit: false + housing_assistance: 0 + rent: 0 + state_code: VT + output: + vt_renter_credit: 1_692 diff --git a/policyengine_us/variables/gov/states/vt/tax/income/credits/renter/vt_renter_credit.py b/policyengine_us/variables/gov/states/vt/tax/income/credits/renter/vt_renter_credit.py index 9516e7920e4..9f9491aa200 100644 --- a/policyengine_us/variables/gov/states/vt/tax/income/credits/renter/vt_renter_credit.py +++ b/policyengine_us/variables/gov/states/vt/tax/income/credits/renter/vt_renter_credit.py @@ -67,5 +67,8 @@ def formula(tax_unit, period, parameters): ], default=0, ) - unrounded = credit_value * (1 - shared_residence_reduction) + # The renter credit may not exceed the statutory maximum (32 V.S.A. + # 6066(b)(1)); 2026 Vt. Act 169 raises this for claim year 2027 only. + capped_credit = min_(credit_value, p.max_credit) + unrounded = capped_credit * (1 - shared_residence_reduction) return np.round(unrounded)