From bc00c0c2b2a733b47aa57826e045e0614b1c2fd4 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Thu, 12 Mar 2026 16:40:52 -0400 Subject: [PATCH 1/3] Add Indiana SB 243 OBBBA tax conformity Implements Indiana's conformity to federal OBBBA (One Big Beautiful Bill Act) tax provisions for tax year 2026 only: - IC 6-3-2-31: Tip income deduction (conforms to IRC Section 224) - IC 6-3-2-32: Overtime income deduction (conforms to IRC Section 225) - IC 6-3-2-33: Auto loan interest deduction (conforms to IRC Section 163(h)(4)) Closes #7770 Co-Authored-By: Claude Opus 4.5 --- .../in-sb243-obbba-conformity.added.md | 1 + .../in/tax/income/deductions/deductions.yaml | 70 +++++++++++++++++-- ...uto_loan_interest_deduction_available.yaml | 15 ++++ .../overtime_income_deduction_available.yaml | 15 ++++ .../tip_income_deduction_available.yaml | 15 ++++ .../in_auto_loan_interest_deduction.yaml | 35 ++++++++++ .../in_overtime_income_deduction.yaml | 35 ++++++++++ .../in_tip_income_deduction.yaml | 35 ++++++++++ .../in_auto_loan_interest_deduction.py | 20 ++++++ .../in_overtime_income_deduction.py | 20 ++++++ .../in_tip_income_deduction.py | 20 ++++++ 11 files changed, 276 insertions(+), 5 deletions(-) create mode 100644 changelog.d/in-sb243-obbba-conformity.added.md create mode 100644 policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml create mode 100644 policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml create mode 100644 policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.yaml create mode 100644 policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.py create mode 100644 policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.py create mode 100644 policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.py 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..6eeea8de54e 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 @@ -73,3 +131,5 @@ metadata: href: https://www.law.cornell.edu/uscode/text - title: 2025 IT-40 Income Tax Form Instruction Booklet, pg. 8 href: https://forms.in.gov/Download.aspx?id=16915 + - title: Indiana SB 243 - OBBBA Tax Conformity (2026) + href: https://iga.in.gov/legislative/2026/bills/senate/243 diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml new file mode 100644 index 00000000000..5f6e9d7d165 --- /dev/null +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml @@ -0,0 +1,15 @@ +description: Indiana allows a deduction for qualified passenger vehicle loan interest conforming to federal OBBBA provisions during this period. +values: + 0001-01-01: false + 2026-01-01: true + 2027-01-01: false + +metadata: + unit: bool + period: year + label: Indiana auto loan interest deduction available + reference: + - title: Indiana Code IC 6-3-2-33 - Qualified passenger vehicle loan interest deduction + href: https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=52 + - title: Indiana SB 243 Section 13 - Effective January 1, 2026 (retroactive) + href: https://iga.in.gov/legislative/2026/bills/senate/243 diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml new file mode 100644 index 00000000000..a6a9578abcb --- /dev/null +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml @@ -0,0 +1,15 @@ +description: Indiana allows a deduction for qualified overtime income conforming to federal OBBBA provisions during this period. +values: + 0001-01-01: false + 2026-01-01: true + 2027-01-01: false + +metadata: + unit: bool + period: year + label: Indiana overtime income deduction available + reference: + - title: Indiana Code IC 6-3-2-32 - Qualified overtime compensation deduction + href: https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=52 + - title: Indiana SB 243 Section 12 - Effective January 1, 2026 (retroactive) + href: https://iga.in.gov/legislative/2026/bills/senate/243 diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml new file mode 100644 index 00000000000..30a95e1de09 --- /dev/null +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml @@ -0,0 +1,15 @@ +description: Indiana allows a deduction for qualified tip income conforming to federal OBBBA provisions during this period. +values: + 0001-01-01: false + 2026-01-01: true + 2027-01-01: false + +metadata: + unit: bool + period: year + label: Indiana tip income deduction available + reference: + - title: Indiana Code IC 6-3-2-31 - Qualified tips deduction + href: https://iga.in.gov/pdf-documents/124/2026/senate/bills/SB0243/SB0243.05.ENRH.pdf#page=51 + - title: Indiana SB 243 Section 11 - Effective January 1, 2026 (retroactive) + href: https://iga.in.gov/legislative/2026/bills/senate/243 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..3af9b66353f --- /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,35 @@ +- 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 not available in 2025 + period: 2025 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 0 + +- name: Indiana auto loan interest deduction not available in 2027 + period: 2027 + input: + state_code: IN + auto_loan_interest: 2_000 + employment_income: 50_000 + output: + in_auto_loan_interest_deduction: 0 + +- 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 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..5bc69eb3701 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.yaml @@ -0,0 +1,35 @@ +- 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 not available in 2025 + period: 2025 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 0 + +- name: Indiana overtime income deduction not available in 2027 + period: 2027 + input: + state_code: IN + fsla_overtime_premium: 5_000 + employment_income: 50_000 + output: + in_overtime_income_deduction: 0 + +- 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 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..7a72452f313 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.yaml @@ -0,0 +1,35 @@ +- 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 not available in 2025 + period: 2025 + input: + state_code: IN + tip_income: 10_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 0 + +- name: Indiana tip income deduction not available in 2027 + period: 2027 + input: + state_code: IN + tip_income: 10_000 + employment_income: 50_000 + output: + in_tip_income_deduction: 0 + +- 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 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..dd1f2574da8 --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_auto_loan_interest_deduction.py @@ -0,0 +1,20 @@ +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 + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + available = p.auto_loan_interest_deduction_available + federal_deduction = tax_unit("auto_loan_interest_deduction", period) + return available * federal_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..9f97cfcf8f6 --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_overtime_income_deduction.py @@ -0,0 +1,20 @@ +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 + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + available = p.overtime_income_deduction_available + federal_deduction = tax_unit("overtime_income_deduction", period) + return available * federal_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..60724725f30 --- /dev/null +++ b/policyengine_us/variables/gov/states/in/tax/income/deductions/obbba_conformity/in_tip_income_deduction.py @@ -0,0 +1,20 @@ +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 + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + available = p.tip_income_deduction_available + federal_deduction = tax_unit("tip_income_deduction", period) + return available * federal_deduction From cbfa8e1807154a2fc825e8faf48b6e87b8379e1b Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Thu, 12 Mar 2026 16:44:33 -0400 Subject: [PATCH 2/3] Fix parameter access for Indiana state code Use bracket notation gov.states["in"] instead of gov.states.in_ since "in" is a Python keyword. Co-Authored-By: Claude Opus 4.5 --- .../obbba_conformity/in_auto_loan_interest_deduction.py | 2 +- .../obbba_conformity/in_overtime_income_deduction.py | 2 +- .../deductions/obbba_conformity/in_tip_income_deduction.py | 2 +- uv.lock | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) 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 index dd1f2574da8..fda147c5f3d 100644 --- 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 @@ -14,7 +14,7 @@ class in_auto_loan_interest_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.auto_loan_interest_deduction_available federal_deduction = tax_unit("auto_loan_interest_deduction", period) return available * federal_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 index 9f97cfcf8f6..725e1b8c352 100644 --- 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 @@ -14,7 +14,7 @@ class in_overtime_income_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.overtime_income_deduction_available federal_deduction = tax_unit("overtime_income_deduction", period) return available * federal_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 index 60724725f30..abd64ff85f1 100644 --- 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 @@ -14,7 +14,7 @@ class in_tip_income_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.in_.tax.income.deductions.obbba_conformity + p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.tip_income_deduction_available federal_deduction = tax_unit("tip_income_deduction", period) return available * federal_deduction diff --git a/uv.lock b/uv.lock index efec4d8555d..704368e67ac 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 3 +revision = 2 requires-python = ">=3.11, <3.15" resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", @@ -1492,7 +1492,7 @@ wheels = [ [[package]] name = "policyengine-us" -version = "1.592.1" +version = "1.596.5" source = { editable = "." } dependencies = [ { name = "microdf-python" }, From 0d9c9d819214abf3373c9d386c751b64b02c4308 Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Fri, 13 Mar 2026 14:04:52 +0100 Subject: [PATCH 3/3] Address review: fix descriptions, add comments, add integration test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix parameter descriptions to use standard format ("provides this deduction") - Add code comments documenting unimplemented proration rules (IC 6-3-2-31(c), IC 6-3-2-32(c)) — zero real-world impact under current IN law - Add code comment documenting unmodeled residency/spouse/trust rules (IC 6-3-2-33(c)-(d)) — covered by defined_for or not applicable - Add integration test verifying tip deduction flows through in_deductions Co-Authored-By: Claude Opus 4.6 --- .../auto_loan_interest_deduction_available.yaml | 2 +- .../overtime_income_deduction_available.yaml | 2 +- .../tip_income_deduction_available.yaml | 2 +- .../obbba_conformity/in_tip_income_deduction.yaml | 12 ++++++++++++ .../in_auto_loan_interest_deduction.py | 3 +++ .../obbba_conformity/in_overtime_income_deduction.py | 3 +++ .../obbba_conformity/in_tip_income_deduction.py | 3 +++ 7 files changed, 24 insertions(+), 3 deletions(-) diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml index 5f6e9d7d165..0bd5fceaf21 100644 --- a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/auto_loan_interest_deduction_available.yaml @@ -1,4 +1,4 @@ -description: Indiana allows a deduction for qualified passenger vehicle loan interest conforming to federal OBBBA provisions during this period. +description: Indiana provides this deduction for qualified passenger vehicle loan interest under the One Big Beautiful Bill Act conformity program (IC 6-3-2-33). values: 0001-01-01: false 2026-01-01: true diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml index a6a9578abcb..cc8cfccf260 100644 --- a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/overtime_income_deduction_available.yaml @@ -1,4 +1,4 @@ -description: Indiana allows a deduction for qualified overtime income conforming to federal OBBBA provisions during this period. +description: Indiana provides this deduction for qualified overtime compensation under the One Big Beautiful Bill Act conformity program (IC 6-3-2-32). values: 0001-01-01: false 2026-01-01: true diff --git a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml index 30a95e1de09..110a1e7dd87 100644 --- a/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml +++ b/policyengine_us/parameters/gov/states/in/tax/income/deductions/obbba_conformity/tip_income_deduction_available.yaml @@ -1,4 +1,4 @@ -description: Indiana allows a deduction for qualified tip income conforming to federal OBBBA provisions during this period. +description: Indiana provides this deduction for qualified tip income under the One Big Beautiful Bill Act conformity program (IC 6-3-2-31). values: 0001-01-01: false 2026-01-01: true 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 index 7a72452f313..39f090a2bc2 100644 --- 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 @@ -33,3 +33,15 @@ employment_income: 50_000 output: in_tip_income_deduction: 0 + +- name: Integration - OBBBA deductions flow through in_deductions + 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 + # Verify the deduction is included in the Indiana deductions aggregate + in_deductions: 5_000 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 index fda147c5f3d..bb22db8b5fd 100644 --- 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 @@ -14,6 +14,9 @@ class in_auto_loan_interest_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): + # IC 6-3-2-33(c) requires IN residency (covered by defined_for) + # and has spouse attribution rules for joint filers. IC 6-3-2-33(d) + # excludes estates/trusts. These are not separately modeled. p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.auto_loan_interest_deduction_available federal_deduction = tax_unit("auto_loan_interest_deduction", period) 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 index 725e1b8c352..d98ce08973c 100644 --- 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 @@ -14,6 +14,9 @@ class in_overtime_income_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): + # IC 6-3-2-32(c) contains a proration rule for when overtime is + # partially excluded from IN AGI by another provision. No such + # provision currently exists, so the full federal amount is used. p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.overtime_income_deduction_available federal_deduction = tax_unit("overtime_income_deduction", period) 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 index abd64ff85f1..3aa728b2fc7 100644 --- 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 @@ -14,6 +14,9 @@ class in_tip_income_deduction(Variable): defined_for = StateCode.IN def formula(tax_unit, period, parameters): + # IC 6-3-2-31(c) contains a proration rule for when tips are + # partially excluded from IN AGI by another provision. No such + # provision currently exists, so the full federal amount is used. p = parameters(period).gov.states["in"].tax.income.deductions.obbba_conformity available = p.tip_income_deduction_available federal_deduction = tax_unit("tip_income_deduction", period)