From a8d099f3fd0ea1de674ea7738ae70299fd53c3ab Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Thu, 14 May 2026 13:53:37 -0400 Subject: [PATCH 1/6] Add Alabama senior homestead relief --- changelog.d/8192.added.md | 1 + .../age_threshold.yaml | 13 ++++ .../state_property_tax_rate.yaml | 13 ++++ .../household/state_property_tax_credits.yaml | 20 ++++++ .../al_senior_homestead_exemption.yaml | 71 +++++++++++++++++++ ...l_senior_homestead_exemption_eligible.yaml | 70 ++++++++++++++++++ .../al_senior_homestead_exemption.py | 23 ++++++ .../al_senior_homestead_exemption_eligible.py | 22 ++++++ 8 files changed, 233 insertions(+) create mode 100644 changelog.d/8192.added.md create mode 100644 policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/age_threshold.yaml create mode 100644 policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/state_property_tax_rate.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.yaml create mode 100644 policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.py create mode 100644 policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.py diff --git a/changelog.d/8192.added.md b/changelog.d/8192.added.md new file mode 100644 index 00000000000..6a4a2dfbeb8 --- /dev/null +++ b/changelog.d/8192.added.md @@ -0,0 +1 @@ +Added Alabama senior homestead property tax relief. diff --git a/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/age_threshold.yaml b/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/age_threshold.yaml new file mode 100644 index 00000000000..b49797a53eb --- /dev/null +++ b/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/age_threshold.yaml @@ -0,0 +1,13 @@ +description: Alabama sets the qualifying age to this threshold under the senior homestead exemption program. +values: + 2025-01-01: 65 + +metadata: + unit: year + period: year + label: Alabama senior homestead exemption age threshold + reference: + - title: Alabama Code Section 40-9-19(a)(2) + href: https://law.justia.com/codes/alabama/title-40/chapter-9/article-1/section-40-9-19/ + - title: Alabama Department of Revenue Homestead Exemptions + href: https://www.revenue.alabama.gov/property-tax/homestead-exemptions/ diff --git a/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/state_property_tax_rate.yaml b/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/state_property_tax_rate.yaml new file mode 100644 index 00000000000..953728b399f --- /dev/null +++ b/policyengine_us/parameters/gov/states/al/tax/property/senior_homestead_exemption/state_property_tax_rate.yaml @@ -0,0 +1,13 @@ +description: Alabama sets the state property tax rate to this share under the senior homestead exemption program. +values: + 2025-01-01: 0.0065 + +metadata: + unit: /1 + period: year + label: Alabama senior homestead exemption state property tax rate + reference: + - title: Alabama Department of Revenue Property (Ad Valorem) Tax + href: https://www.revenue.alabama.gov/tax-types/property-ad-valorem-tax/ + - title: Alabama Department of Revenue Property Tax Incentives + href: https://www.revenue.alabama.gov/tax-incentives/property-tax-incentives/ diff --git a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml index b5c719c31cf..aa0836e79e1 100644 --- a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml +++ b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml @@ -114,6 +114,26 @@ values: - wi_homestead_credit - wi_property_tax_credit - wv_homestead_excess_property_tax_credit + 2025-01-01: + - al_senior_homestead_exemption + - az_property_tax_credit + - ct_property_tax_credit + - dc_ptc + - il_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - mt_property_tax_rebate + - nj_property_tax_credit + - nm_property_tax_rebate + - ny_real_property_tax_credit + - ok_ptc + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit metadata: unit: list diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.yaml new file mode 100644 index 00000000000..b25f7a0dd62 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.yaml @@ -0,0 +1,71 @@ +- name: Case 1, senior homeowner receives the state levy exemption. + period: 2025 + input: + people: + person1: + age: 65 + real_estate_taxes: 1_000 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + # 100,000 assessed value * 0.0065 state levy. + al_senior_homestead_exemption: 650 + +- name: Case 2, relief is capped at real estate taxes paid. + period: 2025 + input: + people: + person1: + age: 70 + real_estate_taxes: 500 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption: 500 + +- name: Case 3, homeowner below the age threshold receives no relief. + period: 2025 + input: + people: + person1: + age: 64 + real_estate_taxes: 1_000 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption: 0 + +- name: Case 4, missing assessed property value yields no modeled relief. + period: 2025 + input: + people: + person1: + age: 70 + real_estate_taxes: 1_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.yaml new file mode 100644 index 00000000000..4bdb1a04d61 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.yaml @@ -0,0 +1,70 @@ +- name: Case 1, senior homeowner is eligible. + period: 2025 + input: + people: + person1: + age: 65 + real_estate_taxes: 1_000 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption_eligible: true + +- name: Case 2, homeowner below the age threshold is ineligible. + period: 2025 + input: + people: + person1: + age: 64 + real_estate_taxes: 1_000 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption_eligible: false + +- name: Case 3, senior renter is ineligible. + period: 2025 + input: + people: + person1: + age: 70 + rent: 12_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AL + output: + al_senior_homestead_exemption_eligible: false + +- name: Case 4, senior homeowner outside Alabama is ineligible. + period: 2025 + input: + people: + person1: + age: 70 + real_estate_taxes: 1_000 + assessed_property_value: 100_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: GA + output: + al_senior_homestead_exemption_eligible: false diff --git a/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.py b/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.py new file mode 100644 index 00000000000..a8f31956951 --- /dev/null +++ b/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption.py @@ -0,0 +1,23 @@ +from policyengine_us.model_api import * + + +class al_senior_homestead_exemption(Variable): + value_type = float + entity = TaxUnit + label = "Alabama senior homestead exemption" + unit = USD + definition_period = YEAR + reference = ( + "https://law.justia.com/codes/alabama/title-40/chapter-9/article-1/section-40-9-19/", + "https://www.revenue.alabama.gov/tax-types/property-ad-valorem-tax/", + "https://www.revenue.alabama.gov/property-tax/homestead-exemptions/", + ) + defined_for = "al_senior_homestead_exemption_eligible" + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.al.tax.property.senior_homestead_exemption + return min_( + add(tax_unit, period, ["assessed_property_value"]) + * p.state_property_tax_rate, + add(tax_unit, period, ["real_estate_taxes"]), + ) diff --git a/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.py b/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.py new file mode 100644 index 00000000000..4eec630a541 --- /dev/null +++ b/policyengine_us/variables/gov/states/al/tax/property/senior_homestead_exemption/al_senior_homestead_exemption_eligible.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class al_senior_homestead_exemption_eligible(Variable): + value_type = bool + entity = TaxUnit + label = "Eligible for the Alabama senior homestead exemption" + definition_period = YEAR + reference = ( + "https://law.justia.com/codes/alabama/title-40/chapter-9/article-1/section-40-9-19/", + "https://www.law.cornell.edu/regulations/alabama/Ala-Admin-Code-r-810-4-1-.23", + "https://www.revenue.alabama.gov/property-tax/homestead-exemptions/", + ) + defined_for = StateCode.AL + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.al.tax.property.senior_homestead_exemption + return ( + (tax_unit("greater_age_head_spouse", period) >= p.age_threshold) + & (add(tax_unit, period, ["real_estate_taxes"]) > 0) + & ~tax_unit("rents", period) + ) From fb1d6f6c9c6ad3b95f5b57716fcbd7d7d2c71e3a Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Thu, 14 May 2026 16:53:52 -0400 Subject: [PATCH 2/6] Rename changelog fragment for PR 8304 --- changelog.d/{8192.added.md => 8304.added.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{8192.added.md => 8304.added.md} (100%) diff --git a/changelog.d/8192.added.md b/changelog.d/8304.added.md similarity index 100% rename from changelog.d/8192.added.md rename to changelog.d/8304.added.md From 156eab2ef98e3752b818ba197cf2201d4e9cf622 Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Mon, 18 May 2026 17:28:30 -0400 Subject: [PATCH 3/6] Wire al_senior_homestead_exemption into net income Add al_senior_homestead_exemption to a new gov.states.al.tax.income.credits.refundable list and wire al_refundable_credits to it. The exemption now flows through household_refundable_state_tax_credits to household_net_income. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../states/al/tax/income/credits/refundable.yaml | 14 ++++++++++++++ .../states/al/tax/income/al_refundable_credits.py | 1 + 2 files changed, 15 insertions(+) create mode 100644 policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml diff --git a/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml b/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml new file mode 100644 index 00000000000..d220f101eef --- /dev/null +++ b/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml @@ -0,0 +1,14 @@ +description: Alabama provides these refundable property tax relief credits. +values: + 2025-01-01: + - al_senior_homestead_exemption + +metadata: + unit: list + period: year + label: Alabama refundable credits + reference: + - title: Alabama Code Section 40-9-19(a)(2) + href: https://law.justia.com/codes/alabama/title-40/chapter-9/article-1/section-40-9-19/ + - title: Alabama Department of Revenue Homestead Exemptions + href: https://www.revenue.alabama.gov/property-tax/homestead-exemptions/ diff --git a/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py b/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py index 7f980237ff0..8e874f935df 100644 --- a/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py +++ b/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py @@ -8,3 +8,4 @@ class al_refundable_credits(Variable): unit = USD definition_period = YEAR defined_for = StateCode.AL + adds = "gov.states.al.tax.income.credits.refundable" From 837393db6002c7b112d93d7dbdd02b99d3042595 Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Thu, 21 May 2026 16:10:46 -0400 Subject: [PATCH 4/6] Keep property tax relief household-only --- .../al/tax/income/credits/refundable.yaml | 14 -- .../household/state_property_tax_credits.yaml | 153 +++--------------- .../al/tax/income/al_refundable_credits.py | 1 - 3 files changed, 19 insertions(+), 149 deletions(-) delete mode 100644 policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml diff --git a/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml b/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml deleted file mode 100644 index d220f101eef..00000000000 --- a/policyengine_us/parameters/gov/states/al/tax/income/credits/refundable.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: Alabama provides these refundable property tax relief credits. -values: - 2025-01-01: - - al_senior_homestead_exemption - -metadata: - unit: list - period: year - label: Alabama refundable credits - reference: - - title: Alabama Code Section 40-9-19(a)(2) - href: https://law.justia.com/codes/alabama/title-40/chapter-9/article-1/section-40-9-19/ - - title: Alabama Department of Revenue Homestead Exemptions - href: https://www.revenue.alabama.gov/property-tax/homestead-exemptions/ diff --git a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml index aa0836e79e1..6a9b8dfc6a4 100644 --- a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml +++ b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml @@ -1,139 +1,24 @@ description: All state property tax credits and circuit breaker programs. values: - # Year-gated: each credit appears from the year its - # parameters are first defined in PE-US. - 1977-01-01: - - ri_property_tax_credit - 1996-01-01: - - nj_property_tax_credit - - ri_property_tax_credit - 1997-01-01: - - mo_property_tax_credit - - nj_property_tax_credit - - ri_property_tax_credit - 2000-01-01: - - mo_property_tax_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_property_tax_credit - 2001-01-01: - - ma_senior_circuit_breaker - - mo_property_tax_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_property_tax_credit - 2008-01-01: - - ma_senior_circuit_breaker - - mo_property_tax_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2009-01-01: - - ma_senior_circuit_breaker - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2011-01-01: - - ct_property_tax_credit - - ma_senior_circuit_breaker - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2014-01-01: - - ct_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2016-01-01: - - ct_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - nj_property_tax_credit - - ny_real_property_tax_credit - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2021-01-01: - - az_property_tax_credit - - ct_property_tax_credit - - dc_ptc - - il_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - nj_property_tax_credit - - nm_property_tax_rebate - - ny_real_property_tax_credit - - ok_ptc - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2022-01-01: - - az_property_tax_credit - - ct_property_tax_credit - - dc_ptc - - il_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - mt_property_tax_rebate - - nj_property_tax_credit - - nm_property_tax_rebate - - ny_real_property_tax_credit - - ok_ptc - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2025-01-01: - - al_senior_homestead_exemption - - az_property_tax_credit - - ct_property_tax_credit - - dc_ptc - - il_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - mt_property_tax_rebate - - nj_property_tax_credit - - nm_property_tax_rebate - - ny_real_property_tax_credit - - ok_ptc - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit + 0000-01-01: + - az_property_tax_credit # Arizona Property Tax Credit + - ct_property_tax_credit # Connecticut Property Tax Credit + # Exclude ca_renter_credit as it is for renters, not homeowners. + - dc_ptc # DC Property Tax Credit + # Exclude hi_tax_credit_for_low_income_household_renters as it is for renters, not homeowners. + - ma_senior_circuit_breaker # Massachusetts Senior Circuit Breaker Credit + - me_property_tax_fairness_credit # Maine Property Tax Fairness Credit + - mi_homestead_property_tax_credit # Michigan homestead property tax credit + - mo_property_tax_credit # Missouri property tax credit + - mt_elderly_homeowner_or_renter_credit # Montana Elderly Homeowner/Renter Credit + - nj_property_tax_credit # New Jersey property tax credit + - nm_property_tax_rebate # New Mexico property tax rebate + - ny_real_property_tax_credit # New York real property tax credit + - ri_property_tax_credit # Rhode Island property tax credit + # Omit vt_renter_credit + - wi_homestead_credit # Wisconsin homestead credit + - wi_property_tax_credit # Wisconsin property tax credit + - wv_homestead_excess_property_tax_credit # West Virginia metadata: unit: list diff --git a/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py b/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py index 8e874f935df..7f980237ff0 100644 --- a/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py +++ b/policyengine_us/variables/gov/states/al/tax/income/al_refundable_credits.py @@ -8,4 +8,3 @@ class al_refundable_credits(Variable): unit = USD definition_period = YEAR defined_for = StateCode.AL - adds = "gov.states.al.tax.income.credits.refundable" From 63b8187aa60dd62f066bcbd027ea13866ef531c2 Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Thu, 21 May 2026 16:13:25 -0400 Subject: [PATCH 5/6] Restore property tax aggregate base --- .../household/state_property_tax_credits.yaml | 178 ++++++++++++++++-- 1 file changed, 159 insertions(+), 19 deletions(-) diff --git a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml index 6a9b8dfc6a4..5fc7a8116bf 100644 --- a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml +++ b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml @@ -1,24 +1,164 @@ description: All state property tax credits and circuit breaker programs. values: - 0000-01-01: - - az_property_tax_credit # Arizona Property Tax Credit - - ct_property_tax_credit # Connecticut Property Tax Credit - # Exclude ca_renter_credit as it is for renters, not homeowners. - - dc_ptc # DC Property Tax Credit - # Exclude hi_tax_credit_for_low_income_household_renters as it is for renters, not homeowners. - - ma_senior_circuit_breaker # Massachusetts Senior Circuit Breaker Credit - - me_property_tax_fairness_credit # Maine Property Tax Fairness Credit - - mi_homestead_property_tax_credit # Michigan homestead property tax credit - - mo_property_tax_credit # Missouri property tax credit - - mt_elderly_homeowner_or_renter_credit # Montana Elderly Homeowner/Renter Credit - - nj_property_tax_credit # New Jersey property tax credit - - nm_property_tax_rebate # New Mexico property tax rebate - - ny_real_property_tax_credit # New York real property tax credit - - ri_property_tax_credit # Rhode Island property tax credit - # Omit vt_renter_credit - - wi_homestead_credit # Wisconsin homestead credit - - wi_property_tax_credit # Wisconsin property tax credit - - wv_homestead_excess_property_tax_credit # West Virginia + # Year-gated: each credit appears from the year its + # parameters are first defined in PE-US. + 1977-01-01: + - ri_property_tax_credit + 1996-01-01: + - nj_property_tax_credit + - ri_property_tax_credit + 1997-01-01: + - mo_property_tax_credit + - nj_property_tax_credit + - ri_property_tax_credit + 2000-01-01: + - mo_property_tax_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_property_tax_credit + 2001-01-01: + - ma_senior_circuit_breaker + - mo_property_tax_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_property_tax_credit + 2008-01-01: + - ma_senior_circuit_breaker + - mo_property_tax_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2009-01-01: + - ma_senior_circuit_breaker + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2011-01-01: + - ct_property_tax_credit + - ma_senior_circuit_breaker + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2014-01-01: + - ct_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2016-01-01: + - ct_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - nj_property_tax_credit + - ny_real_property_tax_credit + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2021-01-01: + - az_property_tax_credit + - ct_property_tax_credit + - dc_ptc + - il_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - nj_property_tax_credit + - nm_property_tax_rebate + - ny_real_property_tax_credit + - ok_ptc + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2022-01-01: + - az_property_tax_credit + - ct_property_tax_credit + - dc_ptc + - il_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - mt_property_tax_rebate + - nj_property_tax_credit + - nm_property_tax_rebate + - ny_real_property_tax_credit + - ok_ptc + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2024-01-01: + - az_property_tax_credit + - ct_property_tax_credit + - dc_ptc + - il_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mn_renters_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - mt_property_tax_rebate + - nd_renters_refund + - nj_property_tax_credit + - nm_property_tax_rebate + - ny_real_property_tax_credit + - ok_ptc + - ri_property_tax_credit + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit + 2025-01-01: + - az_property_tax_credit + - ct_property_tax_credit + - dc_ptc + - dc_senior_disabled_property_tax_relief + - il_property_tax_credit + - ma_senior_circuit_breaker + - me_property_tax_fairness_credit + - mi_homestead_property_tax_credit + - mn_renters_credit + - mo_property_tax_credit + - mt_elderly_homeowner_or_renter_credit + - mt_property_tax_rebate + - nd_renters_refund + - nj_property_tax_credit + - nm_property_tax_rebate + - ny_real_property_tax_credit + - ok_ptc + - pa_property_tax_or_rent_rebate + - ri_property_tax_credit + - ut_homeowner_renter_relief + - wi_homestead_credit + - wi_property_tax_credit + - wv_homestead_excess_property_tax_credit metadata: unit: list From fa1669f717714ad41baa10de5220ed943c5f50df Mon Sep 17 00:00:00 2001 From: Daphne Hansell <128793799+daphnehanse11@users.noreply.github.com> Date: Thu, 21 May 2026 16:17:30 -0400 Subject: [PATCH 6/6] Drop property tax aggregate diff --- .../household/state_property_tax_credits.yaml | 45 ------------------- 1 file changed, 45 deletions(-) diff --git a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml index 5fc7a8116bf..b5c719c31cf 100644 --- a/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml +++ b/policyengine_us/parameters/gov/states/household/state_property_tax_credits.yaml @@ -114,51 +114,6 @@ values: - wi_homestead_credit - wi_property_tax_credit - wv_homestead_excess_property_tax_credit - 2024-01-01: - - az_property_tax_credit - - ct_property_tax_credit - - dc_ptc - - il_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mn_renters_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - mt_property_tax_rebate - - nd_renters_refund - - nj_property_tax_credit - - nm_property_tax_rebate - - ny_real_property_tax_credit - - ok_ptc - - ri_property_tax_credit - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit - 2025-01-01: - - az_property_tax_credit - - ct_property_tax_credit - - dc_ptc - - dc_senior_disabled_property_tax_relief - - il_property_tax_credit - - ma_senior_circuit_breaker - - me_property_tax_fairness_credit - - mi_homestead_property_tax_credit - - mn_renters_credit - - mo_property_tax_credit - - mt_elderly_homeowner_or_renter_credit - - mt_property_tax_rebate - - nd_renters_refund - - nj_property_tax_credit - - nm_property_tax_rebate - - ny_real_property_tax_credit - - ok_ptc - - pa_property_tax_or_rent_rebate - - ri_property_tax_credit - - ut_homeowner_renter_relief - - wi_homestead_credit - - wi_property_tax_credit - - wv_homestead_excess_property_tax_credit metadata: unit: list