Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0bcebf6
Net capital gain distributions inside the capital loss limit
MaxGhenis Oct 4, 2026
9afd5aa
Merge remote-tracking branch 'upstream/main' into sch-d-cg-distributi…
MaxGhenis Oct 4, 2026
bb6eb56
Count distributions inside Schedule D in the NII invariant reference
MaxGhenis Oct 4, 2026
6f03491
Test the netting when a reform drops a gross income source
MaxGhenis Oct 4, 2026
9c20294
Address review: Michigan adjustments, filer-only worksheet test, floors
MaxGhenis Oct 4, 2026
fb5ccb2
Merge remote-tracking branch 'upstream/main' into sch-d-cg-distributi…
MaxGhenis Oct 4, 2026
b047c78
Follow 1211(b) in the #9647 invariant and a Maryland surtax test
MaxGhenis Oct 5, 2026
1a54e89
Net Michigan business and rental losses on MI-1040CR lines 16 and 17
MaxGhenis Oct 5, 2026
8d5163e
Merge upstream/main into mi-household-resources-business-losses
MaxGhenis Oct 5, 2026
b6c5f61
Keep dependents' business and rental items off Michigan lines 16 and 17
MaxGhenis Oct 5, 2026
e0ab86d
Count only the claimant and spouse in Michigan household resources
MaxGhenis Oct 5, 2026
31149d1
Give the membership property tests an explicit FIP grant
MaxGhenis Oct 5, 2026
fcecf1f
Keep dependents' above-the-line deductions off the filer's AGI
MaxGhenis Oct 5, 2026
1a97062
Test that the ALD total stays between 0 and the all-member sum
MaxGhenis Oct 5, 2026
bbff993
Merge #9801 (dependents' above-the-line deductions) into mi-household…
MaxGhenis Oct 5, 2026
3f22244
Read the federal Schedule 1 aggregates on Michigan line 30; reformabl…
MaxGhenis Oct 5, 2026
68f36eb
Merge remote-tracking branch 'upstream/main' into sch-d-cg-distributi…
MaxGhenis Oct 6, 2026
638c794
Add the combined #9781 regression case, a joint Maryland surtax case,…
MaxGhenis Oct 6, 2026
c45512e
Merge remote-tracking branch 'upstream/sch-d-cg-distributions-agi' in…
MaxGhenis Oct 6, 2026
0a2ca21
Use tax_unit_non_dep_add for lines 16 and 17; describe the dependent …
MaxGhenis Oct 6, 2026
4617ad3
Merge remote-tracking branch 'upstream/mi-household-resources-busines…
MaxGhenis Oct 6, 2026
b10ac14
Keep a supplied net_capital_gains amount on the filer's line 7a; add …
MaxGhenis Oct 6, 2026
d94846e
Subtract Michigan premiums once and exclude the first $300 of winning…
MaxGhenis Oct 6, 2026
c57e5b6
Test that dropping the federal deduction moves premiums to line 31
MaxGhenis Oct 6, 2026
8d494de
Document supplied net_capital_gains on the filer's line 7a; add NII a…
MaxGhenis Oct 6, 2026
a992960
Merge remote-tracking branch 'upstream/mi-household-resources-claiman…
MaxGhenis Oct 6, 2026
7fa23e5
Test that the exclusions read their parameters; note awards and gifts…
MaxGhenis Oct 6, 2026
1afac06
Merge remote-tracking branch 'upstream/main' into mi-household-resour…
MaxGhenis Oct 6, 2026
546c601
Pass include_dependents on Michigan line 30; test a dependent's posit…
MaxGhenis Oct 6, 2026
3e7a8bf
Merge remote-tracking branch 'upstream/mi-household-resources-claiman…
MaxGhenis Oct 6, 2026
b95613e
S1 and Suggestion 4: merge main preserving Michigan adjustments
MaxGhenis Oct 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Subtract Michigan household resources premiums once (MI-1040CR line 31 leaves out the self-employed health insurance deduction on line 30), and exclude the first $300 of gambling winnings and of gifts (MCL 206.510(1)(a) and (b), lines 20 and 24), counting gifts from relatives and friends on line 24.
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ values:
# MI-1040CR line 19, net capital gains and losses from the filer's U.S.
# Schedule D, a loss limited to $3,000 ($1,500 married filing separately).
- filer_loss_limited_net_capital_gains
# MI-1040CR line 20, alimony and other taxable income.
# MI-1040CR line 20, alimony and other taxable income: "awards, prizes,
# lottery, bingo, and other gambling winnings over $300" (the first $300
# is household_resources_gambling_exclusion) and other taxable income,
# such as miscellaneous_income (26 CFR 1.61-14), in full.
- alimony_income
- gambling_winnings
- miscellaneous_income
# MI-1040CR line 21, Social Security, SSI and railroad retirement
# benefits, including amounts received for dependents.
- social_security
Expand All @@ -40,8 +44,14 @@ values:
- child_support_received
# MI-1040CR line 23, unemployment compensation.
- total_unemployment_compensation
# MI-1040CR line 24, gifts received or expenses paid on your behalf.
- miscellaneous_income
# MI-1040CR line 24, "the value over $300 in gifts of cash or merchandise
# received, or expenses paid on your behalf ... by parents, relatives, or
# friends" (the first $300 is household_resources_gift_exclusion). Gifts
# are excluded from federal gross income (IRC 102) but are total
# household resources (MCL 206.510(1)). financial_assistance is cash
# only; expenses others pay on the claimant's behalf (gifts in kind) have
# no input.
- financial_assistance
# MI-1040CR line 26, veterans' benefits and workers' compensation.
- veterans_benefits
- workers_compensation
Expand Down Expand Up @@ -74,3 +84,5 @@ metadata:
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=26
- title: Michigan Compiled Laws Chapter 9 Section 206.508 - Definitions. (4)
href: https://law.justia.com/codes/michigan/2022/chapter-206/statute-act-281-of-1967/division-281-1967-1/division-281-1967-1-9/section-206-508/
- title: MCL 206.510(1), "Income" defined
href: https://www.legislature.mi.gov/Laws/MCL?objectName=mcl-206-510
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
description: Michigan excludes this amount of awards, prizes, lottery, bingo and other gambling winnings from household resources.
values:
# MCL 206.510(1)(b): a fixed amount in the statute, not indexed. The
# MI-1040CR counts winnings "over $300" on line 20, one amount for the
# claimant and spouse. The model applies it to gambling_winnings; it has no
# separate input for awards and prizes, and one entered as
# miscellaneous_income counts in full on line 20.
2021-01-01: 300
metadata:
unit: currency-USD
period: year
label: Michigan household resources gambling winnings exclusion
reference:
- title: MCL 206.510(1)(b), "The first $300.00 received from awards, prizes, lottery, bingo, or other gambling winnings"
href: https://www.legislature.mi.gov/Laws/MCL?objectName=mcl-206-510
- title: 2022 MI-1040 Instructions, MI-1040CR line 20
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2022/BOOK_MI-1040.pdf#page=32
- title: 2023 MI-1040 Instructions, MI-1040CR line 20
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2023/BOOK_MI-1040.pdf#page=32
- title: 2024 MI-1040 Instructions, MI-1040CR line 20
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=32
- title: 2025 MI-1040 Instructions, MI-1040CR line 20
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=32
- title: 2025 MI-1040 Instructions, total household resources do not include the first $300 from gambling, bingo, lottery, awards, or prizes
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=27
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
description: Michigan excludes this amount of gifts in cash or kind from nongovernmental sources from household resources.
values:
# MCL 206.510(1)(a): a fixed amount in the statute, not indexed. The
# MI-1040CR counts "the value over $300 in gifts" on line 24, one amount
# for the claimant and spouse.
2021-01-01: 300
metadata:
unit: currency-USD
period: year
label: Michigan household resources gift exclusion
reference:
- title: MCL 206.510(1)(a), "The first $300.00 of gifts in cash or kind from nongovernmental sources"
href: https://www.legislature.mi.gov/Laws/MCL?objectName=mcl-206-510
- title: 2022 MI-1040 Instructions, MI-1040CR line 24
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2022/BOOK_MI-1040.pdf#page=32
- title: 2023 MI-1040 Instructions, MI-1040CR line 24
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2023/BOOK_MI-1040.pdf#page=32
- title: 2024 MI-1040 Instructions, MI-1040CR line 24
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=32
- title: 2025 MI-1040 Instructions, MI-1040CR line 24
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=32
- title: 2025 MI-1040 Instructions, total household resources do not include the first $300 in gifts of cash or merchandise
href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=27
Original file line number Diff line number Diff line change
Expand Up @@ -1089,6 +1089,273 @@
# Line 33: 10,000 - 1,000 - 1,000 = 8,000.
mi_household_resources: 8_000

# Line 31 (2025 MI-1040 book, pages 32 and 33): "insurance premiums you paid
# for yourself and your family ... Do not include any insurance premiums
# deducted on lines 21 or 30". Line 30 includes the self-employed health
# insurance deduction (Schedule 1 line 17), so a premium deducted there is
# not subtracted again on line 31.

- name: A self-employed claimant's premiums are subtracted once, on line 30
period: 2025
input:
self_employment_income: 50_000
is_self_employed: true
health_insurance_premiums: 5_000
state_code: MI
output:
# Line 16: Schedule C 50,000.
# Line 30: deduction for self-employment tax, half of 50,000 x 0.9235 x
# 15.3% = 3,532.39, plus the self-employed health insurance deduction,
# the lesser of the 5,000 premiums and the 50,000 net earnings = 5,000.
# 8,532.39 in all.
# Line 31: premiums of 5,000, less the 5,000 deducted on line 30 = 0.
# Line 33: 50,000 - 8,532.39 - 0 = 41,467.61. Subtracting the premiums
# on both lines would give 36,467.61.
mi_household_resources: 41_467.61
absolute_error_margin: 0.01

- name: Premiums above the self-employed health insurance deduction stay on line 31
period: 2025
input:
employment_income_before_lsr: 40_000
self_employment_income: 3_000
is_self_employed: true
health_insurance_premiums: 5_000
state_code: MI
output:
# Line 14: 40,000. Line 16: 3,000.
# Line 30: deduction for self-employment tax, half of 3,000 x 0.9235 x
# 15.3% = 211.94, plus the self-employed health insurance deduction,
# limited to the 3,000 net earnings = 3,000. 3,211.94 in all.
# Line 31: premiums of 5,000, less the 3,000 deducted on line 30 = 2,000.
# Line 33: 43,000 - 3,211.94 - 2,000 = 37,788.06. The premiums come off
# once in all: 3,000 on line 30 and 2,000 on line 31.
mi_household_resources: 37_788.06
absolute_error_margin: 0.01

- name: A joint return subtracts each spouse's premiums once
period: 2025
input:
people:
person1:
age: 45
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
self_employment_income: 50_000
is_self_employed: true
health_insurance_premiums: 5_000
person2:
age: 44
is_tax_unit_head: false
is_tax_unit_spouse: true
is_tax_unit_dependent: false
employment_income_before_lsr: 30_000
health_insurance_premiums: 2_000
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MI
output:
# Line 14: 30,000. Line 16: 50,000.
# Line 30: 3,532.39 for self-employment tax plus the head's 5,000
# self-employed health insurance deduction = 8,532.39. The spouse is not
# self-employed, so the spouse's premiums are not on line 30.
# Line 31: premiums of 5,000 + 2,000 = 7,000, less the 5,000 deducted on
# line 30 = 2,000.
# Line 33: 80,000 - 8,532.39 - 2,000 = 69,467.61.
mi_household_resources: 69_467.61
absolute_error_margin: 0.01

- name: Medicare premiums withheld from Social Security are subtracted once
period: 2025
input:
age: 70
social_security_retirement: 20_000
health_insurance_premiums: 2_220
state_code: MI
output:
# The form puts Medicare premiums withheld from benefits on line 21:
# "Medicare premiums reported on your Social Security or Railroad
# Retirement statement should be deducted" (page 32), so line 21 is
# 20,000 - 2,220 = 17,780 and line 31 leaves them out. MCL 206.510(1)(h)
# excludes "Amounts deducted from monthly social security or railroad
# retirement benefits for medicare premiums" from income.
# The model enters gross benefits on line 21 and the premiums on line
# 31: 20,000 - 2,220. Either way the premiums come off once.
# Line 33: 17,780.
mi_household_resources: 17_780

# MCL 206.510(1): income does not include "(a) The first $300.00 of gifts in
# cash or kind from nongovernmental sources" or "(b) The first $300.00
# received from awards, prizes, lottery, bingo, or other gambling winnings".
# The MI-1040CR enters "awards, prizes, lottery, bingo, and other gambling
# winnings over $300" on line 20 and "the value over $300 in gifts of cash or
# merchandise received, or expenses paid on your behalf ... by parents,
# relatives, or friends" on line 24 (2025 MI-1040 book, page 32), each once
# for the claimant and spouse.

- name: Gambling winnings below $300 are not household resources
period: 2025
input:
employment_income_before_lsr: 20_000
gambling_winnings: 200
state_code: MI
output:
# Line 14: 20,000. Line 20: winnings over $300 = 0.
mi_household_resources: 20_000

- name: Gambling winnings of exactly $300 are not household resources
period: 2025
input:
employment_income_before_lsr: 20_000
gambling_winnings: 300
state_code: MI
output:
# Line 20: 300 - 300 = 0.
mi_household_resources: 20_000

- name: Gambling winnings above $300 count over $300
period: 2025
input:
employment_income_before_lsr: 20_000
gambling_winnings: 1_000
state_code: MI
output:
# Line 20: 1,000 - 300 = 700.
# Line 33: 20,000 + 700 = 20,700.
mi_household_resources: 20_700

- name: The $300 gambling exclusion applies once to a married couple
period: 2025
input:
people:
person1:
age: 45
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
employment_income_before_lsr: 20_000
gambling_winnings: 200
person2:
age: 44
is_tax_unit_head: false
is_tax_unit_spouse: true
is_tax_unit_dependent: false
gambling_winnings: 200
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MI
output:
# Line 20 is one amount for the claimant and spouse: winnings of
# 200 + 200 = 400, over $300 = 100.
# Line 33: 20,000 + 100 = 20,100.
mi_household_resources: 20_100

- name: Gifts below $300 are not household resources
period: 2025
input:
employment_income_before_lsr: 20_000
financial_assistance: 200
state_code: MI
output:
# Line 24: cash gifts from relatives or friends over $300 = 0.
mi_household_resources: 20_000

- name: Gifts of exactly $300 are not household resources
period: 2025
input:
employment_income_before_lsr: 20_000
financial_assistance: 300
state_code: MI
output:
# Line 24: 300 - 300 = 0.
mi_household_resources: 20_000

- name: Gifts above $300 count over $300
period: 2025
input:
employment_income_before_lsr: 20_000
financial_assistance: 1_000
state_code: MI
output:
# Line 24: 1,000 - 300 = 700. Gifts are excluded from federal gross
# income (IRC 102), and total household resources include income
# excluded from AGI (MCL 206.510(1)).
# Line 33: 20,000 + 700 = 20,700.
mi_household_resources: 20_700

- name: The $300 gift exclusion applies once to a married couple
period: 2025
input:
people:
person1:
age: 45
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
employment_income_before_lsr: 20_000
financial_assistance: 250
person2:
age: 44
is_tax_unit_head: false
is_tax_unit_spouse: true
is_tax_unit_dependent: false
financial_assistance: 250
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: MI
output:
# Line 24: gifts of 250 + 250 = 500, over $300 = 200.
# Line 33: 20,000 + 200 = 20,200.
mi_household_resources: 20_200

- name: Gambling winnings and gifts each have their own $300 exclusion
period: 2025
input:
employment_income_before_lsr: 20_000
gambling_winnings: 500
financial_assistance: 500
state_code: MI
output:
# Line 20: 500 - 300 = 200. Line 24: 500 - 300 = 200.
# Line 33: 20,000 + 200 + 200 = 20,400.
mi_household_resources: 20_400

- name: Miscellaneous taxable income counts in full on line 20
period: 2025
input:
employment_income_before_lsr: 20_000
miscellaneous_income: 1_000
state_code: MI
output:
# miscellaneous_income is other taxable income (26 CFR 1.61-14), in
# federal gross income, so it is not a gift. It is "other taxable
# income" on line 20, and the $300 exclusion covers only awards, prizes,
# lottery, bingo and other gambling winnings.
# Line 33: 20,000 + 1,000 = 21,000.
mi_household_resources: 21_000

- name: A supplied self-employed health insurance deduction comes off line 30
period: 2025
input:
Expand Down
Loading
Loading