From d42322346990a801d436700b2acfdf3ed4205bea Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Tue, 2 Jun 2026 00:23:13 -0400 Subject: [PATCH 1/2] Unwire UT Homeowner/Renter Relief from income tax refundable credits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Utah Homeowner's/Renter's Relief (Utah Code § 59-2A-205 / § 59-2A-305) is administered on a separate refund application (Form TC-90CB) rather than on Form TC-40, the income tax return. Remove it from gov.states.ut.tax.income.credits.refundable so ut_refundable_credits and ut_income_tax no longer reflect the credit. The credit continues to flow through the household-level state_property_tax_credits aggregate (already wired for 2025+ and 2026+). This matches the existing pattern for the Vermont Renter Credit, Minnesota Renter's Credit, and Pennsylvania Property Tax/Rent Rebate, all of which sit in the aggregate but not in their state's income-tax refundable credits. Closes #8561. Co-Authored-By: Claude Opus 4.7 (1M context) --- ...ner-renter-relief-from-income-tax.fixed.md | 1 + .../ut/tax/income/credits/refundable.yaml | 18 +++++++------- .../income/credits/ut_refundable_credits.yaml | 24 +++++++++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 changelog.d/unwire-ut-homeowner-renter-relief-from-income-tax.fixed.md create mode 100644 policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml diff --git a/changelog.d/unwire-ut-homeowner-renter-relief-from-income-tax.fixed.md b/changelog.d/unwire-ut-homeowner-renter-relief-from-income-tax.fixed.md new file mode 100644 index 00000000000..70b65858e88 --- /dev/null +++ b/changelog.d/unwire-ut-homeowner-renter-relief-from-income-tax.fixed.md @@ -0,0 +1 @@ +Remove the Utah Homeowner's/Renter's Relief from Utah income tax refundable credits, since it is administered on Form TC-90CB rather than Form TC-40. The credit remains in the household-level state property tax credits aggregate. diff --git a/policyengine_us/parameters/gov/states/ut/tax/income/credits/refundable.yaml b/policyengine_us/parameters/gov/states/ut/tax/income/credits/refundable.yaml index 61354c3489e..edfb0740a36 100644 --- a/policyengine_us/parameters/gov/states/ut/tax/income/credits/refundable.yaml +++ b/policyengine_us/parameters/gov/states/ut/tax/income/credits/refundable.yaml @@ -1,16 +1,18 @@ -description: Utah provides these refundable income tax credits. +description: Utah provides these refundable income tax credits on Form TC-40. values: - 2025-01-01: - - ut_homeowner_renter_relief + # Utah does not currently administer any refundable credits on the TC-40 + # income tax return. The Homeowner's/Renter's Relief (Utah Code + # § 59-2A-205 / § 59-2A-305) is administered on a separate refund + # application (Form TC-90CB) and flows through the household-level + # state_property_tax_credits aggregate instead. + 2025-01-01: [] metadata: unit: list period: year label: Utah refundable credits reference: - - title: Utah State Tax Commission Homeowner's or Renter's Relief + - title: Utah State Tax Commission Form TC-40 instructions + href: https://tax.utah.gov/forms/current/tc-40inst.pdf + - title: Utah State Tax Commission Homeowner's or Renter's Relief (Form TC-90CB) href: https://tax.utah.gov/relief/homeowner-renter-relief/ - - title: Utah Code Section 59-2a-205 - href: https://le.utah.gov/xcode/Title59/Chapter2A/C59-2a_2026010120250507.pdf#page=11 - - title: Utah Code Section 59-2a-305 - href: https://le.utah.gov/xcode/Title59/Chapter2A/C59-2a_2026010120250507.pdf#page=14 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml b/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml new file mode 100644 index 00000000000..5b4041f8c8d --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml @@ -0,0 +1,24 @@ +- name: UT has no refundable credits on Form TC-40 — the Homeowner/Renter Relief is administered on Form TC-90CB + period: 2025 + input: + people: + head: + age: 75 + employment_income: 25_000 + social_security_retirement: 12_123.58 + rent: 18_363.48 + tax_units: + tax_unit: + members: [head] + households: + household: + members: [head] + state_name: UT + output: + # vt_renter_credit-style structural pattern: the credit is non-zero + # but it does not appear on the income tax return — it flows through + # the household-level state_property_tax_credits aggregate instead. + ut_homeowner_renter_relief: 429 + ut_refundable_credits: 0 + ut_income_tax: 0 + taxsim_state_property_tax_credit: 429 From e7058f126263b55644aba548d84d068872ee2af9 Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Tue, 2 Jun 2026 09:32:51 -0400 Subject: [PATCH 2/2] Add cross-state, pre-2025, and non-zero income-tax boundary tests The cross-state and pre-2025 tests confirm the rewiring respects defined_for and the year-keyed parameter list. The non-zero income-tax case proves typical UT filers (no relief, positive liability) are unaffected by removing the credit from the refundable aggregate. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../income/credits/ut_refundable_credits.yaml | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml b/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml index 5b4041f8c8d..d348fbe125b 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ut_refundable_credits.yaml @@ -1,4 +1,7 @@ - name: UT has no refundable credits on Form TC-40 — the Homeowner/Renter Relief is administered on Form TC-90CB + # Scenario from issue #8561 / PolicyEngine/policyengine-taxsim#947. + # TAXSIM-35 and TaxAct (Form TC-40) both return $0 siitax for this + # household; PE-US previously returned -$429. period: 2025 input: people: @@ -22,3 +25,66 @@ ut_refundable_credits: 0 ut_income_tax: 0 taxsim_state_property_tax_credit: 429 + +- name: Non-UT household does not pick up Utah refundable credits via the aggregate + period: 2025 + input: + people: + head: + age: 75 + employment_income: 25_000 + social_security_retirement: 12_123.58 + rent: 18_363.48 + tax_units: + tax_unit: + members: [head] + households: + household: + members: [head] + state_name: NH + output: + ut_homeowner_renter_relief: 0 + ut_refundable_credits: 0 + +- name: Pre-2025 UT household excludes ut_homeowner_renter_relief from ut_refundable_credits + # The aggregate parameter only starts 2025-01-01; pre-2025 the list + # is unset, so the relief never appeared in TC-40 refundable credits. + period: 2024 + input: + people: + head: + age: 75 + employment_income: 25_000 + social_security_retirement: 12_123.58 + rent: 18_363.48 + tax_units: + tax_unit: + members: [head] + households: + household: + members: [head] + state_name: UT + output: + ut_refundable_credits: 0 + +- name: Non-zero UT income tax — rewiring leaves typical filers' liability unchanged + # Higher-wage UT household with no rent: ut_homeowner_renter_relief is + # zero, ut_income_tax is positive, and ut_refundable_credits stays 0. + # Guards against silently changing TC-40 outcomes for non-relief filers. + period: 2025 + input: + people: + head: + age: 40 + employment_income: 100_000 + tax_units: + tax_unit: + members: [head] + households: + household: + members: [head] + state_name: UT + output: + ut_homeowner_renter_relief: 0 + ut_refundable_credits: 0 + ut_income_tax: 4_500