diff --git a/changelog.d/mt-historical-income-tax-parameters.fixed.md b/changelog.d/mt-historical-income-tax-parameters.fixed.md new file mode 100644 index 00000000000..615e01254e1 --- /dev/null +++ b/changelog.d/mt-historical-income-tax-parameters.fixed.md @@ -0,0 +1 @@ +Correct Montana's 2017–2020 income tax brackets, exemptions, standard deductions, pension exemption limits, and eligible subtractions. diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/additions/additions.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/additions/additions.yaml index fb5bb4bc5d3..cd66816544a 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/additions/additions.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/additions/additions.yaml @@ -1,7 +1,7 @@ description: Montana counts these sources as additions. values: - 2021-01-01: + 2017-01-01: - mt_other_additions metadata: @@ -9,6 +9,8 @@ metadata: period: year label: Montana adjusted gross income additions reference: + - title: 2017 Montana Form 2 instructions, Schedule I, other additions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=20 - title: 2021 Montana Form 2 | Montana Subtractions Schedule href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=21 - title: 2022 Montana Form 2 | Montana Subtractions Schedule diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/credits/capital_gain/percentage.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/credits/capital_gain/percentage.yaml index 0b5c6aa64e4..ebb47b3ac41 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/credits/capital_gain/percentage.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/credits/capital_gain/percentage.yaml @@ -1,10 +1,12 @@ description: Montana provides a credit for this fraction of the filer's net capital gains. values: - 2021-01-01: 0.02 + 2017-01-01: 0.02 metadata: unit: /1 label: Montana capital gains credit rate reference: + - title: 2017 Montana Form 2 instructions, line 47, capital gains tax credit + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 - title: MT Code, Income Tax - Deductions, § 42.4.502 (1) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E4%2E502 - title: Montana Tax Form 2022 | Nonrefundable Credits Schedule | Line 1 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/credits/non_refundable.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/credits/non_refundable.yaml index 792b4614211..7e5ccff58b3 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/credits/non_refundable.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/credits/non_refundable.yaml @@ -4,7 +4,7 @@ description: Montana provides the following non-refundable tax credits. # so listing the rebate would make it an input to its own cap and create a # cycle. The rebate is a refundable payment (mt_refundable_credits). values: - 2021-01-01: + 2017-01-01: - mt_capital_gain_credit 2024-01-01: [] metadata: @@ -12,6 +12,8 @@ metadata: period: year label: Montana non-refundable tax credits reference: + - title: 2017 Montana Form 2 instructions, line 47, capital gains tax credit + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 - title: 2023 Montana Form 2 Individual Income Tax Instructions, Net Long-Term Capital Gains Tax Rates href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2023_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=6 - title: 2021 Montana Form 2 Individual Income Tax Instructions, Line 19 Nonrefundable Credits diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/age_limit.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/age_limit.yaml index 993b0e9b8fa..cf68d7b565f 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/age_limit.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/age_limit.yaml @@ -1,13 +1,15 @@ description: Montana limits the child and dependent care expense deduction to expenses for dependents who are incapable of self-care or are below this age. values: - 2021-01-01: 15 + 2017-01-01: 15 metadata: unit: year period: year label: Montana Child and Dependent Care Expense deduction age threshold reference: + - title: 2017 Montana Form 2 instructions, line 19, child and dependent care expenses + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 - title: Mont. Code Ann. § 15-30-2131(1)(c)(i)(A) href: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0310/0150-0300-0210-0310.html - title: 2022 Montana Form 2 Individual income tax instructions, line 14 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/cap.yaml index a7c0c5ef48f..6923ccb0d6a 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/cap.yaml @@ -7,6 +7,8 @@ metadata: unit: currency-USD label: Montana Child and Dependent Care Expense Deduction cap reference: + - title: 2017 Montana Form 2 instructions, line 19, child and dependent care expenses + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 - title: Mont. Code Ann. § 15-30-2131(1)(c)(iv) href: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0310/0150-0300-0210-0310.html - title: 2021 Montana Form 2441-M, line 2 @@ -16,18 +18,18 @@ metadata: brackets: - threshold: - 2021-01-01: 0 + 2017-01-01: 0 amount: - 2021-01-01: 0 + 2017-01-01: 0 - threshold: - 2021-01-01: 1 + 2017-01-01: 1 amount: - 2021-01-01: 2_400 + 2017-01-01: 2_400 - threshold: - 2021-01-01: 2 + 2017-01-01: 2 amount: - 2021-01-01: 3_600 + 2017-01-01: 3_600 - threshold: - 2021-01-01: 3 + 2017-01-01: 3 amount: - 2021-01-01: 4_800 + 2017-01-01: 4_800 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/in_effect.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/in_effect.yaml index 1f811653b58..c46acddfae4 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/in_effect.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/in_effect.yaml @@ -1,7 +1,7 @@ description: Montana uses this indicator to determine whether the child and dependent care expense deduction applies. values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false metadata: @@ -9,6 +9,8 @@ metadata: period: year label: Montana Child and Dependent Care Expense Deduction in effect reference: + - title: 2017 Montana Form 2 instructions, line 19, child and dependent care expenses + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 - title: SB 399 (2021), Ch. 503, L. 2021, Sec. 65, repealing Mont. Code Ann. § 15-30-2131 effective January 1, 2024 href: https://web.archive.org/web/20240315074930/https://leg.mt.gov/bills/2021/billpdf/SB0399.pdf#page=96 - title: Montana 2021 Legislative Review, Table of Code Sections Affected diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/phase_out.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/phase_out.yaml index 793a0e51aa8..c08a8616c27 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/phase_out.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/child_dependent_care_expense/phase_out.yaml @@ -6,6 +6,8 @@ metadata: type: marginal_rate label: Montana Child and Dependent Care Expense Deduction income limit reference: + - title: 2017 Montana Form 2 instructions, line 19, child and dependent care expenses + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 # Tax forms only show mathematically derived income limit - title: 2022 Montana Form 2 Individual income tax instruction line 14 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=35 @@ -18,10 +20,10 @@ metadata: brackets: - threshold: - 2021-01-01: 0 + 2017-01-01: 0 rate: - 2021-01-01: 0 + 2017-01-01: 0 - threshold: - 2021-01-01: 18_000 + 2017-01-01: 18_000 rate: - 2021-01-01: 0.5 + 2017-01-01: 0.5 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/applies.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/applies.yaml index dbf1534f683..6f24a4d9f36 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/applies.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/applies.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: bool reference: + - title: 2017 Montana Form 2 instructions, lines 7a-7e, federal income tax deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=28 - title: Montana Tax Reform Update (2024) href: https://revenue.mt.gov/montana-tax-simplification-resource-hub - title: Montana State Senate Bill 399 (2021) @@ -12,5 +14,5 @@ metadata: href: https://taxsim.nber.org/historical_state_tax_forms/MT/2024/Form_2_2024_Instrux.pdf values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/cap.yaml index 46b19da05b0..78620aa602f 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/federal_income_tax/cap.yaml @@ -1,14 +1,14 @@ description: Montana caps the federal income tax deduction to this amount, based on filing status. JOINT: - 2021-01-01: 10_000 + 2017-01-01: 10_000 HEAD_OF_HOUSEHOLD: - 2021-01-01: 5_000 + 2017-01-01: 5_000 SURVIVING_SPOUSE: - 2021-01-01: 5_000 + 2017-01-01: 5_000 SINGLE: - 2021-01-01: 5_000 + 2017-01-01: 5_000 SEPARATE: - 2021-01-01: 5_000 + 2017-01-01: 5_000 metadata: propagate_metadata_to_children: true label: Montana federal income tax deduction cap @@ -17,6 +17,8 @@ metadata: breakdown: - filing_status reference: + - title: 2017 Montana Form 2 instructions, line 7e, federal income tax deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=29 - title: MT Code § 15-30-2131 (2021) (1)(b) href: https://law.justia.com/codes/montana/2021/title-15/chapter-30/part-21/section-15-30-2131/ - title: 2021 Montana Individual Income Tax Return - Form 2 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/misc_deductions.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/misc_deductions.yaml index 064c3af1601..587a56be434 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/misc_deductions.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/misc_deductions.yaml @@ -4,7 +4,7 @@ description: Montana counts these sources as miscellaneous deductions. # separately because its income limit uses the return's own Montana AGI, which # differs between a joint return and separate columns (Form 2441-M line 3). values: - 2021-01-01: + 2017-01-01: - casualty_loss_deduction # Form 2 itemized deductions line 18 follows federal Schedule A line 16. - mt_claim_of_right_deduction @@ -17,6 +17,10 @@ metadata: label: Montana miscellaneous deductions period: year reference: + - title: 2017 Montana Form 2 instructions, Schedule III, line 28 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=31 + - title: 2017 Montana Form 2 instructions, Schedule III, miscellaneous deductions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 - title: 2023 Montana Form 2 instructions, itemized deductions line 18 href: 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=39 - title: 2024 Montana Form 2 instructions, line 2 and Worksheet A diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml index 692621782b2..aa829f78914 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml @@ -16,12 +16,14 @@ values: # 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 + 2017-01-01: 0.5 metadata: label: Montana itemized deductions spouse allocation rate period: year unit: /1 reference: + - title: 2017 Montana Form 2 instructions, line 19, separate-filing care expense allocation + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 - 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 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/state_specific_deduction_applies.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/state_specific_deduction_applies.yaml index 8b6d63360ab..b9ef23aac06 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/state_specific_deduction_applies.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/state_specific_deduction_applies.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: bool reference: + - title: 2017 Montana Form 2 instructions, Schedule III, itemized deductions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=28 - title: Montana Individual Income Tax Return (Form 2) 2023 | Itemized Deductions Schedule href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2023_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=7 - title: 2024 Montana Form 2 Instructions | Discontinued Worksheets and Schedules @@ -12,5 +14,5 @@ metadata: href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2024_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=15 values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/cap.yaml index fe27ec8af69..b6fb3325f9f 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/cap.yaml @@ -7,6 +7,14 @@ metadata: breakdown: - filing_status reference: + - title: MCA 15-30-2132(1), 2019, standard deduction filing status + href: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html + - title: 26 USC 2(b)(1), 2017, head-of-household eligibility + href: https://www.govinfo.gov/content/pkg/USCODE-2017-title26/html/USCODE-2017-title26-subtitleA-chap1-subchapA-partI-sec2.htm + - title: 2021 Montana Form 2 instructions, standard deduction limits for 2017-2020 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=54 + - title: 2017 Montana Form 2 instructions, Worksheet V, standard deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=50 - title: MT Code, Income Tax - Deductions, § 42-15-523 (2) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523 - title: Montana Tax Form 2022 | Standard Deduction | Line 3 @@ -19,22 +27,42 @@ metadata: href: https://docs.legmt.gov/download-ticket?ticketId=2f0614a3-8bb9-4b4e-93de-21647c203b7c#page=11 JOINT: + 2017-01-01: 9_020 + 2018-01-01: 9_160 + 2019-01-01: 9_420 + 2020-01-01: 9_580 2021-01-01: 9_660 2022-01-01: 10_180 2023-01-01: 11_080 HEAD_OF_HOUSEHOLD: + 2017-01-01: 9_020 + 2018-01-01: 9_160 + 2019-01-01: 9_420 + 2020-01-01: 9_580 2021-01-01: 9_660 2022-01-01: 10_180 2023-01-01: 11_080 SURVIVING_SPOUSE: + 2017-01-01: 4_510 + 2018-01-01: 4_580 + 2019-01-01: 4_710 + 2020-01-01: 4_790 2021-01-01: 4_830 2022-01-01: 5_090 2023-01-01: 5_540 SINGLE: + 2017-01-01: 4_510 + 2018-01-01: 4_580 + 2019-01-01: 4_710 + 2020-01-01: 4_790 2021-01-01: 4_830 2022-01-01: 5_090 2023-01-01: 5_540 SEPARATE: + 2017-01-01: 4_510 + 2018-01-01: 4_580 + 2019-01-01: 4_710 + 2020-01-01: 4_790 2021-01-01: 4_830 2022-01-01: 5_090 2023-01-01: 5_540 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/floor.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/floor.yaml index cd05ad85ea9..b568214035f 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/floor.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/floor.yaml @@ -7,6 +7,14 @@ metadata: breakdown: - filing_status reference: + - title: MCA 15-30-2132(1), 2019, standard deduction filing status + href: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html + - title: 26 USC 2(b)(1), 2017, head-of-household eligibility + href: https://www.govinfo.gov/content/pkg/USCODE-2017-title26/html/USCODE-2017-title26-subtitleA-chap1-subchapA-partI-sec2.htm + - title: 2021 Montana Form 2 instructions, standard deduction limits for 2017-2020 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=54 + - title: 2017 Montana Form 2 instructions, Worksheet V, standard deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=50 - title: MT Code, Income Tax - Deductions, § 42-15-523 (2) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523 - title: Montana Tax Form 2022 | Standard Deduction | Line 5 @@ -19,22 +27,42 @@ metadata: href: https://docs.legmt.gov/download-ticket?ticketId=2f0614a3-8bb9-4b4e-93de-21647c203b7c JOINT: + 2017-01-01: 4_000 + 2018-01-01: 4_060 + 2019-01-01: 4_180 + 2020-01-01: 4_260 2021-01-01: 4_280 2022-01-01: 4_520 2023-01-01: 4_920 HEAD_OF_HOUSEHOLD: + 2017-01-01: 4_000 + 2018-01-01: 4_060 + 2019-01-01: 4_180 + 2020-01-01: 4_260 2021-01-01: 4_280 2022-01-01: 4_520 2023-01-01: 4_920 SURVIVING_SPOUSE: + 2017-01-01: 2_000 + 2018-01-01: 2_030 + 2019-01-01: 2_090 + 2020-01-01: 2_130 2021-01-01: 2_140 2022-01-01: 2_260 2023-01-01: 2_460 SINGLE: + 2017-01-01: 2_000 + 2018-01-01: 2_030 + 2019-01-01: 2_090 + 2020-01-01: 2_130 2021-01-01: 2_140 2022-01-01: 2_260 2023-01-01: 2_460 SEPARATE: + 2017-01-01: 2_000 + 2018-01-01: 2_030 + 2019-01-01: 2_090 + 2020-01-01: 2_130 2021-01-01: 2_140 2022-01-01: 2_260 2023-01-01: 2_460 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/rate.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/rate.yaml index fee89195355..4d0405414ce 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/rate.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/rate.yaml @@ -1,11 +1,13 @@ description: Montana provides a standard deduction equal to this percentage of Montana adjusted gross income, subject to minimum and maximum values. values: - 2021-01-01: 0.2 + 2017-01-01: 0.2 metadata: period: year unit: /1 label: Montana standard deduction rate reference: + - title: 2017 Montana Form 2 instructions, Worksheet V, standard deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=50 - title: MT Code, Income Tax - Deductions, § 42-15-512 (2) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523 - title: Montana Tax Form 2022 | Standard Deduction | Line 2 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/state_specific_deduction_applies.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/state_specific_deduction_applies.yaml index 2ae0cb474e3..951226d14f4 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/state_specific_deduction_applies.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/state_specific_deduction_applies.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: bool reference: + - title: 2017 Montana Form 2 instructions, Worksheet V, standard deduction + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=50 - title: MT Code, Income Tax - Deductions, § 42-15-523 (2) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523 - title: Montana Tax Form 2023 | Exemptions | Standard Deduction Worksheet @@ -14,5 +16,5 @@ metadata: href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2024_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=8 values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/age_threshold.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/age_threshold.yaml index 28dce53a89e..f537177d2dd 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/age_threshold.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/age_threshold.yaml @@ -1,8 +1,10 @@ description: Montana provides an additional tax exemption to filers this age or older. values: - 2021-01-01: 65 + 2017-01-01: 65 metadata: reference: + - title: 2017 Montana Form 2 instructions, line 6a, aged exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=7 - title: "2022 Montana Form Instructions | Exemptions" 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=15 - title: Rule 42.15.402 - Personal Exemptions (1) diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/amount.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/amount.yaml index ddbee09a736..627ca383513 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/amount.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/amount.yaml @@ -1,10 +1,22 @@ description: Montana deducts this amount for each eligible exemption when computing taxable income. values: + 2017-01-01: 2_400 + 2018-01-01: 2_440 + 2019-01-01: 2_510 + 2020-01-01: 2_560 2021-01-01: 2_580 2022-01-01: 2_710 2023-01-01: 2_960 metadata: reference: + - title: 2017 Montana Form 2 instructions, personal exemptions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, personal exemptions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, personal exemptions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, personal exemptions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: "Montana Tax Form 2021 | Exemptions | Line 16" href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2021_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=1 - title: "Montana Tax Form 2022 | Exemptions | Line 16" diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/applies.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/applies.yaml index a245c35bc1b..d4db137bfcb 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/applies.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/applies.yaml @@ -1,9 +1,11 @@ description: Montana applies a state-specific exemption structure if this is true. values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false metadata: reference: + - title: 2017 Montana Form 2 instructions, line 44, exemptions + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 - title: Montana Tax Reform Update (2024) href: https://revenue.mt.gov/montana-tax-simplification-resource-hub#2 - title: Montana State Senate Bill 399 (2021) diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/age_threshold.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/age_threshold.yaml index 5b44d8cd587..b88a803f0d9 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/age_threshold.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/age_threshold.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: year reference: + - title: 2017 Montana Form 2 instructions, line 12, interest exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 - title: 2021 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=24 - title: 2022 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers @@ -11,4 +13,4 @@ metadata: - title: Administrative Rules of Montana | Income Taxes | § 42.14.215 (4) href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E215 values: - 2021-01-01: 65 + 2017-01-01: 65 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/cap.yaml index a43540b96ef..5d03387529e 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/exemptions/interest/cap.yaml @@ -7,6 +7,8 @@ metadata: breakdown: - filing_status reference: + - title: 2017 Montana Form 2 instructions, line 12, interest exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 - title: 2021 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=24 - title: 2022 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers @@ -15,12 +17,12 @@ metadata: href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E215 SINGLE: - 2021-01-01: 800 + 2017-01-01: 800 SEPARATE: - 2021-01-01: 800 + 2017-01-01: 800 JOINT: - 2021-01-01: 1_600 + 2017-01-01: 1_600 HEAD_OF_HOUSEHOLD: - 2021-01-01: 800 + 2017-01-01: 800 SURVIVING_SPOUSE: - 2021-01-01: 800 + 2017-01-01: 800 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/in_effect.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/in_effect.yaml index 31fe9d27833..e03c7ea94f2 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/in_effect.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/in_effect.yaml @@ -4,6 +4,8 @@ metadata: period: year label: Montana capital gains tax rate in effect reference: + - title: 2017 Montana Form 2 instructions, line 47, capital gains tax credit + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 - title: 2023 Montana Form 2 Individual Income Tax Instructions href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2023_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=6 - title: Montana Code Annotated 2023, TITLE 15. TAXATION, CHAPTER 30. INDIVIDUAL INCOME TAX, Part 21. Rate and General Provisions-(2) @@ -11,5 +13,5 @@ metadata: - title: 2025 Montana Tax Tables and Deductions href: https://revenue.mt.gov/taxes/tax-tables-and-deductions/2025 values: - 2021-01-01: false + 2017-01-01: false 2024-01-01: true diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/head_of_household.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/head_of_household.yaml index f5b529544f6..70d697ff8c8 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/head_of_household.yaml @@ -5,6 +5,16 @@ metadata: rate_unit: /1 label: Montana income tax rates for head of household filers reference: + - title: Montana Code Annotated 2017, 15-30-2103(1)-(2), marginal tax brackets and indexing + href: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html + - title: 2017 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: Montana Code Annotated 2021 Title 15, Chapter 30, Part 21, 15-30-2103 href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html - title: 2022 Montana income tax form 2 Instructions @@ -21,12 +31,20 @@ metadata: # After 2024 the tax rate depends on the filing status brackets: - threshold: + 2017-01-01: 0 + 2018-01-01: 0 + 2019-01-01: 0 + 2020-01-01: 0 2021-01-01: 0 rate: - 2021-01-01: 0.01 + 2017-01-01: 0.01 2024-01-01: 0.047 - threshold: values: + 2017-01-01: 2_900 + 2018-01-01: 3_000 + 2019-01-01: 3_100 + 2020-01-01: 3_100 2021-01-01: 3_100 2022-01-01: 3_300 2023-01-01: 3_600 @@ -41,48 +59,68 @@ brackets: type: nearest interval: 100 rate: - 2021-01-01: 0.02 + 2017-01-01: 0.02 2024-01-01: 0.059 2026-01-01: 0.0565 2027-01-01: 0.054 - threshold: + 2017-01-01: 5_200 + 2018-01-01: 5_200 + 2019-01-01: 5_400 + 2020-01-01: 5_500 2021-01-01: 5_500 2022-01-01: 5_800 2023-01-01: 6_300 2024-01-01: .inf rate: - 2021-01-01: 0.03 + 2017-01-01: 0.03 2024-01-01: 0.059 - threshold: + 2017-01-01: 7_900 + 2018-01-01: 8_000 + 2019-01-01: 8_200 + 2020-01-01: 8_400 2021-01-01: 8_400 2022-01-01: 8_900 2023-01-01: 9_700 2024-01-01: .inf rate: - 2021-01-01: 0.04 + 2017-01-01: 0.04 2024-01-01: 0.059 - threshold: + 2017-01-01: 10_600 + 2018-01-01: 10_800 + 2019-01-01: 11_100 + 2020-01-01: 11_300 2021-01-01: 11_400 2022-01-01: 12_000 2023-01-01: 13_000 2024-01-01: .inf rate: - 2021-01-01: 0.05 + 2017-01-01: 0.05 2024-01-01: 0.059 - threshold: + 2017-01-01: 13_600 + 2018-01-01: 13_900 + 2019-01-01: 14_300 + 2020-01-01: 14_500 2021-01-01: 14_600 2022-01-01: 15_400 2023-01-01: 16_800 2024-01-01: .inf rate: - 2021-01-01: 0.06 + 2017-01-01: 0.06 2024-01-01: 0.059 - threshold: + 2017-01-01: 17_600 + 2018-01-01: 17_900 + 2019-01-01: 18_400 + 2020-01-01: 18_700 2021-01-01: 18_800 2022-01-01: 19_800 2023-01-01: 21_600 2024-01-01: .inf rate: - 2021-01-01: 0.069 + 2017-01-01: 0.069 2022-01-01: 0.0675 2024-01-01: 0.059 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/joint.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/joint.yaml index 7a6f90799a7..b4393434b21 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/joint.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/joint.yaml @@ -5,6 +5,16 @@ metadata: rate_unit: /1 label: Montana income tax rate joint filers reference: + - title: Montana Code Annotated 2017, 15-30-2103(1)-(2), marginal tax brackets and indexing + href: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html + - title: 2017 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: Montana Code Annotated 2021 Title 15, Chapter 30, Part 21, 15-30-2103 href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html - title: 2022 Montana income tax form 2 Instructions @@ -21,12 +31,20 @@ metadata: # After 2024 the tax rate depends on the filing status brackets: - threshold: + 2017-01-01: 0 + 2018-01-01: 0 + 2019-01-01: 0 + 2020-01-01: 0 2021-01-01: 0 rate: - 2021-01-01: 0.01 + 2017-01-01: 0.01 2024-01-01: 0.047 - threshold: values: + 2017-01-01: 2_900 + 2018-01-01: 3_000 + 2019-01-01: 3_100 + 2020-01-01: 3_100 2021-01-01: 3_100 2022-01-01: 3_300 2023-01-01: 3_600 @@ -41,48 +59,68 @@ brackets: type: nearest interval: 100 rate: - 2021-01-01: 0.02 + 2017-01-01: 0.02 2024-01-01: 0.059 2026-01-01: 0.0565 2027-01-01: 0.054 - threshold: + 2017-01-01: 5_200 + 2018-01-01: 5_200 + 2019-01-01: 5_400 + 2020-01-01: 5_500 2021-01-01: 5_500 2022-01-01: 5_800 2023-01-01: 6_300 2024-01-01: .inf rate: - 2021-01-01: 0.03 + 2017-01-01: 0.03 2024-01-01: 0.059 - threshold: + 2017-01-01: 7_900 + 2018-01-01: 8_000 + 2019-01-01: 8_200 + 2020-01-01: 8_400 2021-01-01: 8_400 2022-01-01: 8_900 2023-01-01: 9_700 2024-01-01: .inf rate: - 2021-01-01: 0.04 + 2017-01-01: 0.04 2024-01-01: 0.059 - threshold: + 2017-01-01: 10_600 + 2018-01-01: 10_800 + 2019-01-01: 11_100 + 2020-01-01: 11_300 2021-01-01: 11_400 2022-01-01: 12_000 2023-01-01: 13_000 2024-01-01: .inf rate: - 2021-01-01: 0.05 + 2017-01-01: 0.05 2024-01-01: 0.059 - threshold: + 2017-01-01: 13_600 + 2018-01-01: 13_900 + 2019-01-01: 14_300 + 2020-01-01: 14_500 2021-01-01: 14_600 2022-01-01: 15_400 2023-01-01: 16_800 2024-01-01: .inf rate: - 2021-01-01: 0.06 + 2017-01-01: 0.06 2024-01-01: 0.059 - threshold: + 2017-01-01: 17_600 + 2018-01-01: 17_900 + 2019-01-01: 18_400 + 2020-01-01: 18_700 2021-01-01: 18_800 2022-01-01: 19_800 2023-01-01: 21_600 2024-01-01: .inf rate: - 2021-01-01: 0.069 + 2017-01-01: 0.069 2022-01-01: 0.0675 2024-01-01: 0.059 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/separate.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/separate.yaml index 5f9ce2008a2..50831e6850b 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/separate.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/separate.yaml @@ -5,6 +5,16 @@ metadata: rate_unit: /1 label: Montana income tax rate separate filers reference: + - title: Montana Code Annotated 2017, 15-30-2103(1)-(2), marginal tax brackets and indexing + href: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html + - title: 2017 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: Montana Code Annotated 2021 Title 15, Chapter 30, Part 21, 15-30-2103 href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html - title: 2022 Montana income tax form 2 Instructions @@ -21,12 +31,20 @@ metadata: # After 2024 the tax rate depends on the filing status brackets: - threshold: + 2017-01-01: 0 + 2018-01-01: 0 + 2019-01-01: 0 + 2020-01-01: 0 2021-01-01: 0 rate: - 2021-01-01: 0.01 + 2017-01-01: 0.01 2024-01-01: 0.047 - threshold: values: + 2017-01-01: 2_900 + 2018-01-01: 3_000 + 2019-01-01: 3_100 + 2020-01-01: 3_100 2021-01-01: 3_100 2022-01-01: 3_300 2023-01-01: 3_600 @@ -41,48 +59,68 @@ brackets: type: nearest interval: 100 rate: - 2021-01-01: 0.02 + 2017-01-01: 0.02 2024-01-01: 0.059 2026-01-01: 0.0565 2027-01-01: 0.054 - threshold: + 2017-01-01: 5_200 + 2018-01-01: 5_200 + 2019-01-01: 5_400 + 2020-01-01: 5_500 2021-01-01: 5_500 2022-01-01: 5_800 2023-01-01: 6_300 2024-01-01: .inf rate: - 2021-01-01: 0.03 + 2017-01-01: 0.03 2024-01-01: 0.059 - threshold: + 2017-01-01: 7_900 + 2018-01-01: 8_000 + 2019-01-01: 8_200 + 2020-01-01: 8_400 2021-01-01: 8_400 2022-01-01: 8_900 2023-01-01: 9_700 2024-01-01: .inf rate: - 2021-01-01: 0.04 + 2017-01-01: 0.04 2024-01-01: 0.059 - threshold: + 2017-01-01: 10_600 + 2018-01-01: 10_800 + 2019-01-01: 11_100 + 2020-01-01: 11_300 2021-01-01: 11_400 2022-01-01: 12_000 2023-01-01: 13_000 2024-01-01: .inf rate: - 2021-01-01: 0.05 + 2017-01-01: 0.05 2024-01-01: 0.059 - threshold: + 2017-01-01: 13_600 + 2018-01-01: 13_900 + 2019-01-01: 14_300 + 2020-01-01: 14_500 2021-01-01: 14_600 2022-01-01: 15_400 2023-01-01: 16_800 2024-01-01: .inf rate: - 2021-01-01: 0.06 + 2017-01-01: 0.06 2024-01-01: 0.059 - threshold: + 2017-01-01: 17_600 + 2018-01-01: 17_900 + 2019-01-01: 18_400 + 2020-01-01: 18_700 2021-01-01: 18_800 2022-01-01: 19_800 2023-01-01: 21_600 2024-01-01: .inf rate: - 2021-01-01: 0.069 + 2017-01-01: 0.069 2022-01-01: 0.0675 2024-01-01: 0.059 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/single.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/single.yaml index a8a69c182c9..a18e7b8b2df 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/single.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/single.yaml @@ -5,6 +5,16 @@ metadata: rate_unit: /1 label: Montana income tax rate single filers reference: + - title: Montana Code Annotated 2017, 15-30-2103(1)-(2), marginal tax brackets and indexing + href: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html + - title: 2017 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: Montana Code Annotated 2021 Title 15, Chapter 30, Part 21, 15-30-2103 href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html - title: 2022 Montana income tax form 2 Instructions @@ -21,12 +31,20 @@ metadata: # After 2024 the tax rate depends on the filing status brackets: - threshold: + 2017-01-01: 0 + 2018-01-01: 0 + 2019-01-01: 0 + 2020-01-01: 0 2021-01-01: 0 rate: - 2021-01-01: 0.01 + 2017-01-01: 0.01 2024-01-01: 0.047 - threshold: values: + 2017-01-01: 2_900 + 2018-01-01: 3_000 + 2019-01-01: 3_100 + 2020-01-01: 3_100 2021-01-01: 3_100 2022-01-01: 3_300 2023-01-01: 3_600 @@ -41,48 +59,68 @@ brackets: type: nearest interval: 100 rate: - 2021-01-01: 0.02 + 2017-01-01: 0.02 2024-01-01: 0.059 2026-01-01: 0.0565 2027-01-01: 0.054 - threshold: + 2017-01-01: 5_200 + 2018-01-01: 5_200 + 2019-01-01: 5_400 + 2020-01-01: 5_500 2021-01-01: 5_500 2022-01-01: 5_800 2023-01-01: 6_300 2024-01-01: .inf rate: - 2021-01-01: 0.03 + 2017-01-01: 0.03 2024-01-01: 0.059 - threshold: + 2017-01-01: 7_900 + 2018-01-01: 8_000 + 2019-01-01: 8_200 + 2020-01-01: 8_400 2021-01-01: 8_400 2022-01-01: 8_900 2023-01-01: 9_700 2024-01-01: .inf rate: - 2021-01-01: 0.04 + 2017-01-01: 0.04 2024-01-01: 0.059 - threshold: + 2017-01-01: 10_600 + 2018-01-01: 10_800 + 2019-01-01: 11_100 + 2020-01-01: 11_300 2021-01-01: 11_400 2022-01-01: 12_000 2023-01-01: 13_000 2024-01-01: .inf rate: - 2021-01-01: 0.05 + 2017-01-01: 0.05 2024-01-01: 0.059 - threshold: + 2017-01-01: 13_600 + 2018-01-01: 13_900 + 2019-01-01: 14_300 + 2020-01-01: 14_500 2021-01-01: 14_600 2022-01-01: 15_400 2023-01-01: 16_800 2024-01-01: .inf rate: - 2021-01-01: 0.06 + 2017-01-01: 0.06 2024-01-01: 0.059 - threshold: + 2017-01-01: 17_600 + 2018-01-01: 17_900 + 2019-01-01: 18_400 + 2020-01-01: 18_700 2021-01-01: 18_800 2022-01-01: 19_800 2023-01-01: 21_600 2024-01-01: .inf rate: - 2021-01-01: 0.069 + 2017-01-01: 0.069 2022-01-01: 0.0675 2024-01-01: 0.059 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/main/surviving_spouse.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/main/surviving_spouse.yaml index aa8dff0beed..3a2ce21967a 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/main/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/main/surviving_spouse.yaml @@ -5,6 +5,16 @@ metadata: rate_unit: /1 label: Montana income tax surviving spouses reference: + - title: Montana Code Annotated 2017, 15-30-2103(1)-(2), marginal tax brackets and indexing + href: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html + - title: 2017 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - title: 2018 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 + - title: 2019 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=14 + - title: 2020 Montana Form 2 instructions, individual income tax table + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=13 - title: Montana Code Annotated 2021 Title 15, Chapter 30, Part 21, 15-30-2103 href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0030/0150-0300-0210-0030.html - title: 2022 Montana income tax form 2 Instructions @@ -21,12 +31,20 @@ metadata: # After 2024 the tax rate depends on the filing status brackets: - threshold: + 2017-01-01: 0 + 2018-01-01: 0 + 2019-01-01: 0 + 2020-01-01: 0 2021-01-01: 0 rate: - 2021-01-01: 0.01 + 2017-01-01: 0.01 2024-01-01: 0.047 - threshold: values: + 2017-01-01: 2_900 + 2018-01-01: 3_000 + 2019-01-01: 3_100 + 2020-01-01: 3_100 2021-01-01: 3_100 2022-01-01: 3_300 2023-01-01: 3_600 @@ -41,48 +59,68 @@ brackets: type: nearest interval: 100 rate: - 2021-01-01: 0.02 + 2017-01-01: 0.02 2024-01-01: 0.059 2026-01-01: 0.0565 2027-01-01: 0.054 - threshold: + 2017-01-01: 5_200 + 2018-01-01: 5_200 + 2019-01-01: 5_400 + 2020-01-01: 5_500 2021-01-01: 5_500 2022-01-01: 5_800 2023-01-01: 6_300 2024-01-01: .inf rate: - 2021-01-01: 0.03 + 2017-01-01: 0.03 2024-01-01: 0.059 - threshold: + 2017-01-01: 7_900 + 2018-01-01: 8_000 + 2019-01-01: 8_200 + 2020-01-01: 8_400 2021-01-01: 8_400 2022-01-01: 8_900 2023-01-01: 9_700 2024-01-01: .inf rate: - 2021-01-01: 0.04 + 2017-01-01: 0.04 2024-01-01: 0.059 - threshold: + 2017-01-01: 10_600 + 2018-01-01: 10_800 + 2019-01-01: 11_100 + 2020-01-01: 11_300 2021-01-01: 11_400 2022-01-01: 12_000 2023-01-01: 13_000 2024-01-01: .inf rate: - 2021-01-01: 0.05 + 2017-01-01: 0.05 2024-01-01: 0.059 - threshold: + 2017-01-01: 13_600 + 2018-01-01: 13_900 + 2019-01-01: 14_300 + 2020-01-01: 14_500 2021-01-01: 14_600 2022-01-01: 15_400 2023-01-01: 16_800 2024-01-01: .inf rate: - 2021-01-01: 0.06 + 2017-01-01: 0.06 2024-01-01: 0.059 - threshold: + 2017-01-01: 17_600 + 2018-01-01: 17_900 + 2019-01-01: 18_400 + 2020-01-01: 18_700 2021-01-01: 18_800 2022-01-01: 19_800 2023-01-01: 21_600 2024-01-01: .inf rate: - 2021-01-01: 0.069 + 2017-01-01: 0.069 2022-01-01: 0.0675 2024-01-01: 0.059 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/married_filing_separately_on_same_return_allowed.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/married_filing_separately_on_same_return_allowed.yaml index 8024ad6f3dd..81720a8f4bb 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/married_filing_separately_on_same_return_allowed.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/married_filing_separately_on_same_return_allowed.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: bool reference: + - title: 2017 Montana Form 2 instructions, Box 3a, separate filing on the same form + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=6 - title: MT Code, Income Tax - Deductions, § 42-15-322 Repealed in 2024 href: https://www.law.cornell.edu/regulations/montana/Mont-Admin-r-42.15.322 - title: Montana 67th Legislature || SENATE BILL NO. 399 || Section 3 (8) @@ -12,5 +14,5 @@ metadata: href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2024_Montana_Individual_Income_Tax_Return_Form_2.pdf values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml index 91a16c801f9..f09c6a1f9a8 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml @@ -7,6 +7,8 @@ metadata: breakdown: - filing_status reference: + - title: 2017 Montana Form 2 instructions, Worksheet VIII, line 8 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=52 - title: 2021 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2021_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=6 - title: 2022 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) @@ -17,12 +19,12 @@ metadata: # filers as opposed to the single amount, which is used in the federal computation. # Starting in 2024 all Social Security is taxable, this is reflected in mt_agi_indiv.py SINGLE: - 2021-01-01: 25_000 + 2017-01-01: 25_000 HEAD_OF_HOUSEHOLD: - 2021-01-01: 25_000 + 2017-01-01: 25_000 JOINT: - 2021-01-01: 32_000 + 2017-01-01: 32_000 SEPARATE: - 2021-01-01: 16_000 + 2017-01-01: 16_000 SURVIVING_SPOUSE: - 2021-01-01: 25_000 + 2017-01-01: 25_000 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml index 9d8dc9e1822..06cc02368a3 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml @@ -7,6 +7,8 @@ metadata: breakdown: - filing_status reference: + - title: 2017 Montana Form 2 instructions, Worksheet VIII, lines 8 and 10 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=52 - title: 2021 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2021_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=6 - title: 2022 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) @@ -18,12 +20,12 @@ metadata: # in the Montana legal code. # Starting in 2024 all Social Security is taxable, this is reflected in mt_agi_indiv.py SINGLE: - 2021-01-01: 34_000 + 2017-01-01: 34_000 HEAD_OF_HOUSEHOLD: - 2021-01-01: 34_000 + 2017-01-01: 34_000 JOINT: - 2021-01-01: 44_000 + 2017-01-01: 44_000 SEPARATE: - 2021-01-01: 22_000 + 2017-01-01: 22_000 SURVIVING_SPOUSE: - 2021-01-01: 34_000 + 2017-01-01: 34_000 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/applies.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/applies.yaml index 6cf048e8800..808558a7b6b 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/social_security/applies.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/social_security/applies.yaml @@ -4,6 +4,8 @@ metadata: period: year unit: bool reference: + - title: 2017 Montana Form 2 instructions, Worksheet VIII, taxable Social Security benefits + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=52 - title: 2021 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2021_Montana_Individual_Income_Tax_Return_Form_2.pdf#page=6 - title: 2022 Montana Individual Income Tax Return (Taxable Social Security Benefits Schedule) @@ -14,5 +16,5 @@ metadata: href: https://revenue.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2/2024_Montana_Individual_Income_Tax_Return_Form_2.pdf values: - 2021-01-01: true + 2017-01-01: true 2024-01-01: false diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/cap.yaml index ab00efe1a65..8512b1cbdd1 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/cap.yaml @@ -1,6 +1,6 @@ description: Montana caps the individual disability income exclusion at this amount. values: - 2021-01-01: 5_200 + 2017-01-01: 5_200 metadata: # The legal code uses the term "exclusion" while the tax form uses "exemption". @@ -9,6 +9,8 @@ metadata: period: year unit: currency-USD reference: + - title: 2017 Montana Form 2 instructions, line 13, disability income exclusion + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 # Only the tax form instructions mentions this cap amount, yet the legal code does not mention the cap. - title: 2022 Montana form 2 individual income tax instructions, page 31, line 32 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=31 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/cap.yaml index 20ba3a7535e..674fe9588b7 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/cap.yaml @@ -1,5 +1,9 @@ description: Montana caps the partial pension, annuity, and IRA income exemption at this amount for each taxpayer. values: + 2017-01-01: 4_110 + 2018-01-01: 4_180 + 2019-01-01: 4_300 + 2020-01-01: 4_370 2021-01-01: 4_400 2022-01-01: 4_640 2023-01-01: 5_060 @@ -8,6 +12,14 @@ metadata: period: year label: Montana partial pension, annuity, and IRA income exemption cap reference: + - title: 2017 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 + - title: 2018 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=25 + - title: 2019 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 + - title: 2020 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=27 - title: Montana Code Annotated 2021, 15-30-2110(2)(c)(i) and (17) href: https://web.archive.org/web/20220630022434/https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0100/0150-0300-0210-0100.html - title: 2021 Montana Form 2 instructions, line 35, Partial Pension, Annuity, and IRA Income Exemption diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/in_effect.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/in_effect.yaml index 9c5031acfc2..536b7574b19 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/in_effect.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/in_effect.yaml @@ -1,15 +1,14 @@ description: Montana provides the partial pension, annuity, and IRA income exemption if this is true. values: - # The exemption also applied before 2021, at lower indexed amounts - # (MCA 15-30-2110(2)(c) and (17)). Those amounts are not listed, so earlier - # years use the 2021 cap and phase-out threshold. - 2021-01-01: true + 2017-01-01: true 2024-01-01: false metadata: unit: bool period: year label: Montana partial pension, annuity, and IRA income exemption in effect reference: + - title: 2017 Montana Form 2 instructions, line 11, pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 - title: Montana Code Annotated 2021, 15-30-2110(2)(c), repealed effective January 1, 2024 (secs. 65, 70(1), Ch. 503, L. 2021) href: https://web.archive.org/web/20220630022434/https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0100/0150-0300-0210-0100.html - title: 2023 Montana Form 2 instructions, line 34, "Beginning in Tax Year 2024, this deduction is repealed" diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/rate.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/rate.yaml index 0b8a8f9c49d..09b73b51cc9 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/rate.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/rate.yaml @@ -1,11 +1,13 @@ description: Montana reduces the partial pension, annuity, and IRA income exemption by this amount for each dollar of federal adjusted gross income above the threshold. values: - 2021-01-01: 2 + 2017-01-01: 2 metadata: unit: /1 period: year label: Montana partial pension, annuity, and IRA income exemption phase-out rate reference: + - title: 2017 Montana Form 2 instructions, line 11, pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 - title: Montana Code Annotated 2021, 15-30-2110(2)(c)(ii) href: https://web.archive.org/web/20220630022434/https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0100/0150-0300-0210-0100.html - title: 2023 Montana Form 2, Partial Pension, Annuity, and IRA Income Exemption Worksheet, line 6 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/threshold.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/threshold.yaml index 83cb0018d95..165a2f4ef00 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/threshold.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/phase_out/threshold.yaml @@ -1,5 +1,9 @@ description: Montana reduces the partial pension, annuity, and IRA income exemption when federal adjusted gross income exceeds this amount. values: + 2017-01-01: 34_260 + 2018-01-01: 34_820 + 2019-01-01: 35_800 + 2020-01-01: 36_420 2021-01-01: 36_700 2022-01-01: 38_660 2023-01-01: 42_140 @@ -8,6 +12,14 @@ metadata: period: year label: Montana partial pension, annuity, and IRA income exemption phase-out threshold reference: + - title: 2017 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 + - title: 2018 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=25 + - title: 2019 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=30 + - title: 2020 Montana Form 2 instructions, partial pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=27 - title: Montana Code Annotated 2021, 15-30-2110(2)(c)(ii) and (17) href: https://web.archive.org/web/20220630022434/https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0100/0150-0300-0210-0100.html - title: 2021 Montana Form 2 instructions, line 35, Partial Pension, Annuity, and IRA Income Exemption diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/sources.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/sources.yaml index 3b759e12a8f..a8228d2fbab 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/sources.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/pension/sources.yaml @@ -1,6 +1,6 @@ description: Montana counts these sources as pension, annuity, and IRA income for the partial pension, annuity, and IRA income exemption. values: - 2021-01-01: + 2017-01-01: # Form 2, page 1, lines 4b (IRA distributions) and 5b (pensions and # annuities). Premature distributions do not qualify (MCA 15-30-2101(25)(d)) # but are not separately modeled. @@ -20,6 +20,8 @@ metadata: period: year label: Montana partial pension, annuity, and IRA income exemption sources reference: + - title: 2017 Montana Form 2 instructions, line 11, pension exemption + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=22 - title: Montana Code Annotated 2021, 15-30-2101(25), "Pension and annuity income" href: https://web.archive.org/web/20220127192023/http://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0010/0150-0300-0210-0010.html - title: 2023 Montana Form 2, Partial Pension, Annuity, and IRA Income Exemption Worksheet, line 2 diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/subtractions.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/subtractions.yaml index a2c38938f6a..42774c4ee03 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/subtractions.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/subtractions.yaml @@ -4,7 +4,7 @@ values: - mt_disability_income_exclusion_person - mt_unemployment_compensation_subtraction - mt_other_subtractions - 2021-01-01: + 2017-01-01: - mt_interest_exemption_person - us_govt_interest_person - mt_tuition_subtraction_person @@ -44,6 +44,12 @@ metadata: period: year label: Montana adjusted gross income subtractions reference: + - title: 2017 Montana Form 2 instructions, Schedule II, lines 1 and 6 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=21 + - title: 2017 Montana Form 2 instructions, Schedule II, line 12 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=23 + - title: 2017 Montana Form 2 instructions, Schedule II, line 20 + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=25 - title: 2021 Montana Form 2 | Montana Subtractions Schedule href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2021_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=24 - title: 2022 Montana Form 2 | Montana Subtractions Schedule diff --git a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/tuition/cap.yaml b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/tuition/cap.yaml index dcd284c25e8..5db3a787a1e 100644 --- a/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/tuition/cap.yaml +++ b/policyengine_us/parameters/gov/states/mt/tax/income/subtractions/tuition/cap.yaml @@ -1,6 +1,6 @@ description: Montana caps the tuition subtraction at this maximum amount. values: - 2021-01-01: 3_000 + 2017-01-01: 3_000 2025-01-01: 4_500 2026-01-01: 4_600 metadata: @@ -8,6 +8,8 @@ metadata: period: year label: Montana tuition subtraction cap reference: + - title: 2017 Montana Form 2 instructions, line 20, family education savings accounts + href: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2017_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=25 - title: Montana Code Annotated, TITLE 15, CHAPTER 30, Part 21, 15-30-2120(5)(a) href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0200/0150-0300-0210-0200.html - title: 2025 Legislative Roundup, Changes to the 529 College Savings Subtraction diff --git a/policyengine_us/tests/core/test_mt_historical_parameters.py b/policyengine_us/tests/core/test_mt_historical_parameters.py new file mode 100644 index 00000000000..93e5ce67955 --- /dev/null +++ b/policyengine_us/tests/core/test_mt_historical_parameters.py @@ -0,0 +1,164 @@ +"""Check Montana's 2017-2020 Form 2 amounts at their calculation boundaries. + +Each rate schedule must match the sum of its published marginal brackets. +Standard deductions stay within the year's limits and increase with AGI. +Pension exemptions stay between zero and the year's cap and decrease with +federal AGI above the year's threshold. All five filing statuses use the +same pre-2024 rate schedule. Existing surviving-spouse deduction limits +remain unchanged. + +Sources: Montana Department of Revenue Form 2 instructions for 2017-2020, +PDF pages 11, 13, 14 and 13 (tax and personal exemptions); PDF pages 23, 25, +30 and 27 (pension exemptions); and the 2021 instructions, PDF page 54 +(historical standard deduction limits). +""" + +import numpy as np +from hypothesis import given, settings, strategies as st + +from policyengine_us import Simulation +from policyengine_us.system import system + +# Year: exemption, single standard floor/cap, pension cap/threshold, brackets. +HISTORY = { + 2017: ( + 2_400, + 2_000, + 4_510, + 4_110, + 34_260, + (2_900, 5_200, 7_900, 10_600, 13_600, 17_600), + ), + 2018: ( + 2_440, + 2_030, + 4_580, + 4_180, + 34_820, + (3_000, 5_200, 8_000, 10_800, 13_900, 17_900), + ), + 2019: ( + 2_510, + 2_090, + 4_710, + 4_300, + 35_800, + (3_100, 5_400, 8_200, 11_100, 14_300, 18_400), + ), + 2020: ( + 2_560, + 2_130, + 4_790, + 4_370, + 36_420, + (3_100, 5_500, 8_400, 11_300, 14_500, 18_700), + ), +} +RATES = (0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.069) +STATUSES = ("SINGLE", "SEPARATE", "JOINT", "HEAD_OF_HOUSEHOLD", "SURVIVING_SPOUSE") + + +def _bracket_tax(incomes, thresholds): + tax = np.zeros_like(incomes, dtype=float) + edges = (0, *thresholds, np.inf) + for lower, upper, rate in zip(edges, edges[1:], RATES): + tax += np.maximum(np.minimum(incomes, upper) - lower, 0) * rate + return tax + + +@settings(max_examples=4, deadline=None, derandomize=True) +@given(income=st.integers(min_value=0, max_value=300_000)) +def test_historical_schedules_match_published_brackets(income): + for year, (_, floor, cap, _, _, thresholds) in HISTORY.items(): + p = system.parameters(f"{year}-01-01").gov.states.mt.tax.income + points = np.array([income, *[t + d for t in thresholds for d in (-1, 0, 1)]]) + expected = _bracket_tax(points, thresholds) + for status in STATUSES: + actual = getattr(p.main, status.lower()).calc(points) + np.testing.assert_allclose(actual, expected, atol=0.001, rtol=0) + multiple = 2 if status in ("JOINT", "HEAD_OF_HOUSEHOLD") else 1 + assert getattr(p.deductions.standard.floor, status) == multiple * floor + assert getattr(p.deductions.standard.cap, status) == multiple * cap + assert p.married_filing_separately_on_same_return_allowed + assert p.exemptions.amount == HISTORY[year][0] + + +@settings(max_examples=4, deadline=None, derandomize=True) +@given(agi=st.integers(min_value=0, max_value=100_000)) +def test_historical_deduction_and_pension_boundaries(agi): + points_by_year = {} + for year, (_, floor, cap, pension_cap, threshold, _) in HISTORY.items(): + # Keep duplicates so every year uses the same entity count. + points_by_year[year] = sorted( + [ + agi, + *[floor * 5 + d for d in (-1, 0, 1)], + *[cap * 5 + d for d in (-1, 0, 1)], + *[threshold + d for d in (-1, 0, 1)], + *[threshold + pension_cap / 2 + d for d in (-1, 0, 1)], + ] + ) + + people, tax_units, households = {}, {}, {} + for index in range(len(next(iter(points_by_year.values())))): + name = f"person_{index}" + incomes = {year: points[index] for year, points in points_by_year.items()} + people[name] = { + "age": {year: 40 for year in HISTORY}, + "is_tax_unit_head": {year: True for year in HISTORY}, + "mt_agi_indiv": incomes, + "adjusted_gross_income_person": incomes, + "taxable_pension_income": {year: 10_000 for year in HISTORY}, + } + tax_units[name] = {"members": [name]} + households[name] = { + "members": [name], + "state_code": {year: "MT" for year in HISTORY}, + } + simulation = Simulation( + tax_benefit_system=system, + situation={"people": people, "tax_units": tax_units, "households": households}, + ) + + for year, (_, floor, cap, pension_cap, threshold, _) in HISTORY.items(): + points = np.asarray(points_by_year[year]) + deduction = simulation.calculate("mt_standard_deduction_indiv", year) + expected_deduction = np.clip(0.2 * points, floor, cap) + np.testing.assert_allclose(deduction, expected_deduction, atol=0.01, rtol=0) + assert np.all((deduction >= floor) & (deduction <= cap)) + assert np.all(np.diff(deduction) >= -0.01) + pension = simulation.calculate("mt_pension_exemption_indiv", year) + expected_pension = np.maximum( + pension_cap - 2 * np.maximum(points - threshold, 0), 0 + ) + np.testing.assert_allclose(pension, expected_pension, atol=0.01, rtol=0) + assert np.all((pension >= 0) & (pension <= pension_cap)) + assert np.all(np.diff(pension) <= 0.01) + + +@settings(max_examples=4, deadline=None, derandomize=True) +@given(amount=st.integers(min_value=0, max_value=800)) +def test_historical_subtractions_include_each_existing_component(amount): + amounts = {year: amount for year in HISTORY} + simulation = Simulation( + tax_benefit_system=system, + situation={ + "people": { + "head": { + "mt_interest_exemption_person": amounts, + "us_govt_interest_person": amounts, + "mt_tuition_subtraction_person": amounts, + "salt_refund_income": amounts, + } + }, + "tax_units": {"unit": {"members": ["head"]}}, + "households": { + "household": { + "members": ["head"], + "state_code": {year: "MT" for year in HISTORY}, + } + }, + }, + ) + for year in HISTORY: + assert simulation.calculate("mt_subtractions", year)[0] == 4 * amount diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_historical_parameters.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_historical_parameters.yaml new file mode 100644 index 00000000000..ab0b2e98803 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_historical_parameters.yaml @@ -0,0 +1,1918 @@ +# Form 2 instructions give the yearly exemption, income-tax schedule and +# pension exemption. The 2021 instructions, PDF page 54, also list the +# historical standard-deduction limits for every year below. + +- name: Montana applies its 2017 exemptions and income tax schedule + period: 2017 + absolute_error_margin: 0.01 + input: + state_code: MT + age: 40 + mt_agi_indiv: 25_000 + mt_taxable_income_indiv: 20_000 + taxable_pension_income: 10_000 + adjusted_gross_income_person: 35_260 + output: + # 20% x 25,000 exceeds the 4,510 standard deduction cap. + mt_standard_deduction_indiv: 4_510 + mt_personal_exemptions_indiv: 2_400 + # Apply the year's seven marginal rates to 20,000 of taxable income. + mt_regular_income_tax_indiv: 819.60 + # Pension cap 4,110 less 2 x 1,000 of excess federal AGI. + mt_pension_exemption_indiv: 2_110 + +- name: Montana applies its 2018 exemptions and income tax schedule + period: 2018 + absolute_error_margin: 0.01 + input: + state_code: MT + age: 40 + mt_agi_indiv: 25_000 + mt_taxable_income_indiv: 20_000 + taxable_pension_income: 10_000 + adjusted_gross_income_person: 35_820 + output: + # 20% x 25,000 exceeds the 4,580 standard deduction cap. + mt_standard_deduction_indiv: 4_580 + mt_personal_exemptions_indiv: 2_440 + # Apply the year's seven marginal rates to 20,000 of taxable income. + mt_regular_income_tax_indiv: 809.90 + # Pension cap 4,180 less 2 x 1,000 of excess federal AGI. + mt_pension_exemption_indiv: 2_180 + +- name: Montana applies its 2019 exemptions and income tax schedule + period: 2019 + absolute_error_margin: 0.01 + input: + state_code: MT + age: 40 + mt_agi_indiv: 25_000 + mt_taxable_income_indiv: 20_000 + taxable_pension_income: 10_000 + adjusted_gross_income_person: 36_800 + output: + # 20% x 25,000 exceeds the 4,710 standard deduction cap. + mt_standard_deduction_indiv: 4_710 + mt_personal_exemptions_indiv: 2_510 + # Apply the year's seven marginal rates to 20,000 of taxable income. + mt_regular_income_tax_indiv: 793.40 + # Pension cap 4,300 less 2 x 1,000 of excess federal AGI. + mt_pension_exemption_indiv: 2_300 + +- name: Montana applies its 2020 exemptions and income tax schedule + period: 2020 + absolute_error_margin: 0.01 + input: + state_code: MT + age: 40 + mt_agi_indiv: 25_000 + mt_taxable_income_indiv: 20_000 + taxable_pension_income: 10_000 + adjusted_gross_income_person: 37_420 + output: + # 20% x 25,000 exceeds the 4,790 standard deduction cap. + mt_standard_deduction_indiv: 4_790 + mt_personal_exemptions_indiv: 2_560 + # Apply the year's seven marginal rates to 20,000 of taxable income. + mt_regular_income_tax_indiv: 783.70 + # Pension cap 4,370 less 2 x 1,000 of excess federal AGI. + mt_pension_exemption_indiv: 2_370 + +- name: Montana includes all four existing subtractions in 2017 + period: 2017 + input: + state_code: MT + mt_interest_exemption_person: 800 + us_govt_interest_person: 1_000 + mt_tuition_subtraction_person: 3_000 + salt_refund_income: 200 + output: + # 800 + 1,000 + 3,000 + 200 = 5,000. + mt_subtractions: 5_000 + +- name: Montana includes all four existing subtractions in 2020 + period: 2020 + input: + state_code: MT + mt_interest_exemption_person: 800 + us_govt_interest_person: 1_000 + mt_tuition_subtraction_person: 3_000 + salt_refund_income: 200 + output: + # 800 + 1,000 + 3,000 + 200 = 5,000. + mt_subtractions: 5_000 + +# Apply each published marginal rate to its occupied bracket. +- name: Montana applies both sides of its 2017 tax boundaries + period: 2017 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 2899 + person_1: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 2900 + person_2: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 2901 + person_3: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5199 + person_4: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5200 + person_5: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5201 + person_6: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 7899 + person_7: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 7900 + person_8: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 7901 + person_9: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10599 + person_10: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10600 + person_11: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10601 + person_12: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13599 + person_13: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13600 + person_14: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13601 + person_15: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17599 + person_16: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17600 + person_17: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17601 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + person_6: + members: + - person_6 + person_7: + members: + - person_7 + person_8: + members: + - person_8 + person_9: + members: + - person_9 + person_10: + members: + - person_10 + person_11: + members: + - person_11 + person_12: + members: + - person_12 + person_13: + members: + - person_13 + person_14: + members: + - person_14 + person_15: + members: + - person_15 + person_16: + members: + - person_16 + person_17: + members: + - person_17 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + person_6: + members: + - person_6 + state_code: MT + person_7: + members: + - person_7 + state_code: MT + person_8: + members: + - person_8 + state_code: MT + person_9: + members: + - person_9 + state_code: MT + person_10: + members: + - person_10 + state_code: MT + person_11: + members: + - person_11 + state_code: MT + person_12: + members: + - person_12 + state_code: MT + person_13: + members: + - person_13 + state_code: MT + person_14: + members: + - person_14 + state_code: MT + person_15: + members: + - person_15 + state_code: MT + person_16: + members: + - person_16 + state_code: MT + person_17: + members: + - person_17 + state_code: MT + output: + mt_regular_income_tax_indiv: + - 28.99 + - 29.0 + - 29.02 + - 74.98 + - 75.0 + - 75.03 + - 155.97 + - 156.0 + - 156.04 + - 263.96 + - 264.0 + - 264.05 + - 413.95 + - 414.0 + - 414.06 + - 653.94 + - 654.0 + - 654.07 + +# Standard deduction: min(cap, max(floor, 20% x AGI)). +- name: Montana applies both sides of its 2017 deduction boundaries + period: 2017 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 9999 + person_1: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10000 + person_2: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10001 + person_3: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22549 + person_4: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22550 + person_5: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22551 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_standard_deduction_indiv: + - 2000 + - 2000.0 + - 2000.2 + - 4509.8 + - 4510.0 + - 4510 + +# Pension exemption: max(cap - 2 x max(AGI - threshold, 0), 0). +- name: Montana applies both sides of its 2017 pension boundaries + period: 2017 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34259 + taxable_pension_income: 10000 + person_1: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34260 + taxable_pension_income: 10000 + person_2: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34261 + taxable_pension_income: 10000 + person_3: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36314.0 + taxable_pension_income: 10000 + person_4: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36315.0 + taxable_pension_income: 10000 + person_5: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36316.0 + taxable_pension_income: 10000 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_pension_exemption_indiv: + - 4110 + - 4110 + - 4108 + - 2.0 + - 0.0 + - 0 + +# Apply each published marginal rate to its occupied bracket. +- name: Montana applies both sides of its 2018 tax boundaries + period: 2018 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 2999 + person_1: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3000 + person_2: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3001 + person_3: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5199 + person_4: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5200 + person_5: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5201 + person_6: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 7999 + person_7: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8000 + person_8: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8001 + person_9: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10799 + person_10: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10800 + person_11: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 10801 + person_12: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13899 + person_13: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13900 + person_14: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 13901 + person_15: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17899 + person_16: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17900 + person_17: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 17901 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + person_6: + members: + - person_6 + person_7: + members: + - person_7 + person_8: + members: + - person_8 + person_9: + members: + - person_9 + person_10: + members: + - person_10 + person_11: + members: + - person_11 + person_12: + members: + - person_12 + person_13: + members: + - person_13 + person_14: + members: + - person_14 + person_15: + members: + - person_15 + person_16: + members: + - person_16 + person_17: + members: + - person_17 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + person_6: + members: + - person_6 + state_code: MT + person_7: + members: + - person_7 + state_code: MT + person_8: + members: + - person_8 + state_code: MT + person_9: + members: + - person_9 + state_code: MT + person_10: + members: + - person_10 + state_code: MT + person_11: + members: + - person_11 + state_code: MT + person_12: + members: + - person_12 + state_code: MT + person_13: + members: + - person_13 + state_code: MT + person_14: + members: + - person_14 + state_code: MT + person_15: + members: + - person_15 + state_code: MT + person_16: + members: + - person_16 + state_code: MT + person_17: + members: + - person_17 + state_code: MT + output: + mt_regular_income_tax_indiv: + - 29.99 + - 30.0 + - 30.02 + - 73.98 + - 74.0 + - 74.03 + - 157.97 + - 158.0 + - 158.04 + - 269.96 + - 270.0 + - 270.05 + - 424.95 + - 425.0 + - 425.06 + - 664.94 + - 665.0 + - 665.07 + +# Standard deduction: min(cap, max(floor, 20% x AGI)). +- name: Montana applies both sides of its 2018 deduction boundaries + period: 2018 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10149 + person_1: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10150 + person_2: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10151 + person_3: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22899 + person_4: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22900 + person_5: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 22901 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_standard_deduction_indiv: + - 2030 + - 2030.0 + - 2030.2 + - 4579.8 + - 4580.0 + - 4580 + +# Pension exemption: max(cap - 2 x max(AGI - threshold, 0), 0). +- name: Montana applies both sides of its 2018 pension boundaries + period: 2018 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34819 + taxable_pension_income: 10000 + person_1: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34820 + taxable_pension_income: 10000 + person_2: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 34821 + taxable_pension_income: 10000 + person_3: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36909.0 + taxable_pension_income: 10000 + person_4: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36910.0 + taxable_pension_income: 10000 + person_5: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36911.0 + taxable_pension_income: 10000 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_pension_exemption_indiv: + - 4180 + - 4180 + - 4178 + - 2.0 + - 0.0 + - 0 + +# Apply each published marginal rate to its occupied bracket. +- name: Montana applies both sides of its 2019 tax boundaries + period: 2019 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3099 + person_1: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3100 + person_2: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3101 + person_3: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5399 + person_4: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5400 + person_5: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5401 + person_6: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8199 + person_7: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8200 + person_8: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8201 + person_9: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11099 + person_10: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11100 + person_11: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11101 + person_12: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14299 + person_13: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14300 + person_14: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14301 + person_15: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18399 + person_16: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18400 + person_17: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18401 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + person_6: + members: + - person_6 + person_7: + members: + - person_7 + person_8: + members: + - person_8 + person_9: + members: + - person_9 + person_10: + members: + - person_10 + person_11: + members: + - person_11 + person_12: + members: + - person_12 + person_13: + members: + - person_13 + person_14: + members: + - person_14 + person_15: + members: + - person_15 + person_16: + members: + - person_16 + person_17: + members: + - person_17 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + person_6: + members: + - person_6 + state_code: MT + person_7: + members: + - person_7 + state_code: MT + person_8: + members: + - person_8 + state_code: MT + person_9: + members: + - person_9 + state_code: MT + person_10: + members: + - person_10 + state_code: MT + person_11: + members: + - person_11 + state_code: MT + person_12: + members: + - person_12 + state_code: MT + person_13: + members: + - person_13 + state_code: MT + person_14: + members: + - person_14 + state_code: MT + person_15: + members: + - person_15 + state_code: MT + person_16: + members: + - person_16 + state_code: MT + person_17: + members: + - person_17 + state_code: MT + output: + mt_regular_income_tax_indiv: + - 30.99 + - 31.0 + - 31.02 + - 76.98 + - 77.0 + - 77.03 + - 160.97 + - 161.0 + - 161.04 + - 276.96 + - 277.0 + - 277.05 + - 436.95 + - 437.0 + - 437.06 + - 682.94 + - 683.0 + - 683.07 + +# Standard deduction: min(cap, max(floor, 20% x AGI)). +- name: Montana applies both sides of its 2019 deduction boundaries + period: 2019 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10449 + person_1: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10450 + person_2: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10451 + person_3: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23549 + person_4: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23550 + person_5: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23551 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_standard_deduction_indiv: + - 2090 + - 2090.0 + - 2090.2 + - 4709.8 + - 4710.0 + - 4710 + +# Pension exemption: max(cap - 2 x max(AGI - threshold, 0), 0). +- name: Montana applies both sides of its 2019 pension boundaries + period: 2019 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 35799 + taxable_pension_income: 10000 + person_1: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 35800 + taxable_pension_income: 10000 + person_2: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 35801 + taxable_pension_income: 10000 + person_3: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 37949.0 + taxable_pension_income: 10000 + person_4: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 37950.0 + taxable_pension_income: 10000 + person_5: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 37951.0 + taxable_pension_income: 10000 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_pension_exemption_indiv: + - 4300 + - 4300 + - 4298 + - 2.0 + - 0.0 + - 0 + +# Apply each published marginal rate to its occupied bracket. +- name: Montana applies both sides of its 2020 tax boundaries + period: 2020 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3099 + person_1: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3100 + person_2: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 3101 + person_3: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5499 + person_4: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5500 + person_5: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 5501 + person_6: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8399 + person_7: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8400 + person_8: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 8401 + person_9: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11299 + person_10: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11300 + person_11: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 11301 + person_12: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14499 + person_13: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14500 + person_14: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 14501 + person_15: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18699 + person_16: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18700 + person_17: + is_tax_unit_head: true + age: 40 + mt_taxable_income_indiv: 18701 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + person_6: + members: + - person_6 + person_7: + members: + - person_7 + person_8: + members: + - person_8 + person_9: + members: + - person_9 + person_10: + members: + - person_10 + person_11: + members: + - person_11 + person_12: + members: + - person_12 + person_13: + members: + - person_13 + person_14: + members: + - person_14 + person_15: + members: + - person_15 + person_16: + members: + - person_16 + person_17: + members: + - person_17 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + person_6: + members: + - person_6 + state_code: MT + person_7: + members: + - person_7 + state_code: MT + person_8: + members: + - person_8 + state_code: MT + person_9: + members: + - person_9 + state_code: MT + person_10: + members: + - person_10 + state_code: MT + person_11: + members: + - person_11 + state_code: MT + person_12: + members: + - person_12 + state_code: MT + person_13: + members: + - person_13 + state_code: MT + person_14: + members: + - person_14 + state_code: MT + person_15: + members: + - person_15 + state_code: MT + person_16: + members: + - person_16 + state_code: MT + person_17: + members: + - person_17 + state_code: MT + output: + mt_regular_income_tax_indiv: + - 30.99 + - 31.0 + - 31.02 + - 78.98 + - 79.0 + - 79.03 + - 165.97 + - 166.0 + - 166.04 + - 281.96 + - 282.0 + - 282.05 + - 441.95 + - 442.0 + - 442.06 + - 693.94 + - 694.0 + - 694.07 + +# Standard deduction: min(cap, max(floor, 20% x AGI)). +- name: Montana applies both sides of its 2020 deduction boundaries + period: 2020 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10649 + person_1: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10650 + person_2: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 10651 + person_3: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23949 + person_4: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23950 + person_5: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 23951 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_standard_deduction_indiv: + - 2130 + - 2130.0 + - 2130.2 + - 4789.8 + - 4790.0 + - 4790 + +# Pension exemption: max(cap - 2 x max(AGI - threshold, 0), 0). +- name: Montana applies both sides of its 2020 pension boundaries + period: 2020 + absolute_error_margin: 0.01 + input: + people: + person_0: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36419 + taxable_pension_income: 10000 + person_1: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36420 + taxable_pension_income: 10000 + person_2: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 36421 + taxable_pension_income: 10000 + person_3: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 38604.0 + taxable_pension_income: 10000 + person_4: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 38605.0 + taxable_pension_income: 10000 + person_5: + is_tax_unit_head: true + age: 40 + adjusted_gross_income_person: 38606.0 + taxable_pension_income: 10000 + tax_units: + person_0: + members: + - person_0 + person_1: + members: + - person_1 + person_2: + members: + - person_2 + person_3: + members: + - person_3 + person_4: + members: + - person_4 + person_5: + members: + - person_5 + households: + person_0: + members: + - person_0 + state_code: MT + person_1: + members: + - person_1 + state_code: MT + person_2: + members: + - person_2 + state_code: MT + person_3: + members: + - person_3 + state_code: MT + person_4: + members: + - person_4 + state_code: MT + person_5: + members: + - person_5 + state_code: MT + output: + mt_pension_exemption_indiv: + - 4370 + - 4370 + - 4368 + - 2.0 + - 0.0 + - 0 + +# At zero AGI, apply the minimums: 2,030 for a surviving spouse and +# 4,060 for HoH. At 100,000 AGI, 20% exceeds both caps: 4,580 and 9,160. +- name: Montana keeps the single standard deduction for a surviving spouse in 2018 + period: 2018 + absolute_error_margin: 0.01 + input: + people: + widow_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + hoh_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + widow_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + hoh_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + tax_units: + widow_floor: + members: + - widow_floor + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 0 + hoh_floor: + members: + - hoh_floor + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 0 + widow_cap: + members: + - widow_cap + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 100000 + hoh_cap: + members: + - hoh_cap + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 100000 + households: + widow_floor: + members: + - widow_floor + state_code: MT + hoh_floor: + members: + - hoh_floor + state_code: MT + widow_cap: + members: + - widow_cap + state_code: MT + hoh_cap: + members: + - hoh_cap + state_code: MT + output: + mt_standard_deduction_joint: + - 2030 + - 4060 + - 4580 + - 9160 + mt_standard_deduction_indiv: + - 2030 + - 4060 + - 4580 + - 9160 + +# At zero AGI, apply the minimums: 2,090 for a surviving spouse and +# 4,180 for HoH. At 100,000 AGI, 20% exceeds both caps: 4,710 and 9,420. +- name: Montana keeps the single standard deduction for a surviving spouse in 2019 + period: 2019 + absolute_error_margin: 0.01 + input: + people: + widow_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + hoh_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + widow_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + hoh_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + tax_units: + widow_floor: + members: + - widow_floor + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 0 + hoh_floor: + members: + - hoh_floor + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 0 + widow_cap: + members: + - widow_cap + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 100000 + hoh_cap: + members: + - hoh_cap + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 100000 + households: + widow_floor: + members: + - widow_floor + state_code: MT + hoh_floor: + members: + - hoh_floor + state_code: MT + widow_cap: + members: + - widow_cap + state_code: MT + hoh_cap: + members: + - hoh_cap + state_code: MT + output: + mt_standard_deduction_joint: + - 2090 + - 4180 + - 4710 + - 9420 + mt_standard_deduction_indiv: + - 2090 + - 4180 + - 4710 + - 9420 + +# At zero AGI, apply the minimums: 2,130 for a surviving spouse and +# 4,260 for HoH. At 100,000 AGI, 20% exceeds both caps: 4,790 and 9,580. +- name: Montana keeps the single standard deduction for a surviving spouse in 2020 + period: 2020 + absolute_error_margin: 0.01 + input: + people: + widow_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + hoh_floor: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 0 + widow_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + hoh_cap: + is_tax_unit_head: true + age: 40 + mt_agi_indiv: 100000 + tax_units: + widow_floor: + members: + - widow_floor + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 0 + hoh_floor: + members: + - hoh_floor + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 0 + widow_cap: + members: + - widow_cap + filing_status: SURVIVING_SPOUSE + mt_agi_joint: 100000 + hoh_cap: + members: + - hoh_cap + filing_status: HEAD_OF_HOUSEHOLD + mt_agi_joint: 100000 + households: + widow_floor: + members: + - widow_floor + state_code: MT + hoh_floor: + members: + - hoh_floor + state_code: MT + widow_cap: + members: + - widow_cap + state_code: MT + hoh_cap: + members: + - hoh_cap + state_code: MT + output: + mt_standard_deduction_joint: + - 2130 + - 4260 + - 4790 + - 9580 + mt_standard_deduction_indiv: + - 2130 + - 4260 + - 4790 + - 9580 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax.yaml b/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax.yaml index 8f84e99f345..a905185b684 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax.yaml @@ -208,30 +208,26 @@ mt_income_tax: 71.40 - name: The balancing share holds each column's miscellaneous deductions after the 2% floor fixed - # TY2017, the only year in which the code applies both the 2% floor on - # miscellaneous deductions (misc_floor_applies is true only in 2017) and - # the status 2a path (married_filing_separately_on_same_return_allowed - # starts in 2021, and its first value extends back). The model's 2017 - # exemption (2,580), rate schedule and standard deduction are its 2021 - # values, extended back the same way. The case pins the model's arithmetic. - # The balancing case above, with a floor-subject expense in each column. - # Floor deductions: head 2,500 - 2% x 25,000 = 2,000; spouse 500 - 2% x - # 15,000 = 200; joint 3,000 - 2% x 40,000 = 2,200. - # Medical floors: 1,875 and 1,125. Levels: head 25,000 - 2,580 - 2,000 + - # 1,875 = 22,295; spouse 15,000 - 2,580 - 200 + 1,125 = 13,345. - # s = 0.5 + (22,295 - 13,345) / 50,000 = 0.679. - # Head line 1a 16,975, medical 15,100, itemized 17,100; - # 25,000 - 2,580 - 17,100 = 5,320. - # Spouse line 1a 8,025, medical 6,900, itemized 7,100; - # 15,000 - 2,580 - 7,100 = 5,320. - # The child's 2,580 is halved: 4,030 each, taxed 31 + 930 x 2% = 49.60. - # Other candidates: equal split 130.45 + 8.45 = 138.90; all to the head - # 0 + 215.60; all to the spouse 640.40 + 0. Standard deductions (4,830 - # and 3,000): 470.60 + 206.80 = 677.40. - # Joint: 40,000 - (22,000 + 2,200) - 3 x 2,580 = 8,060 taxable, - # tax 31 + 48 + 2,560 x 3% = 155.80. - # Without the floor deductions in the columns, s would be 0.715, itemized - # deductions 16,000 and 6,000, and the tax 2 x 71.60 = 143.20. + # TY2017: the miscellaneous deduction has a 2% floor, and spouses may + # file separately on the same form. The exemption is 2,400; rate edges + # are 2,900 / 5,200 / 7,900 / 10,600 / 13,600 / 17,600. + # Floor deductions: 2,500 - 2% x 25,000 = 2,000 for the head; + # 500 - 2% x 15,000 = 200 for the spouse; 2,200 jointly. + # Medical floors: 1,875 and 1,125. Levels: 25,000 - 2,400 - 2,000 + + # 1,875 = 22,475; 15,000 - 2,400 - 200 + 1,125 = 13,525. + # Share = 0.5 + (22,475 - 13,525) / 50,000 = 0.679. + # Head bills 16,975 yield medical 15,100 and itemized 17,100. + # Spouse bills 8,025 yield medical 6,900 and itemized 7,100. + # Before the child's exemption each income is 5,500. Halving 2,400 + # leaves 4,300 each: 29 + 1,400 x 2% = 57; combined tax = 114. + # Other shares: equal 146.25 + 10.25 = 156.50; all to head 240; + # all to spouse 695.40. Standard deductions 4,510 and 3,000 give + # 539.40 + 224 = 763.40. + # Joint taxable income = 40,000 - 24,200 - 7,200 = 8,600: + # 29 + 46 + 81 + 700 x 4% = 184. + # Without the miscellaneous floor deductions, the share is 0.715 and + # itemized deductions are 16,000 and 6,000. Taxable income is 5,400 + # each, so tax = 2 x (75 + 200 x 3%) = 162. period: 2017 absolute_error_margin: 0.01 input: @@ -266,7 +262,7 @@ mt_medical_and_dental_expenses_indiv: [16_975, 8_025, 0] mt_itemized_deductions_indiv: [17_100, 7_100, 0] mt_tax_unit_itemizes: true - mt_income_tax_before_refundable_credits_indiv: [49.60, 49.60, 0] - mt_income_tax_joint: 155.80 + mt_income_tax_before_refundable_credits_indiv: [57, 57, 0] + mt_income_tax_joint: 184 mt_files_separately: true - mt_income_tax: 99.20 + mt_income_tax: 114 diff --git a/source_conflicts/candidates.yaml b/source_conflicts/candidates.yaml index 9d02eda84fd..c117c806e2a 100644 --- a/source_conflicts/candidates.yaml +++ b/source_conflicts/candidates.yaml @@ -6738,6 +6738,55 @@ candidates: Montana AGI (Itemized Deductions Schedule line 1b), and from 2024 the federal floor on federal AGI applies (mt_medical_expense_deduction_joint.py, itemized/state_specific_deduction_applies.yaml); the joint standard deduction also uses pooled Montana AGI (mt_standard_deduction_joint.py). Verify the incorporated federal provision against the form''s AGI choice.' +- id: us-mt:surviving-spouse-standard-deduction + program: income-tax + years: + from: 2018 + to: 2020 + type: tax + question: Does a federal qualifying widow or widower receive Montana's single standard deduction under the + federal head-of-household eligibility condition, or the doubled deduction through the department's head-of-household + instructions? + sources: + - kind: statute + citation: MCA 15-30-2132(1), 2017 + url: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html + - kind: statute + citation: MCA 15-30-2132(1), 2019 + url: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html + - kind: statute + citation: 26 USC 2(b)(1), 2017 edition + url: https://www.govinfo.gov/content/pkg/USCODE-2017-title26/html/USCODE-2017-title26-subtitleA-chap1-subchapA-partI-sec2.htm + - kind: instructions + citation: 2018 Montana Form 2 instructions, Head of Household, PDF page 11 + url: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 + - kind: instructions + citation: 2019 Montana Form 2 instructions, Head of Household, PDF page 10 + url: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=10 + - kind: instructions + citation: 2020 Montana Form 2 instructions, Head of Household, PDF page 10 + url: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=10 + readings: + statute: A surviving spouse under 26 USC 2(a) cannot qualify for federal head-of-household filing under + 2(b)(1). Montana therefore applies the single standard deduction unless the taxpayer files a married + joint return. + other: The department generally permits federal qualifying widows and widowers to use Montana head-of-household + filing, giving them twice the single standard deduction limits. + example: A 2018 federal qualifying widow with Montana AGI of $100,000 receives a $4,580 standard deduction + under the statute and $9,160 under the head-of-household reading. + pe_us: + follows: statute + code: + - policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/cap.yaml + - policyengine_us/parameters/gov/states/mt/tax/income/deductions/standard/floor.yaml + prs: + - https://github.com/PolicyEngine/policyengine-us/pull/10847 + state: ruled + note: PolicyEngine retains single standard deduction limits for SURVIVING_SPOUSE in 2018-2020. The 2017 + booklet does not contain the qualifying-widow allowance. The operative excerpts and context summaries + are captured under source_conflicts/sources/us-mt/ in the surviving-spouse files. The historical YAML + cases compare the single and doubled limits at both deduction boundaries. Federal-tax and senior-interest + limits do not differ between single and head-of-household filing. - id: us-nc:lieap-gross-versus-net-income program: liheap years: diff --git a/source_conflicts/sources/us-mt/form-2-instructions-2018-surviving-spouse.txt b/source_conflicts/sources/us-mt/form-2-instructions-2018-surviving-spouse.txt new file mode 100644 index 00000000000..f037f62a66f --- /dev/null +++ b/source_conflicts/sources/us-mt/form-2-instructions-2018-surviving-spouse.txt @@ -0,0 +1,8 @@ +Source: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2018_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=11 +2018 Montana Form 2 instructions, Head of Household, PDF page 11. + +Operative excerpt (20 words): +Generally, when your filing status on your federal Form 1040 is Qualifying Widow(er), you can use Head of Household status. + +Context summary: +The department generally permits a federal qualifying widow or widower to file Montana head of household. The same section also requires federal head-of-household eligibility and asks the filer to verify qualification against federal instructions. diff --git a/source_conflicts/sources/us-mt/form-2-instructions-2019-surviving-spouse.txt b/source_conflicts/sources/us-mt/form-2-instructions-2019-surviving-spouse.txt new file mode 100644 index 00000000000..59cf48fc4ad --- /dev/null +++ b/source_conflicts/sources/us-mt/form-2-instructions-2019-surviving-spouse.txt @@ -0,0 +1,8 @@ +Source: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2019_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=10 +2019 Montana Form 2 instructions, Head of Household, PDF page 10. + +Operative excerpt (20 words): +Generally, when your filing status on your federal Form 1040 is Qualifying Widow(er), you can use Head of Household status. + +Context summary: +The department generally permits a federal qualifying widow or widower to file Montana head of household. The same section also requires federal head-of-household eligibility and asks the filer to verify qualification against federal instructions. diff --git a/source_conflicts/sources/us-mt/form-2-instructions-2020-surviving-spouse.txt b/source_conflicts/sources/us-mt/form-2-instructions-2020-surviving-spouse.txt new file mode 100644 index 00000000000..cae5b3ae7af --- /dev/null +++ b/source_conflicts/sources/us-mt/form-2-instructions-2020-surviving-spouse.txt @@ -0,0 +1,8 @@ +Source: https://revenuefiles.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2020_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=10 +2020 Montana Form 2 instructions, Head of Household, PDF page 10. + +Operative excerpt (20 words): +Generally, when your filing status on your federal Form 1040 is Qualifying Widow(er), you can use Head of Household status. + +Context summary: +The department generally permits a federal qualifying widow or widower to file Montana head of household. The same section also requires federal head-of-household eligibility and asks the filer to verify qualification against federal instructions. diff --git a/source_conflicts/sources/us-mt/mca-15-30-2132-2017-surviving-spouse.txt b/source_conflicts/sources/us-mt/mca-15-30-2132-2017-surviving-spouse.txt new file mode 100644 index 00000000000..a11cb651769 --- /dev/null +++ b/source_conflicts/sources/us-mt/mca-15-30-2132-2017-surviving-spouse.txt @@ -0,0 +1,8 @@ +Source: https://mca.legmt.gov/bills/2017/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html +Montana Code Annotated 2017, 15-30-2132(1). + +Operative excerpt (17 words): +single individual who qualifies to file as a head of household on the federal income tax return + +Context summary: +Montana doubles the minimum and maximum standard deduction for married joint filers and individuals who qualify for federal head-of-household filing. Montana determines marital status at year end, or at death if a spouse died during that tax year. diff --git a/source_conflicts/sources/us-mt/mca-15-30-2132-2019-surviving-spouse.txt b/source_conflicts/sources/us-mt/mca-15-30-2132-2019-surviving-spouse.txt new file mode 100644 index 00000000000..184055349cc --- /dev/null +++ b/source_conflicts/sources/us-mt/mca-15-30-2132-2019-surviving-spouse.txt @@ -0,0 +1,8 @@ +Source: https://mca.legmt.gov/bills/2019/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html +Montana Code Annotated 2019, 15-30-2132(1). + +Operative excerpt (17 words): +single individual who qualifies to file as a head of household on the federal income tax return + +Context summary: +Montana doubles the minimum and maximum standard deduction for married joint filers and individuals who qualify for federal head-of-household filing. Montana determines marital status at year end, or at death if a spouse died during that tax year. diff --git a/source_conflicts/sources/us-mt/usc-26-2-2017-head-of-household.txt b/source_conflicts/sources/us-mt/usc-26-2-2017-head-of-household.txt new file mode 100644 index 00000000000..637823d0e1a --- /dev/null +++ b/source_conflicts/sources/us-mt/usc-26-2-2017-head-of-household.txt @@ -0,0 +1,8 @@ +Source: https://www.govinfo.gov/content/pkg/USCODE-2017-title26/html/USCODE-2017-title26-subtitleA-chap1-subchapA-partI-sec2.htm +United States Code, 2017 edition, 26 USC 2(b)(1). + +Operative excerpt (10 words): +is not a surviving spouse (as defined in subsection (a)) + +Context summary: +The federal head-of-household definition excludes an individual who qualifies as a surviving spouse under subsection (a). This exclusion determines access to the doubled Montana standard deduction through federal head-of-household eligibility.