-
Notifications
You must be signed in to change notification settings - Fork 201
Update Missouri 2025 tax law #6898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
a479c77
Updated minimum_taxable_income.yaml
rickecon 0d296db
Update Missouri rates.yaml
rickecon e8641fd
Added MO capital gains deduction
rickecon 2ac093c
Update capital gains rate
rickecon f481a9b
Merge remote-tracking branch 'origin/master' into mo
rickecon 26e5f61
Update changelog_entry.yaml
rickecon b21c8a7
Added mo_capital_gains_subtraction.yaml test
rickecon 0b78702
Changed filer_type from MARRIED to JOINT in mo_federal_income_tax_ded…
rickecon cc51b69
Changed typo WIDWO (2 instances) to SURVIVING_SPOUSE in nc_itemized_d…
rickecon 4c4400a
Updated mo_capital_gains_subtraction.yaml
rickecon 751402c
Added reference for net capital gains exemption
rickecon a734223
Merge remote-tracking branch 'origin/master' into mo
rickecon a10e1fd
Fixed MO capital gains logic, tests, and added subtractions logic
rickecon 619d656
Updated mo_agi_subtractions.yaml test
rickecon 5243a32
Update tests mo_agi_subtractions.yaml and mo_capital_gains_subtractio…
rickecon 4abd708
Updated parameter value to 1 and moved net capital gain parameter fol…
rickecon ef682ad
Updated changelog_entry.yaml
rickecon bbadf20
Merge remote-tracking branch 'origin/master' into mo
rickecon 7be1bf6
Updated uv.lock
rickecon 1587876
Fix entity-level mismatch in MO capital gains subtraction
DTrim99 d7766cb
Merge branch 'master' into mo
DTrim99 b3d904b
Update uv.lock
DTrim99 0270c25
Update uv.lock revision
DTrim99 f52418d
Merge branch 'master' into mo
DTrim99 6fec6dc
Update uv.lock
DTrim99 505306e
update uv lock
DTrim99 66efe9e
Merge branch 'master' into mo
rickecon d4f5f86
Merge branch 'master' into mo
rickecon 6768723
Fix MO capital gains subtraction allocation to use net capital gains
DTrim99 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| - bump: patch | ||
| changes: | ||
| fixed: | ||
| - Updates the thresholds and marginal tax rates rates for the Missouri individual income tax in `parameters/gov/states/mo/tax/income/rates.yaml` | ||
| - Adds the variable `mo_capital_gains_subtraction.py` and the parameter `parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml` for the 2025 inclusion a full deductibility of capital gains in calculating Missouri adjusted gross income. | ||
| - Adds `agi_subtractions.yaml` list parameter with the two MO AGI subtractions for 2025, and creates a `mo_agi_subtractions.py` variable (Person-level), which is referenced in the `mo_adjusted_gross_income.py` calculation. | ||
| - Adds `mo_capital_gains_subtraction_person.py` to allocate the capital gains subtraction proportionally to each person based on their share of long-term capital gains, preventing overcounting in multi-person tax units. | ||
| - Updates the `parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml` parameter with the new 2025 value. | ||
| - Adds new legislative references |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
policyengine_us/parameters/gov/states/mo/tax/income/subtractions/agi_subtractions.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| description: Missouri subtracts these sources from federal adjusted gross income to determine state adjusted gross income. | ||
| values: | ||
| 2008-01-01: | ||
| - mo_qualified_health_insurance_premiums | ||
| 2025-01-01: | ||
| - mo_qualified_health_insurance_premiums | ||
| - mo_capital_gains_subtraction_person | ||
|
|
||
|
|
||
| metadata: | ||
| unit: list | ||
| period: year | ||
| label: Missouri adjusted gross income subtractions | ||
| reference: | ||
| - title: Revisor of Missouri, Title X Taxation and Revenue, Chapter 143, 143.121, Missouri adjusted gross income (8/28/2007) | ||
| href: https://www.revisor.mo.gov/main/OneSection.aspx?bid=50493§ion=143.121 | ||
| - title: Revisor of Missouri, Title X Taxation and Revenue, Chapter 143, 143.121, Missouri adjusted gross income (8/28/2025) | ||
| href: https://www.revisor.mo.gov/main/OneSection.aspx?section=143.121&bid=57543 |
14 changes: 14 additions & 0 deletions
14
policyengine_us/parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| description: Missouri deducts this fraction of net capital gains from taxable income. | ||
| values: | ||
| 0000-01-01: 0.00 | ||
| 2025-01-01: 1 | ||
|
|
||
| metadata: | ||
| unit: /1 | ||
| period: year | ||
| label: Missouri net capital gain deduction rate | ||
| reference: | ||
| - title: Missouri House of Representatives HB 594 (2025) | ||
| href: https://www.senate.mo.gov/25info/bts_web/bill.aspx?SessionType=R&BillID=4957943 | ||
| - title: MO Dept of Revenue, Capital Gains Subtraction FAQs | ||
| href: https://dor.mo.gov/faq/taxation/individual/capital-gains-subtraction.html | ||
176 changes: 176 additions & 0 deletions
176
...e_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,176 @@ | ||
| - name: Pre capital gains subtraction law and qualified premiums, cap gains | ||
| period: 2024 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_capital_gains_subtraction: 0 | ||
|
|
||
|
|
||
| - name: Pre capital gains subtraction law and qualified premiums, health insurance | ||
| period: 2024 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_qualified_health_insurance_premiums: 12_000 | ||
|
|
||
|
|
||
| - name: Pre capital gains subtraction law and qualified premiums, subtractions | ||
| period: 2024 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_agi_subtractions: 12_000 | ||
|
|
||
|
|
||
| - name: Post capital gains subtraction law and qualified premiums, capital gains | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_capital_gains_subtraction: 1_000 | ||
|
|
||
|
|
||
| - name: Post capital gains subtraction law and qualified premiums, health insurance | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_qualified_health_insurance_premiums: 12_000 | ||
|
|
||
|
|
||
| - name: Post capital gains subtraction law and qualified premiums, subtractions | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| health_insurance_premiums: 12_000 | ||
| medical_out_of_pocket_expenses: 12_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_agi_subtractions: 13_000 | ||
|
|
||
|
|
||
| - name: Married couple - capital gains allocated by person | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 6_000 | ||
| short_term_capital_gains: 0 | ||
| health_insurance_premiums: 6_000 | ||
| medical_out_of_pocket_expenses: 6_000 | ||
| person2: | ||
| long_term_capital_gains: 4_000 | ||
| short_term_capital_gains: 0 | ||
| health_insurance_premiums: 6_000 | ||
| medical_out_of_pocket_expenses: 6_000 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1, person2] | ||
| medical_expense_deduction: 0 | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1, person2] | ||
| state_code: MO | ||
| output: | ||
| # Person-level capital gains subtraction allocation: 60%/40% of 10_000 | ||
| mo_capital_gains_subtraction_person: [6_000, 4_000] | ||
| # Person-level health insurance: 50%/50% of 12_000 | ||
| mo_qualified_health_insurance_premiums: [6_000, 6_000] | ||
| # Total subtractions per person: 6_000+6_000=12_000 and 4_000+6_000=10_000 | ||
| mo_agi_subtractions: [12_000, 10_000] |
65 changes: 65 additions & 0 deletions
65
...s/policy/baseline/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| - name: Pre capital gains subtraction law | ||
| period: 2024 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_capital_gains_subtraction: 0 | ||
|
|
||
| - name: Post capital gains subtraction law | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 1_000 | ||
| short_term_capital_gains: 500 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1] | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1] | ||
| state_code: MO | ||
| output: | ||
| mo_capital_gains_subtraction: 1_000 | ||
|
|
||
| - name: Post capital gains subtraction law - married couple | ||
| period: 2025 | ||
| absolute_error_margin: 0 | ||
| input: | ||
| people: | ||
| person1: | ||
| long_term_capital_gains: 6_000 | ||
| short_term_capital_gains: 0 | ||
| person2: | ||
| long_term_capital_gains: 4_000 | ||
| short_term_capital_gains: 0 | ||
| tax_units: | ||
| tax_unit1: | ||
| members: [person1, person2] | ||
| tax_unit_itemizes: false | ||
| taxable_income: 100_000 | ||
| households: | ||
| household1: | ||
| members: [person1, person2] | ||
| state_code: MO | ||
| output: | ||
| # Tax unit level subtraction should be full 10_000 | ||
| mo_capital_gains_subtraction: 10_000 | ||
| # Person level subtraction should be allocated by LTCG share | ||
| mo_capital_gains_subtraction_person: [6_000, 4_000] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.