Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 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-separate-medical-dependents.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Count dependents' other medical expenses in Montana's 2021-2023 separate-filing medical deduction, allocating them between spouses filing separately on the same form to minimize the couple's tax; an unmarried filer's column holds all of them. The separate path now chooses between itemizing and the standard deduction by the couple's tax rather than by summed deductions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,30 @@
description: Share of tax unit itemized deductions allocated to each spouse when married filing separately on the same form. This is not a policy parameter but a mathematical representation of "divided equally".
description: Montana itemized deductions paid jointly are split by this share between the spouses' columns when married couples file separately on the same form; this is a modeling convention, not a rate in law.
values:
# 0.5 means each spouse gets 50% of joint deductions
# A modeling convention, not a rate in the law. On the same form (status
# 2a), ARM 42.15.524(3)(b) defers to the form, which lets the couple
# allocate payments from accounts both spouses own "in any proportional
# amount"; an equal division is required only on separate forms, absent a
# written agreement (ARM 42.15.524(3)(c)). Readers:
# - mt_non_medical_itemized_deductions_indiv and
# mt_itemized_deductions_for_federal_itemization_indiv split the
# charitable deduction equally by this rate;
# - mt_dependent_medical_expense_head_share uses it as the tie-break and
# starting candidate for the tax-minimizing split of dependents' medical
# bills;
# - mt_child_dependent_care_expense_deduction gives each spouse this share
# of the deduction. There the equal split is the law's rule, not a
# convention: each spouse enters one-half of Form 2441-M line 7.
# The federal rule for separate returns also treats payments from a joint
# account as paid equally.
2021-01-01: 0.5
metadata:
label: Montana itemized deductions spouse allocation rate
period: year
unit: /1
reference:
- title: Montana Administrative Rule 42.15.524 - Itemized Deductions of Married Taxpayers
href: https://rules.mt.gov/gateway/ruleno.asp?RN=42.15.524
- title: Montana Form 2 Instructions
href: https://revenue.mt.gov/publications/montana-form-2-individual-income-tax-return-forms-and-instructions-includes-form-2ec
- title: Montana Administrative Rule 42.15.524 - Itemized Deductions of Married Taxpayers (archived text, in effect until its repeal effective Jan. 25, 2025)
href: https://web.archive.org/web/20201030190413/http://www.mtrules.org/gateway/ruleno.asp?RN=42.15.524
- title: 2022 Montana Form 2 Instructions, Allocation of deductions
href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2022_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11
- title: IRS Publication 502, Separate returns
href: https://www.irs.gov/publications/p502
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
# Worksheet lines 1-6 (PDF p. 7):
# https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2022_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=7
# Instructions for Form 2 line 15 require both spouses to use the same method
# (PDF p. 16); the model retains the standard deduction when totals tie:
# (PDF p. 16). The couple takes the method with the lower combined tax; the
# summed deductions decide only when the taxes tie:
# https://revenue.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2022_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=16

- name: Combined-AGI care deduction leaves standard deductions at the itemization boundary
- name: Combined-AGI care deduction at the summed-deduction boundary; itemizing lowers the tax
period: 2022
absolute_error_margin: 0.01
input:
Expand Down Expand Up @@ -40,14 +41,19 @@
# Care = min(3_000, 2_400) - 0.5 * (20_000 + 0 - 18_000)
# = 1_400; each spouse gets 700. Itemized total = 4_860 + 700 + 700
# = 6_260. Standard = max(20% * 20_000, 2_260) + 2_260 = 6_260.
# The unchanged tie rule selects standard deductions. Phasing out on
# each spouse's own AGI would incorrectly give 700 + 1_200 care and
# itemized total 6_760, crossing the choice boundary.
# Phasing out on each spouse's own AGI would incorrectly give 700 +
# 1_200 care and itemized total 6_760.
mt_child_dependent_care_expense_deduction: [700, 700, 0]
mt_itemized_deductions_indiv: [5_560, 700, 0]
mt_standard_deduction_indiv: [4_000, 2_260, 0]
mt_tax_unit_itemizes: false
mt_deductions_indiv: [4_000, 2_260, 0]
# The totals tie, but the election goes by tax. The spouse's column has
# no income, so only the head's deduction matters (2,710 exemption, and
# the child's 2,710 in the head's column): itemizing, 20_000 - 2_710 -
# 5_560 - 2_710 = 9_020 gives 176 + 120 x 4% = 180.80; standard,
# 20_000 - 2_710 - 4_000 - 2_710 = 10_580 gives 176 + 1_680 x 4% =
# 243.20. So the couple itemizes.
mt_tax_unit_itemizes: true
mt_deductions_indiv: [5_560, 700, 0]

- name: One more dollar of mortgage interest crosses the derived childcare itemization boundary
period: 2022
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
- name: With no income, every split gives the same tax, so the tie goes to the equal split
# Two tax units with the same people label the first adult head and then
# spouse; the columns do not depend on the label. The couple has no income,
# so the combined tax is zero at every candidate share and the tie goes to
# the share closest to the equal split.
period: 2021
absolute_error_margin: 0.01
input:
people:
a_first:
age: 50
is_tax_unit_head: true
a_second:
age: 48
is_tax_unit_spouse: true
other_medical_expenses: 700
a_child1:
age: 17
is_tax_unit_dependent: true
other_medical_expenses: 3_000
a_child2:
age: 12
is_tax_unit_dependent: true
other_medical_expenses: 1_000
b_first:
age: 50
is_tax_unit_spouse: true
b_second:
age: 48
is_tax_unit_head: true
other_medical_expenses: 700
b_child1:
age: 17
is_tax_unit_dependent: true
other_medical_expenses: 3_000
b_child2:
age: 12
is_tax_unit_dependent: true
other_medical_expenses: 1_000
tax_units:
a:
members: [a_first, a_second, a_child1, a_child2]
b:
members: [b_second, b_first, b_child1, b_child2]
households:
a:
members: [a_first, a_second, a_child1, a_child2]
state_code: MT
b:
members: [b_second, b_first, b_child1, b_child2]
state_code: MT
output:
mt_dependent_medical_expense_head_share: [0.5, 0.5]
# The dependents' 4,000 is divided equally: 2,000 to each column. The
# columns hold 2,000 + 2,700 = 4,700, every member's expenses.
mt_medical_and_dental_expenses_indiv: [2_000, 2_700, 0, 0, 2_000, 2_700, 0, 0]

- name: An unmarried filer's column holds the dependent's expenses
period: 2022
absolute_error_margin: 0.01
input:
people:
parent:
age: 35
other_medical_expenses: 100
child:
age: 6
is_tax_unit_dependent: true
other_medical_expenses: 900
tax_units:
tax_unit:
members: [parent, child]
households:
household:
members: [parent, child]
state_code: MT
output:
mt_medical_and_dental_expenses_indiv: [1_000, 0]

- name: No column amount once Montana ends separate filing on the same form
period: 2024
input:
people:
parent:
age: 35
other_medical_expenses: 100
child:
age: 6
is_tax_unit_dependent: true
other_medical_expenses: 900
tax_units:
tax_unit:
members: [parent, child]
households:
household:
members: [parent, child]
state_code: MT
output:
mt_married_filing_separately_on_same_return_eligible: [false, false]
mt_medical_and_dental_expenses_indiv: [0, 0]

- name: A member who is neither spouse nor a tax unit dependent is divided too
# The joint return's line 1 counts every member's other medical expenses,
# so the columns divide every member other than the head and spouse.
period: 2023
absolute_error_margin: 0.01
input:
people:
head:
age: 40
is_tax_unit_head: true
spouse:
age: 40
is_tax_unit_spouse: true
relative:
age: 70
is_tax_unit_dependent: false
other_medical_expenses: 1_000
tax_units:
tax_unit:
members: [head, spouse, relative]
households:
household:
members: [head, spouse, relative]
state_code: MT
output:
mt_medical_and_dental_expenses_indiv: [500, 500, 0]
Original file line number Diff line number Diff line change
Expand Up @@ -170,3 +170,153 @@
# give 0 + 4,000 + 1,000 = 5,000.
mt_married_filing_separately_on_same_return_eligible: true
mt_medical_expense_deduction_indiv: 1_500

- name: A dependent's medical expenses go to the column where they lower the couple's tax most
# Other medical expenses sit on the person cared for, so the child's 6,000
# is in neither spouse's own input. Two tax units with the same people label
# the earner head and then spouse; each column's amount does not depend on
# the label. The couple may divide the child's bills in any proportion, and
# the model takes the candidate share with the lowest combined tax.
period: 2022
absolute_error_margin: 0.01
input:
people:
a_earner:
age: 45
is_tax_unit_head: true
other_medical_expenses: 1_000
mt_agi_indiv: 60_000
a_partner:
age: 45
is_tax_unit_spouse: true
other_medical_expenses: 500
mt_agi_indiv: 20_000
a_child:
age: 10
is_tax_unit_dependent: true
other_medical_expenses: 6_000
b_earner:
age: 45
is_tax_unit_spouse: true
other_medical_expenses: 1_000
mt_agi_indiv: 60_000
b_partner:
age: 45
is_tax_unit_head: true
other_medical_expenses: 500
mt_agi_indiv: 20_000
b_child:
age: 10
is_tax_unit_dependent: true
other_medical_expenses: 6_000
tax_units:
a:
members: [a_earner, a_partner, a_child]
b:
members: [b_partner, b_earner, b_child]
households:
a:
members: [a_earner, a_partner, a_child]
state_code: MT
b:
members: [b_partner, b_earner, b_child]
state_code: MT
output:
# Floors: earner 7.5% x 60,000 = 4,500; partner 7.5% x 20,000 = 1,500.
# Taxable income before the medical deduction (2022 exemptions of 2,710
# each; the child's goes to the earner, the larger income): earner
# 60,000 - 5,420 = 54,580, at the 6.75% rate; partner 20,000 - 2,710 =
# 17,290, in the 6% bracket from 15,400 and 5% from 12,000.
# Tax saved by the medical deduction at each share to the earner:
# all to the partner: partner 500 + 6,000 - 1,500 = 5,000, taking
# 17,290 to 12,290: 1,890 x 6% + 3,110 x 5% = 268.90;
# all to the earner: earner 1,000 + 6,000 - 4,500 = 2,500 x 6.75% =
# 168.75;
# equal split: partner 3,500 - 1,500 = 2,000: 1,890 x 6% + 110 x 5% =
# 118.90; earner 4,000 is under the floor;
# the floors' kinks (shares 3,500 / 6,000 and 1 - 1,000 / 6,000): 90.00
# and 101.25.
# The incomes before the medical deduction differ by more than the
# bills, so the balancing share clips to 1 (all to the earner).
# So all of the child's bills go to the partner's column.
mt_dependent_medical_expense_head_share: [0, 1]
mt_medical_and_dental_expenses_indiv: [1_000, 6_500, 0, 1_000, 6_500, 0]
# Earner: max(0, 1,000 - 4,500) = 0. Partner: 6,500 - 1,500 = 5,000.
# Leaving out the child's expenses would give max(0, 500 - 1,500) = 0.
mt_medical_expense_deduction_indiv: [0, 5_000, 0, 0, 5_000, 0]

- name: An unmarried filer's column holds every dependent's medical expenses
period: 2023
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_tax_unit_head: true
other_medical_expenses: 500
mt_agi_indiv: 30_000
child1:
age: 8
is_tax_unit_dependent: true
other_medical_expenses: 2_000
child2:
age: 5
is_tax_unit_dependent: true
other_medical_expenses: 1_500
tax_units:
tax_unit:
members: [parent, child1, child2]
mt_agi_joint: 30_000
households:
household:
members: [parent, child1, child2]
state_code: MT
output:
mt_medical_and_dental_expenses_indiv: [4_000, 0, 0]
# Line 1: (500 + 2,000 + 1,500) - 7.5% x 30,000 = 4,000 - 2,250 = 1,750,
# as on the single-column return. Leaving out the children's expenses
# would give max(0, 500 - 2,250) = 0.
mt_medical_expense_deduction_indiv: [1_750, 0, 0]
mt_medical_expense_deduction_joint: [1_750, 0, 0]

- name: A reform that allows separate filing in 2024 also allocates a dependent's expenses
period: 2024
reforms: policyengine_us.tests.policy.baseline.gov.states.mt.tax.income.enable_mt_mfss_2024_reform.enable_mt_mfss_2024_reform
absolute_error_margin: 0.01
input:
people:
person1:
age: 45
is_tax_unit_head: true
health_insurance_premiums: 2_000
mt_agi_indiv: 40_000
person2:
age: 45
is_tax_unit_spouse: true
mt_agi_indiv: 10_000
person3:
age: 10
is_tax_unit_dependent: true
other_medical_expenses: 4_000
tax_units:
tax_unit:
members: [person1, person2, person3]
households:
household:
members: [person1, person2, person3]
state_code: MT
output:
# Premiums stay under the floor with the other expenses from 2024.
# Floors: head 7.5% x 40,000 = 3,000; spouse 7.5% x 10,000 = 750. 2024
# separate rates: 4.7% to 20,500 and 5.9% above, so the head's column is
# taxed at 5.9% and the spouse's at 4.7%. Tax saved at each share:
# all to the head: (2,000 + 4,000) - 3,000 = 3,000 x 5.9% = 177.00;
# all to the spouse: 4,000 - 750 = 3,250 x 4.7% = 152.75;
# equal split: 1,000 x 5.9% + 1,250 x 4.7% = 117.75;
# the floors' kinks (shares 1,000 / 4,000 and 1 - 750 / 4,000):
# 2,250 x 4.7% = 105.75 and 2,250 x 5.9% = 132.75.
# The balancing share clips to 1: the incomes differ by more than the
# bills.
mt_dependent_medical_expense_head_share: 1
mt_medical_and_dental_expenses_indiv: [4_000, 0, 0]
mt_medical_expense_deduction_indiv: [3_000, 0, 0]
Loading
Loading