diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..9aae5c72ffa 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + changed: + - Update Michigan 2025 Individual Income Tax Model parameters diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/eitc/match.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/eitc/match.yaml index 5b0db5f99b8..6d6884aa763 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/eitc/match.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/eitc/match.yaml @@ -10,8 +10,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/MI-1040.pdf#page=2 - title: 2023 MICHIGAN Individual Income Tax Return MI-1040 Form, Line 27 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040.pdf#page=2 - - title: Michigan 2024 Indiviudal Income Tax Instructions, Line 27 + - title: Michigan 2024 Individual Income Tax Instructions, Line 27 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=11 + - title: Michigan 2025 Individual Income Tax Instructions, Line 27 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=11 values: 2008-01-01: 0.1 2009-01-01: 0.2 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/cap.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/cap.yaml index a6d5e8b4246..9c293a94b3a 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/cap.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/cap.yaml @@ -21,8 +21,11 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=2 - title: 2024 MI-1040CR Tax Form, Line 38 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040CR.pdf#page=2 + - title: 2025 MI-1040CR Tax Form, Line 38 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=2 values: 2018-01-01: 1_500 2022-01-01: 1_600 2023-01-01: 1_700 2024-01-01: 1_800 + 2025-01-01: 1_900 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/non_senior_disabled.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/non_senior_disabled.yaml index 7e4204b7770..363b527341b 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/non_senior_disabled.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/non_senior_disabled.yaml @@ -20,6 +20,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=2 - title: 2024 MI-1040CR Tax Form, Line 34 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040CR.pdf#page=2 + - title: 2025 MI-1040CR Tax Form, Line 34 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=2 values: 2017-01-01: 0.035 2018-01-01: 0.032 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/senior_disabled.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/senior_disabled.yaml index b06c5ceddc5..a4744d11702 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/senior_disabled.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/exemption/senior_disabled.yaml @@ -41,3 +41,5 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=32 - title: 2024 MI-1040 Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=32 + - title: 2025 MI-1040 Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=32 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/property_value_limit.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/property_value_limit.yaml index 8c542668309..89b4994d425 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/property_value_limit.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/property_value_limit.yaml @@ -21,8 +21,11 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=1 - title: 2024 MI-1040CR Tax Form, Line 9 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040CR.pdf#page=1 + - title: 2025 MI-1040CR Tax Form, Line 9 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=1 values: 2021-01-01: 135_000 2022-01-01: 143_000 2023-01-01: 154_400 2024-01-01: 160_700 + 2025-01-01: 165_400 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/non_senior_disabled.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/non_senior_disabled.yaml index a40d00d0e44..678a5cdccc9 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/non_senior_disabled.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/non_senior_disabled.yaml @@ -16,5 +16,7 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=2 - title: 2024 MI-1040CR Tax Form, Line 41 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040CR.pdf#page=2 + - title: 2025 MI-1040CR Tax Form, Line 41 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=2 values: 2017-01-01: 0.6 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/alternate.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/alternate.yaml index 68ab8643bfd..7a50cc95af1 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/alternate.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/alternate.yaml @@ -18,5 +18,7 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=2 - title: 2024 MI-1040 Instructions, MI 1040CR Worksheet 5 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 Worksheet 5 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=32 values: 2021-01-01: 0.4 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/base.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/base.yaml index 33eb0967f0a..1f420a6c574 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/base.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rate/senior/base.yaml @@ -59,6 +59,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=32 - title: 2024 MI-1040 Instructions, MI 1040CR Table A 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 Table A + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=32 - title: Michigan Income Tax Act 206.522 - (1)(b) href: http://legislature.mi.gov/doc.aspx?mcl-206-522 - title: 2021 Michigan Taxpayer Assistance Manual diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/increment.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/increment.yaml index 3ea37fd09d9..4da60d87e25 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/increment.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/increment.yaml @@ -11,6 +11,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=33 - title: 2024 MI-1040 Instructions, MI 1040CR Table B href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=33 + - title: 2025 MI-1040 Instructions, MI 1040CR Table B + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=33 - title: Michigan Income Tax Act 206.520 - (8) href: http://legislature.mi.gov/doc.aspx?mcl-206-520 - title: 2021 Michigan Taxpayer Assistance Manual diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/rate.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/rate.yaml index 00e50333bd1..cc1ec3e4a20 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/rate.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/rate.yaml @@ -10,6 +10,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=33 - title: 2024 MI-1040 Instructions, MI 1040CR Table B href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=33 + - title: 2025 MI-1040 Instructions, MI 1040CR Table B + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=33 - title: Michigan Income Tax Act 206.520 - (8) href: http://legislature.mi.gov/doc.aspx?mcl-206-520 - title: 2021 Michigan Taxpayer Assistance Manual diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/start.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/start.yaml index 801a5173019..377ce969814 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/start.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/reduction/start.yaml @@ -15,6 +15,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=33 - title: 2024 MI-1040 Instructions, MI 1040CR Table B href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=33 + - title: 2025 MI-1040CR Tax Form + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=2 - title: Michigan Income Tax Act 206.520 - (8) href: http://legislature.mi.gov/doc.aspx?mcl-206-520 - title: 2021 Michigan Taxpayer Assistance Manual @@ -29,3 +31,4 @@ values: 2022-01-01: 54_000 2023-01-01: 58_300 2024-01-01: 60_700 + 2025-01-01: 62_500 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rent_equivalization.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rent_equivalization.yaml index 365d98713db..4536b55de04 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rent_equivalization.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/credits/homestead_property_tax/rent_equivalization.yaml @@ -19,6 +19,8 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/MI-1040CR.pdf#page=1 - title: 2024 MI-1040CR Tax Form, Line 12 href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040CR.pdf#page=1 + - title: 2025 MI-1040CR Tax Form, Line 12 + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf#page=1 values: 2017-01-01: 0.2 2018-01-01: 0.23 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_one/amount.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_one/amount.yaml index b32bd6538c7..60a4a083d5e 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_one/amount.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_one/amount.yaml @@ -18,8 +18,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=17 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=19 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan Retirement and Pension Benefits - 2025 Tax Year + href: https://www.michigan.gov/taxes/iit/tax-guidance/tax-situations/retirement-and-pension-benefits # 2021 manual contains values dating to 2017. - title: 2021 Michigan Taxpayer Assistance Manual href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=10 @@ -35,6 +37,7 @@ SINGLE: 2022-01-01: 56_961 2023-01-01: 61_518 2024-01-01: 64_040 + 2025-01-01: 65_897 JOINT: 2017-01-01: 101_019 @@ -45,6 +48,7 @@ JOINT: 2022-01-01: 113_922 2023-01-01: 123_036 2024-01-01: 128_080 + 2025-01-01: 131_794 SURVIVING_SPOUSE: 2017-01-01: 50_509 @@ -55,6 +59,7 @@ SURVIVING_SPOUSE: 2022-01-01: 56_961 2023-01-01: 61_518 2024-01-01: 64_040 + 2025-01-01: 65_897 HEAD_OF_HOUSEHOLD: 2017-01-01: 50_509 @@ -65,6 +70,7 @@ HEAD_OF_HOUSEHOLD: 2022-01-01: 56_961 2023-01-01: 61_518 2024-01-01: 64_040 + 2025-01-01: 65_897 SEPARATE: 2017-01-01: 50_509 @@ -75,3 +81,4 @@ SEPARATE: 2022-01-01: 56_961 2023-01-01: 61_518 2024-01-01: 64_040 + 2025-01-01: 65_897 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/age_eligibility.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/age_eligibility.yaml index e06005d454a..1966910b72f 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/age_eligibility.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/age_eligibility.yaml @@ -29,8 +29,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=17 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=20 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=20 - title: 2021 Michigan Taxpayer Assistance Manual href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=42 - title: 2023 Michigan Taxpayer Assistance Manual diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/not_retired/amount.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/not_retired/amount.yaml index 362da8ea32a..812ddb6675e 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/not_retired/amount.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/not_retired/amount.yaml @@ -17,8 +17,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=17 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=20 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=20 - title: 2021 Michigan Taxpayer Assistance Manual href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=42 - title: 2023 Michigan Taxpayer Assistance Manual diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/both_qualifying_amount.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/both_qualifying_amount.yaml index 0bf986e0f1d..3afbf449fb3 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/both_qualifying_amount.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/both_qualifying_amount.yaml @@ -12,8 +12,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=18 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=20 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=20 - title: Michigan Retirement and Pension Benefits href: https://www.michigan.gov/taxes/iit/retirement-and-pension-benefits # 2021 manual contains values dating to 2017. diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/retirement_year.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/retirement_year.yaml index 9ce83ab78f1..d13f28a1f41 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/retirement_year.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/retirement_year.yaml @@ -14,8 +14,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=18 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=20 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=20 - title: Michigan Retirement and Pension Benefits href: https://www.michigan.gov/taxes/iit/retirement-and-pension-benefits # 2021 manual contains values dating to 2017. diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/single_qualifying_amount.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/single_qualifying_amount.yaml index 6be04f8daf9..edcd540c9c9 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/single_qualifying_amount.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/retirement_benefits/tier_three/ss_exempt/retired/single_qualifying_amount.yaml @@ -12,8 +12,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=18 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=20 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=20 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=20 - title: Michigan Retirement and Pension Benefits href: https://www.michigan.gov/taxes/iit/retirement-and-pension-benefits # 2021 manual contains values dating to 2017. diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_three/amount.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_three/amount.yaml index c6a31e66d8f..554145673b6 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_three/amount.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_three/amount.yaml @@ -10,8 +10,10 @@ metadata: href: http://legislature.mi.gov/doc.aspx?mcl-206-30 - title: Michigan Standard Deduction href: https://www.michigan.gov/taxes/iit/retirement-and-pension-benefits/michigan-standard-deduction - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=17 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=17 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=17 - title: Michigan 2022 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_two/amount/base.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_two/amount/base.yaml index b888bfdbbfa..36e40966a3d 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_two/amount/base.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/deductions/standard/tier_two/amount/base.yaml @@ -14,8 +14,10 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=15 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=16 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=17 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=17 # 2021 manual contains values dating to 2017. - title: 2021 Michigan Taxpayer Assistance Manual href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=10 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/dependent_on_other_return.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/dependent_on_other_return.yaml index b41b5949e0c..ff28cf0a2b8 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/dependent_on_other_return.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/dependent_on_other_return.yaml @@ -22,8 +22,10 @@ metadata: href: https://www.legislature.mi.gov/Publications/TaxpayerGuide.pdf#page=23 - title: 2021 Michigan Taxpayer Assistance Manual href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=35 - - title: Michigan 2024 Indiviudal Income Tax Instructions, Line 9e + - title: Michigan 2024 Individual Income Tax Instructions, Line 9e href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=10 + - title: Michigan 2025 Individual Income Tax Instructions, Line 9e + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=10 - title: 2023 Michigan 1040 Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=10 - title: 2022 Michigan 1040 Instructions diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/base.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/base.yaml index 8f7c70aefef..cf6e77cf91e 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/base.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/base.yaml @@ -6,6 +6,7 @@ values: 2022-01-01: 2_900 2023-01-01: 3_100 2024-01-01: 3_300 + 2025-01-01: 3_400 metadata: period: year @@ -27,5 +28,7 @@ metadata: href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=10 - title: 2023 MI-1040 Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=3 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=13 + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/veteran.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/veteran.yaml index 063e6e9f362..8751860e78b 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/veteran.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/disabled/amount/veteran.yaml @@ -20,5 +20,7 @@ metadata: href: https://www.michigan.gov/-/media/Project/Websites/taxes/2022RM/UNCAT/2019_Taxpayer_Assistance_Manual.pdf#page=10 - title: 2023 MI-1040 Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=3 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=3 + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/personal.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/personal.yaml index e2741ab7a36..c3fe0073359 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/personal.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/exemptions/personal.yaml @@ -8,6 +8,7 @@ values: 2022-01-01: 5_000 2023-01-01: 5_400 2024-01-01: 5_600 + 2025-01-01: 5_800 metadata: period: year @@ -31,6 +32,8 @@ metadata: href: https://www.michigan.gov/taxes/business-taxes/withholding/withholding-tax-faqs/what-is-michigans-2023-personal-exemption-amount - title: 2023 MI-1040 Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=3 - - title: Michigan 2024 Indiviudal Income Tax Instructions, Line 9a + - title: Michigan 2024 Individual Income Tax Instructions, Line 9a href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=13 + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml index ff56df04157..39480a52589 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml @@ -41,7 +41,9 @@ metadata: href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2022/2022-IIT-Forms/BOOK_MI-1040.pdf#page=31 - title: 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=31 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=31 + - title: Michigan 2025 Individual Income Tax Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf#page=31 - 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/ diff --git a/policyengine_us/parameters/gov/states/mi/tax/income/rate.yaml b/policyengine_us/parameters/gov/states/mi/tax/income/rate.yaml index 10e31add1f2..04d09723acf 100644 --- a/policyengine_us/parameters/gov/states/mi/tax/income/rate.yaml +++ b/policyengine_us/parameters/gov/states/mi/tax/income/rate.yaml @@ -4,17 +4,21 @@ values: 2013-01-01: 0.0425 2023-01-01: 0.0405 2024-01-01: 0.0425 + # 2025 rate remains at 4.25% per Michigan Treasury notice + 2025-01-01: 0.0425 metadata: period: year unit: /1 label: Michigan income tax rate reference: - title: Michigan INCOME TAX ACT OF 1967 Chapter 2, 206.51, Sec. 51, (1) - href: http://www.legislature.mi.gov/documents/mcl/pdf/mcl-act-281-of-1967.pdf + href: http://www.legislature.mi.gov/documents/mcl/pdf/mcl-act-281-of-1967.pdf#page=60 - title: Michigan 2023 MI-1040 Individual Income Tax FORMS AND INSTRUCTIONS href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/2023/2023-IIT-Forms/BOOK_MI-1040.pdf#page=3 - - title: Michigan 2024 Indiviudal Income Tax Instructions + - title: Michigan 2024 Individual Income Tax Instructions href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/MI-1040-Instructions.pdf#page=3 - # The 2024 adjustment is not reflected in the legal code + # The 2024 adjustment is not reflected in the legal code - title: Michigan Income Tax Rate Change Overview href: https://www.michigan.gov/taxes/questions/tax-faqs/income-tax-rate-change/income-tax-rate-change-overview + - title: 2025 Tax Year Income Tax Rate for Individuals and Fiduciaries + href: https://www.michigan.gov/treasury/reference/taxpayer-notices/2025-tax-year-income-tax-rate-for-individuals-and-fiduciaries diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/integration.yaml index bec693a2881..edf07d41ba2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/integration.yaml @@ -321,3 +321,82 @@ mi_allowable_homestead_property_tax_credit: 1_600 mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_600 mi_homestead_property_tax_credit: 1_600 + +# 2025 test cases +# Property value limit: $165,400 +# Credit cap: $1,900 +# Reduction start: $62,500 +- name: 2025 property value exceeds limit, ineligible + period: 2025 + input: + employment_income: 30_000 + assessed_property_value: 165_401 + real_estate_taxes: 2_000 + state_code: MI + output: + # Property value > $165,400 limit = ineligible + mi_homestead_property_tax_credit_eligible: false + mi_homestead_property_tax_credit: 0 + +- name: 2025 income below reduction threshold, 100% credit + period: 2025 + absolute_error_margin: 0.1 + input: + employment_income: 20_000 + ssi: 0 + real_estate_taxes: 1_500 + age: 66 + state_code: MI + output: + # Senior with income $20,000 (below $62,500 reduction start) + # Exemption: $1,500 - $20,000 * 0.032 = $1,500 - $640 = $860 + # Credit cap for 2025: $1,900 + # 100% credit rate (income below threshold) + mi_homestead_property_tax_credit_countable_property_tax: 1_500 + mi_homestead_property_tax_credit_household_resource_exemption: 860 + mi_homestead_property_tax_credit_eligible: true + mi_homestead_property_tax_credit: 860 + +- name: 2025 income above reduction start threshold, 50% credit + period: 2025 + absolute_error_margin: 0.1 + input: + employment_income: 67_000 + ssi: 0 + real_estate_taxes: 4_000 + mi_is_senior_for_tax: false + state_code: MI + output: + # Income $67,000 = $62,500 + 4.5 * $1,000 = 50% credit rate (5 increments above start) + # Countable property tax: $4,000 + # Non-refundable: $67,000 * 0.032 = $2,144 + # Exemption: $4,000 - $2,144 = $1,856 + # Allowable: $1,856 * 0.6 = $1,113.6 + # Credit at 50%: $1,113.6 * 0.5 = $556.8 + mi_homestead_property_tax_credit_countable_property_tax: 4_000 + mi_homestead_property_tax_credit_household_resource_exemption: 1_856 + mi_homestead_property_tax_credit_eligible: true + mi_allowable_homestead_property_tax_credit: 1_113.6 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 556.8 + mi_homestead_property_tax_credit: 556.8 + +- name: 2025 credit hits cap at $1,900 + period: 2025 + absolute_error_margin: 0.1 + input: + employment_income: 20_000 + ssi: 0 + real_estate_taxes: 5_000 + age: 66 + state_code: MI + output: + # Senior with low income, high property taxes + # Countable property tax: $5,000 + # Non-refundable: $20,000 * 0.032 = $640 + # Exemption: $5,000 - $640 = $4,360 + # 2025 credit cap: $1,900 + mi_homestead_property_tax_credit_countable_property_tax: 5_000 + mi_homestead_property_tax_credit_household_resource_exemption: 4_360 + mi_homestead_property_tax_credit_eligible: true + mi_allowable_homestead_property_tax_credit: 1_900 + mi_homestead_property_tax_credit: 1_900 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_allowable_homestead_property_tax_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_allowable_homestead_property_tax_credit.yaml index c1728168139..e323af33178 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_allowable_homestead_property_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_allowable_homestead_property_tax_credit.yaml @@ -21,7 +21,7 @@ mi_homestead_property_tax_credit_household_resource_exemption: 1_000 mi_is_senior_for_tax: true mi_homestead_property_tax_credit_eligible: false - output: + output: mi_allowable_homestead_property_tax_credit: 0 - name: senior, 100% credit @@ -31,9 +31,9 @@ mi_homestead_property_tax_credit_household_resource_exemption: 860 mi_is_senior_for_tax: true mi_homestead_property_tax_credit_eligible: true - output: + output: mi_allowable_homestead_property_tax_credit: 860 - + - name: senior, 84% credit period: 2022 input: @@ -50,7 +50,7 @@ disabled_tax_unit_head_or_spouse: true mi_homestead_property_tax_credit_household_resource_exemption: 1_300 mi_homestead_property_tax_credit_eligible: true - output: + output: mi_allowable_homestead_property_tax_credit: 1_300 - name: senior, disabled @@ -60,9 +60,9 @@ mi_homestead_property_tax_credit_household_resource_exemption: 1_300 mi_is_senior_for_tax: true mi_homestead_property_tax_credit_eligible: true - output: + output: mi_allowable_homestead_property_tax_credit: 1_300 - + - name: larger than max period: 2022 input: @@ -70,3 +70,81 @@ mi_homestead_property_tax_credit_eligible: true output: # 2800 * 0.6 > 1600 mi_allowable_homestead_property_tax_credit: 1_600 + +# ============================================================================ +# 2025 EDGE CASE TESTS - Credit Cap ($1,900) +# ============================================================================ + +# Edge case: Credit exactly at 2025 cap +- name: Case 1, 2025 edge case credit exactly at $1,900 cap. + period: 2025 + input: + mi_homestead_property_tax_credit_household_resource_exemption: 3_167 + mi_homestead_property_tax_credit_eligible: true + output: + # Exemption * 0.6 = $3,167 * 0.6 = $1,900.2 -> capped at $1,900 + mi_allowable_homestead_property_tax_credit: 1_900 + +# Edge case: Credit one dollar below cap +- name: Case 2, 2025 edge case credit $1,899 just below cap. + period: 2025 + input: + mi_homestead_property_tax_credit_household_resource_exemption: 3_165 + mi_homestead_property_tax_credit_eligible: true + output: + # Exemption * 0.6 = $3,165 * 0.6 = $1,899 (below cap) + mi_allowable_homestead_property_tax_credit: 1_899 + +# Edge case: Credit would be well above cap +- name: Case 3, 2025 edge case credit would exceed cap significantly. + period: 2025 + input: + mi_homestead_property_tax_credit_household_resource_exemption: 5_000 + mi_homestead_property_tax_credit_eligible: true + output: + # Exemption * 0.6 = $5,000 * 0.6 = $3,000 -> capped at $1,900 + mi_allowable_homestead_property_tax_credit: 1_900 + +# Edge case: Senior with exemption at cap +- name: Case 4, 2025 edge case senior at credit cap. + period: 2025 + input: + mi_household_resources: 20_000 + mi_homestead_property_tax_credit_household_resource_exemption: 2_500 + mi_is_senior_for_tax: true + mi_homestead_property_tax_credit_eligible: true + output: + # Senior 100% rate at $20,000 income + # $2,500 exemption * 1.0 = $2,500 -> capped at $1,900 + mi_allowable_homestead_property_tax_credit: 1_900 + +# Edge case: Disabled head or spouse at cap +- name: Case 5, 2025 edge case disabled at credit cap. + period: 2025 + input: + disabled_tax_unit_head_or_spouse: true + mi_homestead_property_tax_credit_household_resource_exemption: 2_500 + mi_homestead_property_tax_credit_eligible: true + output: + # Disabled gets 100% of exemption, capped at $1,900 + mi_allowable_homestead_property_tax_credit: 1_900 + +# Edge case: Zero exemption +- name: Case 6, 2025 edge case zero exemption. + period: 2025 + input: + mi_homestead_property_tax_credit_household_resource_exemption: 0 + mi_homestead_property_tax_credit_eligible: true + output: + # Zero exemption = zero credit + mi_allowable_homestead_property_tax_credit: 0 + +# Edge case: Small exemption +- name: Case 7, 2025 edge case small exemption $100. + period: 2025 + input: + mi_homestead_property_tax_credit_household_resource_exemption: 100 + mi_homestead_property_tax_credit_eligible: true + output: + # $100 * 0.6 = $60 (well below cap) + mi_allowable_homestead_property_tax_credit: 60 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_eligible.yaml index f233b2aee94..2b4998ee868 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_eligible.yaml @@ -3,7 +3,7 @@ input: assessed_property_value: 143_000 state_code: MI - output: + output: mi_homestead_property_tax_credit_eligible: true - name: property value larger than max @@ -11,5 +11,96 @@ input: assessed_property_value: 143_001 state_code: MI - output: + output: mi_homestead_property_tax_credit_eligible: false + +# 2025 test cases - property value limit is $165,400 +- name: 2025 property value at limit, eligible + period: 2025 + input: + assessed_property_value: 165_400 + state_code: MI + output: + # 2025 property value limit: $165,400 + mi_homestead_property_tax_credit_eligible: true + +- name: 2025 property value above limit, ineligible + period: 2025 + input: + assessed_property_value: 165_401 + state_code: MI + output: + # Property value exceeds 2025 limit of $165,400 + mi_homestead_property_tax_credit_eligible: false + +- name: 2025 property value well below limit + period: 2025 + input: + assessed_property_value: 100_000 + state_code: MI + output: + mi_homestead_property_tax_credit_eligible: true + +# ============================================================================ +# 2025 EDGE CASE TESTS - Property Value Limit ($165,400) +# ============================================================================ + +# Edge case: Property value exactly at limit (boundary test) +- name: Case 1, 2025 edge case property value exactly at $165,400 limit. + period: 2025 + input: + assessed_property_value: 165_400 + state_code: MI + output: + # Boundary: exactly at $165,400 = eligible (uses <= comparison) + mi_homestead_property_tax_credit_eligible: true + +# Edge case: Property value one dollar below limit +- name: Case 2, 2025 edge case property value $165,399 just under limit. + period: 2025 + input: + assessed_property_value: 165_399 + state_code: MI + output: + # Just under limit: $165,399 < $165,400 = eligible + mi_homestead_property_tax_credit_eligible: true + +# Edge case: Property value one dollar above limit +- name: Case 3, 2025 edge case property value $165,401 just over limit. + period: 2025 + input: + assessed_property_value: 165_401 + state_code: MI + output: + # Just over limit: $165,401 > $165,400 = ineligible + mi_homestead_property_tax_credit_eligible: false + +# Edge case: Zero property value (renter or no property) +- name: Case 4, 2025 edge case zero property value. + period: 2025 + input: + assessed_property_value: 0 + state_code: MI + output: + # Zero property value: $0 <= $165,400 = eligible + mi_homestead_property_tax_credit_eligible: true + +# Edge case: Very high property value (stress test) +- name: Case 5, 2025 edge case very high property value $500,000. + period: 2025 + input: + assessed_property_value: 500_000 + state_code: MI + output: + # High value: $500,000 > $165,400 = ineligible + mi_homestead_property_tax_credit_eligible: false + +# Edge case: Property value at 50% of limit +- name: Case 6, 2025 edge case property value at half of limit. + period: 2025 + input: + assessed_property_value: 82_700 + state_code: MI + output: + # Half of limit: $82,700 < $165,400 = eligible + mi_homestead_property_tax_credit_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_pre_alternate_senior_amount.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_pre_alternate_senior_amount.yaml index 681ae56c9e0..56935067cba 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_pre_alternate_senior_amount.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/homestead_property_tax/mi_homestead_property_tax_credit_pre_alternate_senior_amount.yaml @@ -40,7 +40,7 @@ mi_household_resources: 54_000 mi_allowable_homestead_property_tax_credit: 1_600 mi_homestead_property_tax_credit_eligible: true - output: + output: mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_600 - name: 20% credit @@ -61,3 +61,130 @@ mi_homestead_property_tax_credit_eligible: true output: # 1215 * 0.1 mi_homestead_property_tax_credit_pre_alternate_senior_amount: 121.5 + +# ============================================================================ +# 2025 EDGE CASE TESTS - Income Reduction Threshold ($62,500) +# Phase out: 10% reduction per $1,000 increment above $62,500 +# At $71,500+ (9 increments * 10% = 90% reduction) credit is fully phased out +# ============================================================================ + +# Edge case: Income exactly at reduction start threshold +- name: Case 1, 2025 edge case income exactly at $62,500 reduction start. + period: 2025 + input: + mi_household_resources: 62_500 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # At exactly $62,500 = 100% credit (0 increments above start) + # Phase out rate = max(1 - 0 * 0.1, 0) = 1.0 + # Credit = $1,500 * 1.0 = $1,500 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_500 + +# Edge case: Income one dollar below reduction start +- name: Case 2, 2025 edge case income $62,499 just below reduction start. + period: 2025 + input: + mi_household_resources: 62_499 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $62,499 < $62,500 = 100% credit + # Phase out rate = max(1 - 0 * 0.1, 0) = 1.0 + # Credit = $1,500 * 1.0 = $1,500 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_500 + +# Edge case: Income one dollar above reduction start (first increment) +- name: Case 3, 2025 edge case income $62,501 just above reduction start. + period: 2025 + input: + mi_household_resources: 62_501 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $62,501 = $62,500 + $1 = 1 increment above start + # Increments = ceil($1 / $1,000) = 1 + # Phase out rate = max(1 - 1 * 0.1, 0) = 0.9 + # Credit = $1,500 * 0.9 = $1,350 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_350 + +# Edge case: Income at first full increment ($63,500) +- name: Case 4, 2025 edge case income at $63,500 first full increment. + period: 2025 + input: + mi_household_resources: 63_500 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $63,500 = $62,500 + $1,000 = 1 increment + # Increments = ceil($1,000 / $1,000) = 1 + # Phase out rate = max(1 - 1 * 0.1, 0) = 0.9 + # Credit = $1,500 * 0.9 = $1,350 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_350 + +# Edge case: Income at 50% credit ($67,500 = 5 increments) +- name: Case 5, 2025 edge case income at $67,500 for 50 percent credit. + period: 2025 + input: + mi_household_resources: 67_500 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $67,500 = $62,500 + $5,000 = 5 increments + # Increments = ceil($5,000 / $1,000) = 5 + # Phase out rate = max(1 - 5 * 0.1, 0) = 0.5 + # Credit = $1,500 * 0.5 = $750 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 750 + +# Edge case: Income at phase-out boundary ($71,500 = 9 increments, 10% credit) +- name: Case 6, 2025 edge case income at $71,500 phase out boundary. + period: 2025 + input: + mi_household_resources: 71_500 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $71,500 = $62,500 + $9,000 = 9 increments + # Increments = ceil($9,000 / $1,000) = 9 + # Phase out rate = max(1 - 9 * 0.1, 0) = 0.1 + # Credit = $1,500 * 0.1 = $150 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 150 + +# Edge case: Income just above phase-out ($72,500 = 10 increments, 0% credit) +- name: Case 7, 2025 edge case income at $72,500 fully phased out. + period: 2025 + input: + mi_household_resources: 72_500 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $72,500 = $62,500 + $10,000 = 10 increments + # Increments = ceil($10,000 / $1,000) = 10 + # Phase out rate = max(1 - 10 * 0.1, 0) = 0 + # Credit = $1,500 * 0 = $0 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 0 + +# Edge case: Very high income (stress test) +- name: Case 8, 2025 edge case very high income $100,000. + period: 2025 + input: + mi_household_resources: 100_000 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $100,000 = $62,500 + $37,500 = 38 increments + # Phase out rate = max(1 - 38 * 0.1, 0) = max(-2.8, 0) = 0 + # Credit = $1,500 * 0 = $0 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 0 + +# Edge case: Zero income +- name: Case 9, 2025 edge case zero household resources. + period: 2025 + input: + mi_household_resources: 0 + mi_allowable_homestead_property_tax_credit: 1_500 + mi_homestead_property_tax_credit_eligible: true + output: + # $0 < $62,500 = 100% credit + # Credit = $1,500 * 1.0 = $1,500 + mi_homestead_property_tax_credit_pre_alternate_senior_amount: 1_500 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/deductions/retirement/tier_one/mi_retirement_benefits_deduction_tier_one_amount.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/deductions/retirement/tier_one/mi_retirement_benefits_deduction_tier_one_amount.yaml index 3addca34a50..e3c7003b9f3 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/deductions/retirement/tier_one/mi_retirement_benefits_deduction_tier_one_amount.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/deductions/retirement/tier_one/mi_retirement_benefits_deduction_tier_one_amount.yaml @@ -45,7 +45,7 @@ state_code: MI output: # min(113922 - 1000 - 2000 - 20000 - 30000 = 60922, 20000 + 40000) + 20000 + 30000 mi_retirement_benefits_deduction_tier_one_amount: 110_000 - + - name: 2022 joint filer and their spouse with tier 1 retirement and pension benefits deduction larger than sum of taxable public pension income and taxable private pension income period: 2022 input: @@ -69,3 +69,326 @@ state_code: MI output: # min(113922 - 1000 - 2000 - 20000 - 30000 = 60922, 30000 + 40000) + 20000 + 30000 mi_retirement_benefits_deduction_tier_one_amount: 110_922 + +# 2025 test cases +# Single/HOH/Separate/Surviving Spouse limit: $65,897 +# Joint limit: $131,794 +- name: 2025 single filer with tier 1 retirement deduction + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 50_000 + taxable_private_pension_income: 10_000 + military_retirement_pay: 2_000 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # 2025 single limit: $65,897 + # Calculation: min($65,897 - $2,000 military - $50,000 public = $13,897, $10,000 private) + $50,000 public + # = min($13,897, $10,000) + $50,000 = $10,000 + $50,000 = $60,000 + mi_retirement_benefits_deduction_tier_one_amount: 60_000 + +- name: 2025 joint filers with tier 1 retirement deduction at limit + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 40_000 + taxable_private_pension_income: 25_000 + military_retirement_pay: 3_000 + is_tax_unit_head_or_spouse: true + person2: + taxable_public_pension_income: 30_000 + taxable_private_pension_income: 20_000 + military_retirement_pay: 2_000 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1, person2] + filing_status: JOINT + household: + members: [person1, person2] + state_code: MI + output: + # 2025 joint limit: $131,794 + # Total public pension: $40,000 + $30,000 = $70,000 + # Total private pension: $25,000 + $20,000 = $45,000 + # Total military: $3,000 + $2,000 = $5,000 + # Remaining after military and public: $131,794 - $5,000 - $70,000 = $56,794 + # min($56,794, $45,000) + $70,000 = $45,000 + $70,000 = $115,000 + mi_retirement_benefits_deduction_tier_one_amount: 115_000 + +- name: 2025 head of household with tier 1 retirement deduction + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 30_000 + taxable_private_pension_income: 40_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + household: + members: [person1] + state_code: MI + output: + # 2025 HOH limit: $65,897 + # Remaining after public: $65,897 - $30,000 = $35,897 + # min($35,897, $40,000) + $30,000 = $35,897 + $30,000 = $65,897 + mi_retirement_benefits_deduction_tier_one_amount: 65_897 + +# ============================================================================ +# 2025 EDGE CASE TESTS - Retirement Benefits Tier One +# Single/HOH/Separate/Surviving Spouse limit: $65,897 +# Joint limit: $131,794 +# ============================================================================ + +# Edge case: Pension income exactly at single limit +- name: Case 1, 2025 edge case pension exactly at $65,897 single limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 65_897 + taxable_private_pension_income: 0 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Public pension exactly at limit = fully deducted + # $65,897 public + $0 private = $65,897 + mi_retirement_benefits_deduction_tier_one_amount: 65_897 + +# Edge case: Pension income one dollar above single limit +- name: Case 2, 2025 edge case pension $65,898 just above single limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 65_898 + taxable_private_pension_income: 1_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Public pension exceeds limit by $1 + # Deduction is capped by limit: public is fully deductible up to limit + # Remaining cap after public: $65,897 - $65,898 = -$1 (no room for private) + # Total: $65,898 (all public is deductible) + min(max(0, -1), 1000) = $65,898 + mi_retirement_benefits_deduction_tier_one_amount: 65_898 + +# Edge case: Joint filers pension exactly at joint limit +- name: Case 3, 2025 edge case joint pension exactly at $131,794 limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 65_897 + taxable_private_pension_income: 0 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + person2: + taxable_public_pension_income: 65_897 + taxable_private_pension_income: 0 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1, person2] + filing_status: JOINT + household: + members: [person1, person2] + state_code: MI + output: + # Joint limit: $131,794 + # Total public: $65,897 + $65,897 = $131,794 (exactly at limit) + # Total deduction: $131,794 + mi_retirement_benefits_deduction_tier_one_amount: 131_794 + +# Edge case: Zero pension income +- name: Case 4, 2025 edge case zero pension income. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 0 + taxable_private_pension_income: 0 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Zero pension = zero deduction + mi_retirement_benefits_deduction_tier_one_amount: 0 + +# Edge case: Pension income significantly exceeds limit +- name: Case 5, 2025 edge case pension $200,000 exceeding single limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 150_000 + taxable_private_pension_income: 50_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Public pension: $150,000 (all deductible, exceeds cap but public is fully deductible) + # Remaining cap: $65,897 - $150,000 = -$84,103 (no room for private) + # Total: $150,000 public + $0 private = $150,000 + mi_retirement_benefits_deduction_tier_one_amount: 150_000 + +# Edge case: Only military retirement (reduces cap) +- name: Case 6, 2025 edge case military retirement only. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 0 + taxable_private_pension_income: 50_000 + military_retirement_pay: 20_000 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Cap: $65,897 + # Military reduces cap: $65,897 - $20,000 = $45,897 + # Public: $0 (further reduces: $45,897 - $0 = $45,897) + # Private capped: min($45,897, $50,000) = $45,897 + # Total: $0 public + $45,897 private = $45,897 + mi_retirement_benefits_deduction_tier_one_amount: 45_897 + +# Edge case: Surviving spouse with pension at limit +- name: Case 7, 2025 edge case surviving spouse at single limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 40_000 + taxable_private_pension_income: 30_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SURVIVING_SPOUSE + household: + members: [person1] + state_code: MI + output: + # Surviving spouse uses single limit: $65,897 + # Remaining after public: $65,897 - $40,000 = $25,897 + # Private capped: min($25,897, $30,000) = $25,897 + # Total: $40,000 + $25,897 = $65,897 + mi_retirement_benefits_deduction_tier_one_amount: 65_897 + +# Edge case: Married filing separately at single limit +- name: Case 8, 2025 edge case married filing separately at single limit. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 35_000 + taxable_private_pension_income: 35_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SEPARATE + household: + members: [person1] + state_code: MI + output: + # MFS uses single limit: $65,897 + # Remaining after public: $65,897 - $35,000 = $30,897 + # Private capped: min($30,897, $35,000) = $30,897 + # Total: $35,000 + $30,897 = $65,897 + mi_retirement_benefits_deduction_tier_one_amount: 65_897 + +# Edge case: Only private pension (no public) +- name: Case 9, 2025 edge case only private pension. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 0 + taxable_private_pension_income: 80_000 + military_retirement_pay: 0 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Cap: $65,897 + # Remaining after public (0): $65,897 - $0 = $65,897 + # Private capped: min($65,897, $80,000) = $65,897 + # Total: $0 + $65,897 = $65,897 + mi_retirement_benefits_deduction_tier_one_amount: 65_897 + +# Edge case: Small pension amounts +- name: Case 10, 2025 edge case small pension amounts. + period: 2025 + input: + people: + person1: + taxable_public_pension_income: 1_000 + taxable_private_pension_income: 500 + military_retirement_pay: 100 + is_tax_unit_head_or_spouse: true + tax_units: + tax_unit: + members: [person1] + filing_status: SINGLE + household: + members: [person1] + state_code: MI + output: + # Small amounts all deductible + # Cap: $65,897 - $100 military = $65,797 + # After public: $65,797 - $1,000 = $64,797 + # Private: min($64,797, $500) = $500 + # Total: $1,000 + $500 = $1,500 + mi_retirement_benefits_deduction_tier_one_amount: 1_500 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_disabled_exemption_eligible_person.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_disabled_exemption_eligible_person.yaml index 2ef7d988e64..6df16c1fc80 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_disabled_exemption_eligible_person.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_disabled_exemption_eligible_person.yaml @@ -41,3 +41,188 @@ state_code: MI output: mi_disabled_exemption_eligible_person: true + +# 2025 test cases - disabled exemption is $3,400 +- name: 2025 disabled eligible, permanently disabled + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 65 + state_code: MI + output: + mi_disabled_exemption_eligible_person: true + +- name: 2025 blind eligible + period: 2025 + input: + is_blind: true + is_deaf: false + is_permanently_and_totally_disabled: false + age: 50 + state_code: MI + output: + mi_disabled_exemption_eligible_person: true + +# ============================================================================ +# 2025 EDGE CASE TESTS - Disabled Exemption Eligibility +# Age limit for permanently disabled: 66 (must be under 66) +# Blind and deaf have no age restriction +# ============================================================================ + +# Edge case: Age exactly at boundary (65 - just under limit) +- name: Case 1, 2025 edge case age 65 permanently disabled eligible. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 65 + state_code: MI + output: + # Age 65 < 66 limit = eligible + mi_disabled_exemption_eligible_person: true + +# Edge case: Age exactly at limit (66 - at limit) +- name: Case 2, 2025 edge case age 66 permanently disabled ineligible. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 66 + state_code: MI + output: + # Age 66 >= 66 limit = ineligible (uses < comparison) + mi_disabled_exemption_eligible_person: false + +# Edge case: Age 67 (above limit) +- name: Case 3, 2025 edge case age 67 permanently disabled ineligible. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 67 + state_code: MI + output: + # Age 67 > 66 limit = ineligible + mi_disabled_exemption_eligible_person: false + +# Edge case: Young disabled person (age 0) +- name: Case 4, 2025 edge case age 0 permanently disabled eligible. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 0 + state_code: MI + output: + # Age 0 < 66 = eligible + mi_disabled_exemption_eligible_person: true + +# Edge case: Blind person above age limit (blind has no age limit) +- name: Case 5, 2025 edge case blind person age 80 eligible. + period: 2025 + input: + is_blind: true + is_deaf: false + is_permanently_and_totally_disabled: false + age: 80 + state_code: MI + output: + # Blind has no age restriction = eligible at any age + mi_disabled_exemption_eligible_person: true + +# Edge case: Deaf person above age limit (deaf has no age limit) +- name: Case 6, 2025 edge case deaf person age 75 eligible. + period: 2025 + input: + is_blind: false + is_deaf: true + is_permanently_and_totally_disabled: false + age: 75 + state_code: MI + output: + # Deaf has no age restriction = eligible at any age + mi_disabled_exemption_eligible_person: true + +# Edge case: Not disabled in any way +- name: Case 7, 2025 edge case not disabled at all. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: false + age: 50 + state_code: MI + output: + # Not disabled = ineligible + mi_disabled_exemption_eligible_person: false + +# Edge case: Multiple disability conditions (blind AND deaf) +- name: Case 8, 2025 edge case both blind and deaf. + period: 2025 + input: + is_blind: true + is_deaf: true + is_permanently_and_totally_disabled: false + age: 70 + state_code: MI + output: + # Either blind OR deaf qualifies = eligible + mi_disabled_exemption_eligible_person: true + +# Edge case: All three disability conditions +- name: Case 9, 2025 edge case all disability conditions. + period: 2025 + input: + is_blind: true + is_deaf: true + is_permanently_and_totally_disabled: true + age: 50 + state_code: MI + output: + # Any one condition qualifies = eligible + mi_disabled_exemption_eligible_person: true + +# Edge case: Permanently disabled but not blind/deaf, at age limit +- name: Case 10, 2025 edge case disabled but at age limit. + period: 2025 + input: + is_blind: false + is_deaf: false + is_permanently_and_totally_disabled: true + age: 66 + state_code: MI + output: + # Age 66 >= 66 limit AND only permanently disabled = ineligible + mi_disabled_exemption_eligible_person: false + +# Edge case: Over age limit but also blind (blind overrides age limit) +- name: Case 11, 2025 edge case over age limit but blind. + period: 2025 + input: + is_blind: true + is_deaf: false + is_permanently_and_totally_disabled: true + age: 70 + state_code: MI + output: + # Blind has no age limit, so eligible despite age > 66 + mi_disabled_exemption_eligible_person: true + +# Edge case: Very young child who is blind +- name: Case 12, 2025 edge case young blind child. + period: 2025 + input: + is_blind: true + is_deaf: false + is_permanently_and_totally_disabled: false + age: 5 + state_code: MI + output: + # Blind child = eligible + mi_disabled_exemption_eligible_person: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_exemptions.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_exemptions.yaml index f2891487801..f916a47b51d 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_exemptions.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_exemptions.yaml @@ -58,7 +58,7 @@ head_is_dependent_elsewhere: true filing_status: SINGLE state_code: MI - output: + output: mi_exemptions: 1_500 - name: not disabled, is a dependent, married @@ -68,5 +68,248 @@ head_is_dependent_elsewhere: true filing_status: JOINT state_code: MI - output: + output: mi_exemptions: 3_000 + +# 2025 test cases - personal exemption $5,800, disabled exemption $3,400 +- name: 2025 disabled person, not a dependent + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + members: [person1] + household: + members: [person1] + state_code: MI + output: + # $5,800 personal + $3,400 disabled = $9,200 + mi_exemptions: 9_200 + +- name: 2025 disabled veteran, not a dependent + period: 2025 + input: + people: + person1: + is_fully_disabled_service_connected_veteran: true + mi_disabled_exemption_eligible_person: true + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + members: [person1] + household: + members: [person1] + state_code: MI + output: + # $5,800 personal + $3,400 disabled + $500 veteran (2024+) = $9,700 + mi_exemptions: 9_700 + +- name: 2025 two disabled persons, one veteran + period: 2025 + input: + people: + person1: + is_fully_disabled_service_connected_veteran: false + mi_disabled_exemption_eligible_person: true + person2: + is_fully_disabled_service_connected_veteran: true + mi_disabled_exemption_eligible_person: true + tax_units: + tax_unit: + mi_personal_exemptions: 11_600 + members: [person1, person2] + household: + members: [person1, person2] + state_code: MI + output: + # $11,600 personal + $3,400 * 2 disabled + $500 veteran (2024+) = $18,900 + mi_exemptions: 18_900 + +# ============================================================================ +# 2025 EDGE CASE TESTS - Disabled Exemption ($3,400) + Veteran ($500) +# ============================================================================ + +# Edge case: Multiple disabled persons in household (not veterans) +- name: Case 1, 2025 edge case multiple disabled persons no veterans. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person2: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person3: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + tax_units: + tax_unit: + mi_personal_exemptions: 17_400 + members: [person1, person2, person3] + household: + members: [person1, person2, person3] + state_code: MI + output: + # $17,400 personal (3 * $5,800) + $3,400 * 3 disabled = $27,600 + mi_exemptions: 27_600 + +# Edge case: All disabled veterans in household +- name: Case 2, 2025 edge case multiple disabled veterans. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: true + person2: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: true + tax_units: + tax_unit: + mi_personal_exemptions: 11_600 + members: [person1, person2] + household: + members: [person1, person2] + state_code: MI + output: + # $11,600 personal (2 * $5,800) + $3,400 * 2 disabled + $500 * 2 veteran = $19,400 + mi_exemptions: 19_400 + +# Edge case: Zero disabled persons +- name: Case 3, 2025 edge case no disabled persons. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: false + is_fully_disabled_service_connected_veteran: false + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + members: [person1] + household: + members: [person1] + state_code: MI + output: + # $5,800 personal only, no disabled exemption + mi_exemptions: 5_800 + +# Edge case: Disabled veteran without disabled exemption eligibility +# (veteran but not qualifying as disabled for Michigan purposes) +- name: Case 4, 2025 edge case veteran but not disabled eligible. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: false + is_fully_disabled_service_connected_veteran: true + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + members: [person1] + household: + members: [person1] + state_code: MI + output: + # $5,800 personal + $0 disabled + $500 veteran = $6,300 + mi_exemptions: 6_300 + +# Edge case: Large family with mix of disabled and non-disabled +- name: Case 5, 2025 edge case large family mixed disabled status. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: true + person2: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person3: + mi_disabled_exemption_eligible_person: false + is_fully_disabled_service_connected_veteran: false + person4: + mi_disabled_exemption_eligible_person: false + is_fully_disabled_service_connected_veteran: false + tax_units: + tax_unit: + mi_personal_exemptions: 23_200 + members: [person1, person2, person3, person4] + household: + members: [person1, person2, person3, person4] + state_code: MI + output: + # $23,200 personal (4 * $5,800) + $3,400 * 2 disabled + $500 * 1 veteran = $30,500 + mi_exemptions: 30_500 + +# Edge case: Maximum disabled exemption scenario (8 disabled members) +- name: Case 6, 2025 edge case maximum disabled household. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person2: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person3: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + person4: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + tax_units: + tax_unit: + mi_personal_exemptions: 23_200 + members: [person1, person2, person3, person4] + household: + members: [person1, person2, person3, person4] + state_code: MI + output: + # $23,200 personal (4 * $5,800) + $3,400 * 4 disabled = $36,800 + mi_exemptions: 36_800 + +# Edge case: Single disabled veteran (combined exemption) +- name: Case 7, 2025 edge case single disabled veteran combined exemption. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: true + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + members: [person1] + household: + members: [person1] + state_code: MI + output: + # Combined: $5,800 personal + $3,400 disabled + $500 veteran = $9,700 + mi_exemptions: 9_700 + +# Edge case: Disabled dependent (no personal exemption counted) +- name: Case 8, 2025 edge case disabled person is dependent elsewhere. + period: 2025 + input: + people: + person1: + mi_disabled_exemption_eligible_person: true + is_fully_disabled_service_connected_veteran: false + tax_units: + tax_unit: + mi_personal_exemptions: 5_800 + head_is_dependent_elsewhere: true + filing_status: SINGLE + members: [person1] + household: + members: [person1] + state_code: MI + output: + # Dependent exemption: $1,500 (for single) + $3,400 disabled = $4,900 + mi_exemptions: 4_900 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_personal_exemptions.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_personal_exemptions.yaml index 01338e8dd08..9d5b704a798 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_personal_exemptions.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/exemptions/mi_personal_exemptions.yaml @@ -23,3 +23,104 @@ state_code: MI output: # 5_000 + 5_000 mi_personal_exemptions: 10_000 + +# 2025 test cases - personal exemption is $5,800 +- name: Michigan personal exemption 2025, single filer + period: 2025 + input: + tax_unit_size: 1 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # 2025 personal exemption: $5,800 per person + mi_personal_exemptions: 5_800 + +- name: Michigan personal exemption 2025, family of 4 + period: 2025 + input: + tax_unit_size: 4 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # 2025 personal exemption: $5,800 * 4 = $23,200 + mi_personal_exemptions: 23_200 + +- name: Michigan personal exemption 2025, with stillborn children + period: 2025 + input: + tax_unit_size: 2 + tax_unit_stillborn_children: 1 + state_code: MI + output: + # 2025: $5,800 * 2 (filers) + $5,800 * 1 (stillborn) = $17,400 + mi_personal_exemptions: 17_400 + +# ============================================================================ +# 2025 EDGE CASE TESTS - Personal Exemption ($5,800) +# ============================================================================ + +# Edge case: Zero dependents (minimum case) +- name: Case 1, 2025 edge case zero dependents, single person only. + period: 2025 + input: + tax_unit_size: 1 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # Minimum exemption: 1 person * $5,800 = $5,800 + mi_personal_exemptions: 5_800 + +# Edge case: Maximum realistic number of dependents (8 people) +- name: Case 2, 2025 edge case large family with 8 members. + period: 2025 + input: + tax_unit_size: 8 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # Large family: 8 persons * $5,800 = $46,400 + mi_personal_exemptions: 46_400 + +# Edge case: Extremely large household (stress test) +- name: Case 3, 2025 edge case maximum household size of 12. + period: 2025 + input: + tax_unit_size: 12 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # 12 persons * $5,800 = $69,600 + mi_personal_exemptions: 69_600 + +# Edge case: Multiple stillborn children +- name: Case 4, 2025 edge case multiple stillborn children. + period: 2025 + input: + tax_unit_size: 2 + tax_unit_stillborn_children: 3 + state_code: MI + output: + # 2 persons + 3 stillborn = 5 total * $5,800 = $29,000 + mi_personal_exemptions: 29_000 + +# Edge case: Single parent with many children +- name: Case 5, 2025 edge case single parent with 5 children. + period: 2025 + input: + tax_unit_size: 6 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # 1 parent + 5 children = 6 * $5,800 = $34,800 + mi_personal_exemptions: 34_800 + +# Edge case: Joint filers with no dependents +- name: Case 6, 2025 edge case joint filers with no dependents. + period: 2025 + input: + tax_unit_size: 2 + tax_unit_stillborn_children: 0 + state_code: MI + output: + # 2 filers * $5,800 = $11,600 + mi_personal_exemptions: 11_600 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/integration.yaml index e157f382450..8919f13c7c4 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/integration.yaml @@ -35,23 +35,23 @@ people: person1: age: 37 - employment_income: 31010 - taxable_interest_income: 5505.0 - short_term_capital_gains: 5005.0 - rental_income: 2505.0 - rent: 23000 + employment_income: 31_010 + taxable_interest_income: 5_505 + short_term_capital_gains: 5_005 + rental_income: 2_505 + rent: 23_000 person2: age: 37 - employment_income: 4010 - taxable_interest_income: 5505.0 - short_term_capital_gains: 5005.0 - rental_income: 2505.0 + employment_income: 4_010 + taxable_interest_income: 5_505 + short_term_capital_gains: 5_005 + rental_income: 2_505 households: household: members: [person1, person2] state_fips: 26 # MI output: # expected results from patched TAXSIM35 2024-03-06 version - mi_income_tax: 2178.13 + mi_income_tax: 2_178.13 - name: Tax unit with taxsimid 50656 in j21.its.csv and j21.ots.csv absolute_error_margin: 0.01 @@ -60,31 +60,31 @@ people: person1: age: 59 - employment_income: 2010 - qualified_dividend_income: 1005.0 - taxable_interest_income: 5505.0 - short_term_capital_gains: 3005.0 - long_term_capital_gains: 505.0 - rental_income: 2005.0 - taxable_private_pension_income: 3500.0 - rent: 24000 - self_employment_income: 10010 + employment_income: 2_010 + qualified_dividend_income: 1_005 + taxable_interest_income: 5_505 + short_term_capital_gains: 3_005 + long_term_capital_gains: 505 + rental_income: 2_005 + taxable_private_pension_income: 3_500 + rent: 24_000 + self_employment_income: 10_010 business_is_qualified: true business_is_sstb: true - w2_wages_from_qualified_business: 100e6 + w2_wages_from_qualified_business: 100_000_000 ssi: 0 # not in TAXSIM35 ma_state_supplement: 0 # not in TAXSIM35 wic: 0 # not in TAXSIM35 ma_covid_19_essential_employee_premium_pay_program: 0 # not in TAXSIM35 person2: age: 59 - employment_income: 9010 - qualified_dividend_income: 1005 - taxable_interest_income: 5505 - short_term_capital_gains: 3005 + employment_income: 9_010 + qualified_dividend_income: 1_005 + taxable_interest_income: 5_505 + short_term_capital_gains: 3_005 long_term_capital_gains: 505 - rental_income: 2005.0 - taxable_private_pension_income: 3500 + rental_income: 2_005 + taxable_private_pension_income: 3_500 person3: age: 16 tax_units: @@ -110,17 +110,17 @@ people: person1: age: 28 - employment_income: 4010 - qualified_dividend_income: 3010 - taxable_interest_income: 11010 - short_term_capital_gains: 7010 - long_term_capital_gains: 3010 - rental_income: 2010 - rent: 24000 - self_employment_income: 33010 + employment_income: 4_010 + qualified_dividend_income: 3_010 + taxable_interest_income: 11_010 + short_term_capital_gains: 7_010 + long_term_capital_gains: 3_010 + rental_income: 2_010 + rent: 24_000 + self_employment_income: 33_010 business_is_qualified: true business_is_sstb: true - w2_wages_from_qualified_business: 100e6 + w2_wages_from_qualified_business: 100_000_000 person2: age: 11 tax_units: @@ -137,7 +137,7 @@ members: [person1, person2] state_fips: 26 # MI output: # expected results from patched TAXSIM35 2024-03-21 version - mi_income_tax: 2263.98 + mi_income_tax: 2_263.98 - name: taxsim_record_25759_2024.yaml absolute_error_margin: 2 @@ -146,8 +146,8 @@ people: person1: age: 31 - employment_income: 0.0 - long_term_capital_gains: -3810357 + employment_income: 0 + long_term_capital_gains: -3_810_357 is_tax_unit_head: true person2: age: 10 diff --git a/sources/working_references.md b/sources/working_references.md new file mode 100644 index 00000000000..27856ccebd3 --- /dev/null +++ b/sources/working_references.md @@ -0,0 +1,399 @@ +# Collected Documentation + +## Michigan 2025 Individual Income Tax - Parameter Updates +**Collected**: 2026-01-06 +**Implementation Task**: Update Michigan income tax parameters to 2025 values per issue #7120 + +--- + +## Official Program Names + +**Program**: Michigan Individual Income Tax +**Administering Agency**: Michigan Department of Treasury +**Key Forms**: MI-1040, MI-1040CR, MI-1040CR-7 +**Tax Rate**: 4.25% (flat rate, unchanged for 2025) + +--- + +## 2025 Parameter Values - Summary + +| Parameter | 2024 Value | 2025 Value | Source | +|-----------|------------|------------|--------| +| Personal Exemption | $5,600 | $5,800 | 446 Withholding Guide | +| Disabled Exemption | $3,300 | $3,400 | 446 Withholding Guide | +| Disabled Veteran Exemption | $500 | $500 | 446 Withholding Guide | +| Homestead Property Value Limit | $160,700 | $165,400 | MI-1040CR Form | +| Homestead Credit Cap | $1,800 | $1,900 | MI-1040CR Form | +| Homestead Reduction Start | $60,700 | $62,500 | MI-1040CR Form | +| Total Household Resources Limit | $69,700 | $71,500 | MI-1040CR Form | +| Tier One Retirement (Single) | $64,040 | $65,897 | Retirement & Pension Benefits | +| Tier One Retirement (Joint) | $128,080 | $131,794 | Retirement & Pension Benefits | + +--- + +## Detailed Parameter Documentation + +### 1. Personal Exemption Amount + +**2025 Value**: $5,800 +**2024 Value**: $5,600 +**Change**: +$200 + +**Source**: Michigan 2025 Income Tax Withholding Guide (Form 446, Rev. 01-25) +- Quote: "Withholding Rate: 4.25% Personal Exemption Amount: $5,800" +- This exemption applies to the filer, spouse, each dependent, and stillborn children + +**Legal Authority**: Michigan Legal Code Section 206.30(2) + +**References for Parameter**: +```yaml +reference: + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf + - title: 2025 MI-1040 Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf +``` + +--- + +### 2. Disabled Exemption Amount (Special Exemption) + +**2025 Value**: $3,400 +**2024 Value**: $3,300 +**Change**: +$100 + +**Applies to**: Individuals who are deaf, blind, hemiplegic, paraplegic, quadriplegic, or totally and permanently disabled + +**Note**: A taxpayer who is age 66 by April 30 of the tax year may not claim a totally and permanently disabled exemption (considered retirement age). + +**Source**: Michigan 2025 Income Tax Withholding Guide (Form 446) +- Quote: "The special exemption allowance for deaf, blind, hemiplegic, paraplegic, quadriplegic, or totally and permanently disabled is $3,400" + +**Legal Authority**: Michigan Legal Code Section 206.30(3)(a) + +**References for Parameter**: +```yaml +reference: + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf + - title: 2025 MI-1040 Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf +``` + +--- + +### 3. Disabled Veteran Exemption Amount + +**2025 Value**: $500 +**2024 Value**: $500 +**Change**: No change + +**Applies to**: Qualified disabled veteran, spouse of qualified disabled veteran, or dependent of taxpayer who is a qualified disabled veteran + +**Source**: Michigan 2025 Income Tax Withholding Guide (Form 446) +- Quote: "The exemption allowance for qualified disabled veterans is $500" + +**Legal Authority**: Michigan Legal Code Section 206.30 + +**References for Parameter**: +```yaml +reference: + - title: Michigan 2025 Income Tax Withholding Guide (Form 446) + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf +``` + +--- + +### 4. Homestead Property Tax Credit - Property Value Limit + +**2025 Value**: $165,400 +**2024 Value**: $160,700 +**Change**: +$4,700 + +**Rule**: Homesteads with a taxable value greater than this amount are not eligible for the credit (except vacant farmland classified as agricultural) + +**Source**: 2025 MI-1040CR Form +- Quote: "Homesteads with a taxable value greater than $165,400 are not eligible for this credit" + +**Legal Authority**: Michigan Income Tax Act 206.520(1) + +**References for Parameter**: +```yaml +reference: + - title: 2025 MI-1040CR Form + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf + - title: Michigan Income Tax Act 206.520(1) + href: http://legislature.mi.gov/doc.aspx?mcl-206-520 +``` + +--- + +### 5. Homestead Property Tax Credit - Maximum Credit Cap + +**2025 Value**: $1,900 +**2024 Value**: $1,800 +**Change**: +$100 + +**Rule**: The maximum homestead property tax credit is capped at this amount + +**Source**: 2025 MI-1040CR Form +- The credit is calculated and then capped at the maximum + +**Legal Authority**: Michigan Income Tax Act 206.520(15) + +**References for Parameter**: +```yaml +reference: + - title: 2025 MI-1040CR Form + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf + - title: Michigan Income Tax Act 206.520(15) + href: http://legislature.mi.gov/doc.aspx?mcl-206-520 +``` + +--- + +### 6. Homestead Property Tax Credit - Reduction Start Threshold + +**2025 Value**: $62,500 +**2024 Value**: $60,700 +**Change**: +$1,800 + +**Rule**: The computed credit is reduced by 10% for every $1,000 (or part of $1,000) that total household resources exceeds this threshold + +**Source**: 2025 MI-1040CR Form +- Quote: "The computed credit (line 12) is reduced by 10 percent for every $1,000 (or part of $1,000) that total household resources exceeds $62,500" + +**Legal Authority**: Michigan Income Tax Act 206.520(8) + +**References for Parameter**: +```yaml +reference: + - title: 2025 MI-1040CR Form + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf + - title: Michigan Income Tax Act 206.520(8) + href: http://legislature.mi.gov/doc.aspx?mcl-206-520 +``` + +--- + +### 7. Homestead Property Tax Credit - Total Household Resources Limit + +**2025 Value**: $71,500 +**2024 Value**: $69,700 +**Change**: +$1,800 + +**Rule**: Taxpayers with total household resources over this amount are not eligible for a credit in any category + +**Source**: 2025 MI-1040CR Form +- Quote: "Taxpayers with total household resources over $71,500 are not eligible for a credit in any category" + +**Note**: This threshold equals the reduction start ($62,500) plus $9,000, at which point the 10% reduction per $1,000 completely phases out the credit. + +**References for Parameter**: +```yaml +reference: + - title: 2025 MI-1040CR Form + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf + - title: Michigan Homestead Property Tax Credit + href: https://www.michigan.gov/taxes/iit/tax-guidance/credits-exemptions/hptc +``` + +--- + +### 8. Tier One Retirement Deduction Amounts + +**2025 Values**: +- Single/Married Filing Separately: $65,897 +- Married Filing Jointly: $131,794 + +**2024 Values**: +- Single/Married Filing Separately: $64,040 +- Married Filing Jointly: $128,080 + +**Change**: +- Single: +$1,857 +- Joint: +$3,714 + +**Eligibility**: +- **Born before 1946 (Tier 1)**: May deduct all qualifying public/federal pension and up to the maximum for private pensions +- **Born 1946-1966**: May deduct 75% of maximum for 2025 ($49,422 single / $98,845 joint) +- **Born 1967 or after**: Not eligible for deduction in 2025 tax year + +**Note**: Maximum amounts are adjusted annually by the percentage increase in the United States Consumer Price Index. + +**Source**: Michigan Department of Treasury - Retirement and Pension Benefits +- Quote: "The maximum deduction for the 2025 tax year is $65,897 for single or married filing separately, and $131,794 for married filing jointly" + +**Legal Authority**: Michigan Legal Code Section 206.30(1)(f) + +**References for Parameter**: +```yaml +reference: + - title: Michigan Retirement and Pension Benefits + href: https://www.michigan.gov/taxes/iit/tax-guidance/tax-situations/retirement-and-pension-benefits + - title: Michigan Legal Code Section 206.30(1)(f) + href: http://legislature.mi.gov/doc.aspx?mcl-206-30 + - title: 2025 MI-1040 Instructions + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf +``` + +--- + +### 9. Home Heating Credit Standard Allowances + +**Status**: The 2025 tax year MI-1040CR-7 form has not yet been released. Current values are for 2024 tax year. + +**2024 Values (filed in 2025)**: +| Exemptions | Standard Allowance | +|------------|-------------------| +| 1 | $581 | +| 2 | $788 | +| 3 | $995 | +| 4 | $1,202 | +| 5 | $1,409 | +| 6 | $1,616 | + +**Note**: For tax year 2025, there will be a major form change to MI-1040CR-7, Home Heating Credit Claim. The 2025 values will need to be verified once the form is released. + +**Additional Exemption Amount**: +- Senior/disabled claimants receive an additional exemption +- 2024 additional exemption: $207 (difference between 3 and 2 exemption amounts: $995 - $788) + +**Source**: Michigan 2024 MI-1040CR-7 Instructions, Table A + +**Legal Authority**: Michigan Section 206.527a, Income Tax Act of 1967 + +**References for Parameter**: +```yaml +reference: + - title: Michigan 2024 MI-1040CR-7 Home Heating Instructions, Table A + href: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/BOOK_MI-1040CR-7.pdf#page=11 + - title: Michigan Section 206.527a + href: http://legislature.mi.gov/doc.aspx?mcl-206-527a +``` + +--- + +## Tax Rate Confirmation + +**2025 Tax Rate**: 4.25% (unchanged) + +**Source**: Michigan Department of Treasury Notice +- Quote: "After applying the statutory formula, it has been determined there is no reduction of the Section 51 rate for the 2025 tax year. The rate in effect under Section 51 for the 2025 tax year is therefore 4.25%" + +**References**: +```yaml +reference: + - title: 2025 Tax Year Income Tax Rate for Individuals and Fiduciaries + href: https://www.michigan.gov/treasury/reference/taxpayer-notices/2025-tax-year-income-tax-rate-for-individuals-and-fiduciaries + - title: Calculation of State Individual Income Tax Rate Adjustment for 2025 Tax Year + href: https://www.michigan.gov/treasury/news/2025/05/01/calculation-of-state-individual-income-tax-rate-adjustment-for-2025-tax-year +``` + +--- + +## PDFs for Future Reference + +The following PDFs contain additional information but could not be fully extracted: + +### 1. **2025 MI-1040 Instructions (Complete)** + - URL: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf + - Expected content: Complete individual income tax instructions including exemption calculations, deduction instructions, and credit eligibility + - Key pages: Page 3 (exemption amounts), Page 13 (line-by-line instructions), Page 20+ (retirement deductions) + +### 2. **2025 MI-1040 Form** + - URL: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040.pdf + - Expected content: The actual tax return form with line numbers and calculations + - Key pages: Page 1-2 (main form) + +### 3. **2025 MI-1040CR Form (Homestead Property Tax Credit)** + - URL: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR.pdf + - Expected content: Homestead property tax credit form with 2025 thresholds + - Key pages: Page 1 (line 9 - taxable value $165,400), Page 2 (line 38 - max credit $1,900) + +### 4. **2025 MI-1040CR-2 Book (Veterans/Blind)** + - URL: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040CR-2-Book.pdf + - Expected content: Instructions for veterans and blind homestead property tax credit with specific thresholds + +### 5. **2025 Withholding Guide (Form 446)** + - URL: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/SUW/TY2025/446_Withholding-Guide_2025.pdf + - Expected content: Withholding tables, personal exemption amounts, disabled exemption amounts + - Key pages: Page 1 (exemption amounts: $5,800 personal, $3,400 disabled, $500 veteran) + +### 6. **2025 MI-1040CR-7 Home Heating Credit Instructions** + - URL: Not yet available (2024 form: https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2024/BOOK_MI-1040CR-7.pdf) + - Expected content: 2025 standard allowance amounts (Table A), income limits + - Note: Per Michigan Treasury, there will be a major form change for 2025. Values should be verified when released. + +--- + +## Implementation Notes + +### Parameters to Update + +The following parameter files need 2025-01-01 values added: + +1. **Personal Exemption**: `gov/states/mi/tax/income/exemptions/personal.yaml` + - Add: `2025-01-01: 5_800` + +2. **Disabled Exemption**: `gov/states/mi/tax/income/exemptions/disabled/amount/base.yaml` + - Add: `2025-01-01: 3_400` + +3. **Homestead Property Value Limit**: `gov/states/mi/tax/income/credits/homestead_property_tax/property_value_limit.yaml` + - Add: `2025-01-01: 165_400` + +4. **Homestead Credit Cap**: `gov/states/mi/tax/income/credits/homestead_property_tax/cap.yaml` + - Add: `2025-01-01: 1_900` + +5. **Homestead Reduction Start**: `gov/states/mi/tax/income/credits/homestead_property_tax/reduction/start.yaml` + - Add: `2025-01-01: 62_500` + +6. **Tier One Retirement Amount**: `gov/states/mi/tax/income/deductions/retirement_benefits/tier_one/amount.yaml` + - Add for SINGLE: `2025-01-01: 65_897` + - Add for JOINT: `2025-01-01: 131_794` + - Add for SURVIVING_SPOUSE: `2025-01-01: 65_897` + - Add for HEAD_OF_HOUSEHOLD: `2025-01-01: 65_897` + - Add for SEPARATE: `2025-01-01: 65_897` + +7. **Home Heating Credit Standard Base**: `gov/states/mi/tax/income/credits/home_heating/standard/base.yaml` + - **Status**: 2025 values not yet available; form release pending with major changes + - Current 2024 values should remain; 2025 values to be added when MI-1040CR-7 2025 is released + +### Note on Uprating + +Several of these parameters have automatic uprating configured. However, the actual published values should be used rather than relying on uprating, as Michigan Treasury publishes specific amounts that may differ slightly from mechanical uprating calculations. + +--- + +## Sources Consulted + +### Official Michigan Government Sources + +1. [Michigan Department of Treasury - Tax Forms](https://www.michigan.gov/taxes/iit-forms/2025-individual-income-tax-forms) +2. [Michigan Homestead Property Tax Credit](https://www.michigan.gov/taxes/iit/tax-guidance/credits-exemptions/hptc) +3. [Michigan Retirement and Pension Benefits](https://www.michigan.gov/taxes/iit/tax-guidance/tax-situations/retirement-and-pension-benefits) +4. [Michigan Withholding Tax Information](https://www.michigan.gov/taxes/business-taxes/withholding/calendar-year-tax-information) +5. [Michigan Home Heating Credit Information](https://www.michigan.gov/taxes/questions/iit/accordion/heating/home-heating-credit-information-1) +6. [2025 Tax Year Income Tax Rate Notice](https://www.michigan.gov/treasury/reference/taxpayer-notices/2025-tax-year-income-tax-rate-for-individuals-and-fiduciaries) + +### Legal Authority + +1. [Michigan Compiled Laws Section 206.30](http://legislature.mi.gov/doc.aspx?mcl-206-30) - Exemptions and deductions +2. [Michigan Compiled Laws Section 206.520](http://legislature.mi.gov/doc.aspx?mcl-206-520) - Homestead property tax credit +3. [Michigan Compiled Laws Section 206.527a](http://legislature.mi.gov/doc.aspx?mcl-206-527a) - Home heating credit + +--- + +## Validation Checklist + +- [x] Personal exemption 2025 value confirmed: $5,800 +- [x] Disabled exemption 2025 value confirmed: $3,400 +- [x] Disabled veteran exemption 2025 value confirmed: $500 +- [x] Homestead property value limit 2025 confirmed: $165,400 +- [x] Homestead credit cap 2025 confirmed: $1,900 +- [x] Homestead reduction start 2025 confirmed: $62,500 +- [x] Total household resources limit 2025 confirmed: $71,500 +- [x] Tier one retirement single 2025 confirmed: $65,897 +- [x] Tier one retirement joint 2025 confirmed: $131,794 +- [ ] Home heating credit 2025 standard allowances: PENDING (form not yet released) +- [x] Tax rate 2025 confirmed: 4.25%