diff --git a/changelog.d/in-sb243-obbba-conformity.added.md b/changelog.d/in-sb243-obbba-conformity.added.md new file mode 100644 index 00000000000..97deca16c8c --- /dev/null +++ b/changelog.d/in-sb243-obbba-conformity.added.md @@ -0,0 +1 @@ +Indiana SB 243 OBBBA tax conformity: tip income, overtime income, and auto loan interest deductions for tax year 2026. diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/deductions.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/deductions.yaml index 674574368ea..f3f466bc88f 100644 --- a/policyengine_us/parameters/gov/states/in/tax/income/deductions/deductions.yaml +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/deductions.yaml @@ -5,7 +5,7 @@ values: - in_homeowners_property_tax_deduction - salt_refund_last_year - us_govt_interest - - tax_unit_taxable_social_security # includes railroad retirement benefits + - tax_unit_taxable_social_security # includes railroad retirement benefits - in_military_service_deduction - in_nonpublic_school_deduction - in_nol @@ -36,7 +36,65 @@ values: # IC 6-3-2-4 (b) - military_basic_pay -2024-01-01: + 2024-01-01: + # IC 6-3-2-6 + - in_renters_deduction + # IC 6-1.1 + - in_homeowners_property_tax_deduction + # IC 6-3.1-19-1 + - salt_refund_last_year + # IC 6-8-5-1 + - us_govt_interest + # US Code 26-A-1-B-II-§86 + - tax_unit_taxable_social_security # includes railroad retirement benefits + # IC 6-3-2-4-(a)(1) + - in_military_service_deduction + # IC 6-3-2-22-(d)(1) + - in_nonpublic_school_deduction + # IC 6-3-2-2.5 + - in_nol + # IC 6-3-2-10 + - in_unemployment_compensation_deduction + # IC 6-3-2 + - in_other_deductions + # IC 6-3-2-4 (b) + - military_basic_pay + # IC 6-3-2-28 + - in_healthcare_sharing_deduction + + 2026-01-01: + # IC 6-3-2-6 + - in_renters_deduction + # IC 6-1.1 + - in_homeowners_property_tax_deduction + # IC 6-3.1-19-1 + - salt_refund_last_year + # IC 6-8-5-1 + - us_govt_interest + # US Code 26-A-1-B-II-§86 + - tax_unit_taxable_social_security # includes railroad retirement benefits + # IC 6-3-2-4-(a)(1) + - in_military_service_deduction + # IC 6-3-2-22-(d)(1) + - in_nonpublic_school_deduction + # IC 6-3-2-2.5 + - in_nol + # IC 6-3-2-10 + - in_unemployment_compensation_deduction + # IC 6-3-2 + - in_other_deductions + # IC 6-3-2-4 (b) + - military_basic_pay + # IC 6-3-2-28 + - in_healthcare_sharing_deduction + # IC 6-3-2-31 (SB 243 OBBBA conformity - 2026 only) + - in_tip_income_deduction + # IC 6-3-2-32 (SB 243 OBBBA conformity - 2026 only) + - in_overtime_income_deduction + # IC 6-3-2-33 (SB 243 OBBBA conformity - 2026 only) + - in_auto_loan_interest_deduction + + 2027-01-01: # IC 6-3-2-6 - in_renters_deduction # IC 6-1.1 @@ -59,12 +117,12 @@ values: - in_other_deductions # IC 6-3-2-4 (b) - military_basic_pay - # IC 6-3-2-28 + # IC 6-3-2-28 - in_healthcare_sharing_deduction -metadata: +metadata: unit: list - Period: year + period: year label: Indiana Deductions reference: - title: Indiana General Assembly Legal Code Title 6 Taxation diff --git a/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.yaml new file mode 100644 index 00000000000..f7d15da9415 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.yaml @@ -0,0 +1,48 @@ +- name: Indiana auto loan interest deduction in 2026 + period: 2026 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 2_000 + +- name: Indiana auto loan interest deduction zero with no interest + period: 2026 + input: + state_code: IN + auto_loan_interest: 0 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 0 + +- name: Indiana auto loan interest deduction not in in_deductions before 2026 + period: 2025 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 2_000 + in_deductions: 0 + +- name: Indiana auto loan interest deduction in in_deductions in 2026 + period: 2026 + absolute_error_margin: 1 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 2_000 + in_deductions: 2_000 + +- name: Indiana auto loan interest deduction not in in_deductions after 2026 (sunset) + period: 2027 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 2_000 + in_deductions: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.yaml new file mode 100644 index 00000000000..91c5bc61b53 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.yaml @@ -0,0 +1,48 @@ +- name: Indiana overtime income deduction in 2026 with overtime + period: 2026 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 5_000 + +- name: Indiana overtime income deduction zero with no overtime + period: 2026 + input: + state_code: IN + fsla_overtime_premium: 0 + employment_income: 50_000 + output: + in_overtime_income_deduction: 0 + +- name: Indiana overtime deduction not in in_deductions before 2026 + period: 2025 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 5_000 + in_deductions: 0 + +- name: Indiana overtime deduction in in_deductions in 2026 + period: 2026 + absolute_error_margin: 1 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 5_000 + in_deductions: 5_000 + +- name: Indiana overtime deduction not in in_deductions after 2026 (sunset) + period: 2027 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 5_000 + in_deductions: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.yaml b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.yaml new file mode 100644 index 00000000000..f05a92bbced --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.yaml @@ -0,0 +1,48 @@ +- name: Indiana tip income deduction in 2026 with tips + period: 2026 + input: + state_code: IN + tip_income: 10_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 10_000 + +- name: Indiana tip income deduction zero with no tips + period: 2026 + input: + state_code: IN + tip_income: 0 + employment_income: 50_000 + output: + in_tip_income_deduction: 0 + +- name: Indiana tip income deduction not in in_deductions before 2026 + period: 2025 + input: + state_code: IN + tip_income: 10_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 10_000 + in_deductions: 0 + +- name: Integration - OBBBA deductions flow through in_deductions in 2026 + period: 2026 + absolute_error_margin: 1 + input: + state_code: IN + tip_income: 5_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 5_000 + in_deductions: 5_000 + +- name: Indiana tip income deduction not in in_deductions after 2026 (sunset) + period: 2027 + input: + state_code: IN + tip_income: 10_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 10_000 + in_deductions: 0 diff --git a/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.py b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.py new file mode 100644 index 00000000000..ede2b2603d7 --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class in_auto_loan_interest_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Indiana auto loan interest deduction" + unit = USD + definition_period = YEAR + reference = ( + "https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=52", + "https://iga.in.gov/legislative/2026/bills/senate/243", + ) + defined_for = StateCode.IN + adds = ["auto_loan_interest_deduction"] diff --git a/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.py b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.py new file mode 100644 index 00000000000..5c162bed8cd --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class in_overtime_income_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Indiana overtime income deduction" + unit = USD + definition_period = YEAR + reference = ( + "https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=52", + "https://iga.in.gov/legislative/2026/bills/senate/243", + ) + defined_for = StateCode.IN + adds = ["overtime_income_deduction"] diff --git a/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.py b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.py new file mode 100644 index 00000000000..fd491ab693b --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class in_tip_income_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Indiana tip income deduction" + unit = USD + definition_period = YEAR + reference = ( + "https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=51", + "https://iga.in.gov/legislative/2026/bills/senate/243", + ) + defined_for = StateCode.IN + adds = ["tip_income_deduction"]