Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/fix-mt-ehrc-household-member-income.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Apply the full Montana elderly homeowner/renter credit multiplier when permitted adjustments make household income negative.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Limit the Montana elderly homeowner/renter credit to one claimant per household (MCA 15-30-2341(1)): when several tax units in a household qualify, only the one with the largest credit is paid.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
tax_units:
tax_unit:
members: [person1]
households:
household:
members: [person1]
state_code: MT
output:
mt_elderly_homeowner_or_renter_credit: 0

Expand All @@ -33,6 +37,10 @@
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MT
output:
# min_((propertytax + rent*rate - (grossincome-standard)*reduction_rate), 1150) * percentage(grossincome)
# 1500+ 9000*2*0.15 - (34000-12600)*0.05 = 3130 # 1150*100%
Expand All @@ -57,6 +65,10 @@
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MT
output:
# min_((propertytax + rent*rate - (grossincome-standard)*reduction_rate), 1000) * percentage(grossincome)
# 1500+ 9000*2*0.15 - (34000-6300)*0.05 = 2815 # 1000*100%
Expand Down Expand Up @@ -87,6 +99,10 @@
tax_units:
tax_unit:
members: [person1, person2, person3]
households:
household:
members: [person1, person2, person3]
state_code: MT
output:
# min_((propertytax + rent*rate - (grossincome-standard)*reduction_rate), 1150) * percentage(grossincome)
# 1000+ 9000*0.15 - (43000-12600)*0.05 = 830 # 830*10% = 83
Expand All @@ -111,6 +127,10 @@
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MT
output:
# Each person's gross household income is under the $35,000 threshold
# (multiplier 1.0 per-person), but the tax-unit sum is $44,000 which
Expand All @@ -130,6 +150,10 @@
tax_units:
tax_unit:
members: [person1]
households:
household:
members: [person1]
state_code: MT
output:
mt_elderly_homeowner_or_renter_credit: 0

Expand Down Expand Up @@ -408,6 +432,201 @@
mt_elderly_homeowner_or_renter_credit_net_household_income: [870, 0]
mt_elderly_homeowner_or_renter_credit: [1_130, 0]

- name: 2024 Schedule 2EC, two eligible siblings filing separately in one household; only the larger claim is paid
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 66
taxable_pension_income: 10_000
rent: 4_800
person2:
age: 70
taxable_pension_income: 15_000
rent: 7_200
tax_units:
tax_unit1:
members: [person1]
tax_unit2:
members: [person2]
households:
household:
members: [person1, person2]
state_name: MT
output:
# Both siblings are 62 or older and file their own returns. Line 18
# gross household income = 10_000 + 15_000 = 25_000 for each; line 20 =
# 25_000 - 12_600 = 12_400; line 21 = 0.05; line 22 = 620.
# person1: line 25 = 4_800 x 0.15 = 720; line 27 = 720 - 620 = 100.
# person2: line 25 = 7_200 x 0.15 = 1_080; line 27 = 1_080 - 620 = 460.
# Line 29 = 100% (under 35_000). "Only one claimant per household in a
# claim period ... is entitled to relief" (§ 15-30-2341(1)); the
# household claims through person2, whose credit is larger. Before the
# limit both were paid, 560 in total.
mt_elderly_homeowner_or_renter_credit_pre_one_claimant: [100, 460]
mt_elderly_homeowner_or_renter_credit_selected_claimant: [false, true]
mt_elderly_homeowner_or_renter_credit: [0, 460]
mt_refundable_credits: [0, 460]
taxsim_state_property_tax_credit: [0, 460]
# 2024 Form 2, PDF p. 1: federal standard deduction 16,550 plus
# old-age subtraction 5,500 exceeds either pension. Tax before
# refundable credits is zero, so only person2 receives a refund.
mt_income_tax: [0, -460]

- name: 2024 Schedule 2EC, one eligible tax unit and one younger household member who files separately
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
taxable_pension_income: 10_000
rent: 4_800
person2:
age: 58
taxable_pension_income: 15_000
rent: 7_200
tax_units:
tax_unit1:
members: [person1]
tax_unit2:
members: [person2]
households:
household:
members: [person1, person2]
state_name: MT
output:
# Same household as above, but person2 is under 62 and cannot be a
# claimant (§ 15-30-2338(1)(a)), even though their rent is larger.
# Line 22 = 620; person1's line 27 = 720 - 620 = 100.
mt_elderly_homeowner_or_renter_credit_selected_claimant: [true, false]
mt_elderly_homeowner_or_renter_credit: [100, 0]

- name: 2025 Schedule 2EC, a joint couple who both qualify make one claim
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
taxable_pension_income: 15_000
real_estate_taxes: 2_000
person2:
age: 66
taxable_pension_income: 10_000
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_name: MT
output:
# "If filing jointly and both spouses qualify for the credit, enter the
# spouse listed as the taxpayer on page 1 as the claimant" (2025
# instructions). Line 18 = 25_000; line 22 = 12_400 x 0.05 = 620;
# line 27 = 2_000 - 620 = 1_380; line 28 = 1_150 cap; line 30 = 1_150,
# held by the tax unit head.
mt_elderly_homeowner_or_renter_credit_selected_claimant: true
mt_elderly_homeowner_or_renter_credit: [1_150, 0]

- name: 2024 Schedule 2EC, two eligible tax units with equal credits; exactly one claims
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 68
taxable_pension_income: 12_500
rent: 6_000
person2:
age: 72
taxable_pension_income: 12_500
rent: 6_000
tax_units:
tax_unit1:
members: [person1]
tax_unit2:
members: [person2]
households:
household:
members: [person1, person2]
state_name: MT
output:
# Line 18 = 25_000; line 22 = 620; each line 27 = 900 - 620 = 280. The
# household gets one 280 credit; the tie goes to the first tax unit in
# the household's member order.
mt_elderly_homeowner_or_renter_credit_pre_one_claimant: [280, 280]
mt_elderly_homeowner_or_renter_credit_selected_claimant: [true, false]
mt_elderly_homeowner_or_renter_credit: [280, 0]

- name: 2024 Schedule 2EC, the one-claimant limit applies within each household, not across households
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
taxable_pension_income: 20_000
real_estate_taxes: 2_000
person2:
age: 75
taxable_pension_income: 10_000
rent: 6_000
tax_units:
tax_unit1:
members: [person1]
tax_unit2:
members: [person2]
households:
household1:
members: [person1]
state_name: MT
household2:
members: [person2]
state_name: MT
output:
# Household 1: line 18 = 20_000; line 20 = 7_400; line 21 = 0.035;
# line 22 = 259; line 27 = 2_000 - 259 = 1_741; line 28 = 1_150.
# Household 2: line 18 = 10_000; line 20 = 0; line 22 = 0;
# line 27 = 6_000 x 0.15 = 900. Each household has its own claimant.
mt_elderly_homeowner_or_renter_credit_selected_claimant: [true, true]
mt_elderly_homeowner_or_renter_credit: [1_150, 900]

- name: 2023 dependent self-employment income preserves the deductible half of SE tax
period: 2023
absolute_error_margin: 0.01
input:
people:
claimant:
age: 70
is_tax_unit_dependent: false
taxable_pension_income: 20_000
rent: 12_000
child:
age: 18
is_tax_unit_dependent: true
self_employment_income: 10_000
tax_units:
claimant_unit:
members: [claimant, child]
households:
household:
members: [claimant, child]
state_code: MT
output:
# 2023 Schedule SE, PDF p. 1, lines 4a and 10-13:
# https://www.irs.gov/pub/irs-prior/f1040sse--2023.pdf#page=1
# 10,000 * .9235 * (.124 + .029) / 2 = 706.4775 deductible SE tax.
# 2023 MT instructions, PDF pp. 51-52, lines 1 and 9: use each
# member's federal AGI and add back losses, preserving other adjustments.
# https://revenue.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2023_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=51
# Income = 20,000 + 10,000 - 706.4775 = 29,293.5225.
mt_elderly_homeowner_or_renter_credit_gross_household_income: [20_000, 9_293.5225]
# Credit = 12,000 * .15 - (29,293.5225 - 12,600) * .05 = 965.323875.
mt_elderly_homeowner_or_renter_credit: [965.323875, 0]

- name: 2024 Schedule 2EC worked case, a household member's federal EITC counts as a refundable credit received
period: 2024
absolute_error_margin: 0.01
Expand Down Expand Up @@ -580,3 +799,46 @@
# = 1_099.89; line 21 = 100%; line 22 = 1_099.89.
mt_elderly_homeowner_or_renter_credit_net_household_income: [900.11, 0]
mt_elderly_homeowner_or_renter_credit: [1_099.89, 0]

- name: Federal refundable credits and actual receipts reduce both elderly claims before selecting the larger one
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 66
taxable_pension_income: 10_000
rent: 4_800
mt_elderly_homeowner_or_renter_credit_received: 60
mt_elderly_homeowner_or_renter_credit_property_tax_rebate_received: 20
person2:
age: 70
taxable_pension_income: 15_000
rent: 7_200
mt_elderly_homeowner_or_renter_credit_received: 40
mt_elderly_homeowner_or_renter_credit_property_tax_rebate_received: 80
tax_units:
tax_unit1:
members: [person1]
income_tax_refundable_credits: 500
tax_unit2:
members: [person2]
income_tax_refundable_credits: 300
households:
household:
members: [person1, person2]
state_code: MT
output:
# Schedule 2EC line 8 counts each return's federal refundable credits
# once, plus actual elderly-credit and rebate receipts. Person amounts:
# 10_000 + 500 + 60 + 20 = 10_580; 15_000 + 300 + 40 + 80 = 15_420.
# Line 18 = 26_000; line 22 = (26_000 - 12_600) * .05 = 670.
# Line 25 rent equivalents = [4_800, 7_200] * .15 = [720, 1_080].
# Line 27 = [720, 1_080] - 670 = [50, 410], both below the 1_150 cap.
# Line 29 = 100% below 35_000. Only the larger 410 claim is paid;
# without the 1_000 of federal credits/receipts, it would be 460.
mt_elderly_homeowner_or_renter_credit_gross_household_income: [10_580, 15_420]
mt_elderly_homeowner_or_renter_credit_net_household_income: [670, 670]
mt_elderly_homeowner_or_renter_credit_pre_one_claimant: [50, 410]
mt_elderly_homeowner_or_renter_credit_selected_claimant: [false, true]
mt_elderly_homeowner_or_renter_credit: [0, 410]
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
- name: Case 1, each eligible tax unit's credit before the one-claimant limit.
period: 2024
absolute_error_margin: 0.01
input:
people:
person1:
age: 66
taxable_pension_income: 10_000
rent: 4_800
person2:
age: 70
taxable_pension_income: 15_000
rent: 7_200
person3:
age: 40
taxable_interest_income: 5_000
rent: 3_000
tax_units:
tax_unit1:
members: [person1]
tax_unit2:
members: [person2]
tax_unit3:
members: [person3]
households:
household:
members: [person1, person2, person3]
state_name: MT
output:
# 2024 Schedule 2EC. Line 18 = 10_000 + 15_000 + 5_000 = 30_000 for the
# whole household; line 20 = 17_400; line 21 = 0.05; line 22 = 870.
# person1: line 25 = 720; line 27 = max(720 - 870, 0) = 0.
# person2: line 25 = 1_080; line 27 = 1_080 - 870 = 210.
# person3 is under 62, so not a claimant (§ 15-30-2338(1)(a)).
mt_elderly_homeowner_or_renter_credit_pre_one_claimant: [0, 210, 0]
mt_elderly_homeowner_or_renter_credit_selected_claimant: [false, true, false]
mt_elderly_homeowner_or_renter_credit: [0, 210, 0]
Loading
Loading