Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/in-eitc-childless-current.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Fixed the Indiana EITC to use the current-year federal EITC for childless filers as well as filers with children, matching Schedule IN-EIC Section A, which applies the 10% match to all filers.
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
in_eitc: 0.09 * 5_980

- name: taxsim_1039_in_eitc_with_child_uses_current_federal_eitc
# 2025 Schedule IN-EIC Section B: a filer claiming one or more children takes
# 10% of the earned income credit "from your federal income tax return", i.e.
# the current-year federal EITC ($4,328 here), not a frozen-IRC recomputation.
# 2025 Schedule IN-EIC Section A (applies to all filers): 10% of the earned
# income credit "from your federal income tax return", i.e. the current-year
# federal EITC ($4,328 here), not a frozen-IRC recomputation.
# 10% x $4,328 = $432.80. Originating: PolicyEngine/policyengine-taxsim#1039.
absolute_error_margin: 1
period: 2025
Expand All @@ -51,10 +51,14 @@
output:
in_eitc: 433

- name: in_eitc childless 2025 stays on frozen 2023 IRC snapshot
# Schedule IN-EIC Section A / IC 6-3-1-11: childless filers remain decoupled
# from the federal (ARPA-expanded) EITC and use the frozen Jan 1, 2023 IRC.
# 10% x frozen $600 childless max = $60, NOT 10% x current federal $612 = $61.20.
- name: in_eitc childless 2025 uses current-year federal EITC
# Schedule IN-EIC Section A applies to all filers: 10% of "the earned income
# credit from your federal income tax return." At $8,000 earnings the 2025
# federal childless EITC is phase-in-limited to $612 (7.65% x $8,000), below
# the $649 max, so 10% x $612 = $61.20 -- not the frozen 2023 snapshot's
# 10% x $600 = $60 (IB92's Jan 1, 2023 freeze applies uniformly and its only
# post-2023 effect is inflation indexing, since the ARPA childless expansion
# already expired Jan 1, 2022).
absolute_error_margin: 0.01
period: 2025
input:
Expand All @@ -65,7 +69,7 @@
households:
household: {members: [parent], state_fips: 18}
output:
in_eitc: 60
in_eitc: 61.20

- name: Indiana EITC TY 2026 uses the SEA 243 advanced January 1, 2026 IRC snapshot
period: 2026
Expand All @@ -92,14 +96,15 @@
state_code: IN
output:
# TY 2026 onwards Indiana SEA 243 (2025) advances the IRC reference to
# January 1, 2026. This with-children filer takes 10% of the current-year
# federal EITC per Schedule IN-EIC Section B; under SEA 243 the current and
# frozen (2026-01-01) computations coincide, so the credit is $442.70.
# January 1, 2026. All filers take 10% of the current-year federal EITC
# per Schedule IN-EIC Section A; under SEA 243 the current and frozen
# (2026-01-01) computations coincide, so the credit is $442.70.
in_eitc: 442.70

- name: in_eitc childless 2026 uses the SEA 243 January 1, 2026 IRC snapshot
# Childless filers stay on the frozen IRC snapshot; under SEA 243 the 2026
# snapshot equals the current federal childless EITC, so 10% x $612 = $61.20.
- name: in_eitc childless 2026 uses the current-year federal EITC
# All filers use the current-year federal EITC (Schedule IN-EIC Section A);
# under SEA 243 the 2026 frozen-IRC snapshot equals the current federal
# childless EITC, so 10% x $612 = $61.20 either way.
absolute_error_margin: 0.01
period: 2026
input:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
from policyengine_us.model_api import *
from policyengine_us.tools.state_eitc_helpers import (
calculate_eitc_demographic_eligibility,
calculate_eitc_like_amount,
)


class in_eitc(Variable):
Expand All @@ -20,48 +16,23 @@ def formula(tax_unit, period, parameters):
federal_eitc = tax_unit("eitc", period)
return federal_eitc * ip.earned_income.match_rate
if ip.earned_income.static_conformity_in_effect:
# IC 6-3-1-11 (Indiana's IRC definition for IC 6-3.1-21):
# - TY 2023 through 2025: IRC as in effect on January 1, 2023.
# - TY 2026 onward: IRC as in effect on January 1, 2026, per
# Indiana SEA 243 (2025).
# The snapshot dates are statutory literals; policyengine-core
# parameters do not support date-valued types, so they appear
# here rather than in the parameter tree.
snapshot_date = "2026-01-01" if period.start.year >= 2026 else "2023-01-01"
frozen_eitc = parameters.gov.irs.credits.eitc(snapshot_date)
child_count = tax_unit("eitc_child_count", period)
demographic_eligible = calculate_eitc_demographic_eligibility(
tax_unit, period, frozen_eitc, child_count
)
filer_identification_eligible = tax_unit(
"filer_meets_eitc_identification_requirements", period
)
investment_income_eligible = (
tax_unit("eitc_relevant_investment_income", period)
<= frozen_eitc.phase_out.max_investment_income
)
frozen_federal_eitc = calculate_eitc_like_amount(
tax_unit,
period,
parameters,
child_count,
demographic_eligible,
filer_identification_eligible,
separate_filer_eligible=frozen_eitc.eligibility.separate_filer,
eitc_parameters=frozen_eitc,
investment_income_eligible=investment_income_eligible,
)
# 2025 Schedule IN-EIC Section B (filers claiming one or more
# children) directs the taxpayer to take 10% of the earned income
# credit "from your federal income tax return" — i.e. the current-
# year federal EITC as claimed, not a frozen-IRC recomputation.
# Indiana's decoupling (Section A) targets the childless / ARPA
# expansion only, so the frozen federal EITC is retained solely for
# childless filers.
current_federal_eitc = tax_unit("eitc", period)
federal_eitc = where(
child_count > 0, current_federal_eitc, frozen_federal_eitc
)
# Schedule IN-EIC (State Form 49469) Section A applies to every
# filer: "Enter the earned income credit from your federal
# income tax return," multiplied by 10%. There is no frozen-IRC
# recomputation on the form. Section B is a qualifying-child
# information schedule (names, SSNs, ages), not a computation
# path, so it does not carve out childless filers.
#
# DOR Information Bulletin #92 describes the IRC section 32
# January 1, 2023 conformity freeze (IC 6-3-1-11) uniformly for
# "the Indiana EITC," with no childless-specific language. The
# ARPA childless EITC expansion expired January 1, 2022, so for
# TY2023 onward the freeze's only operative effect is that
# Indiana does not automatically adopt post-snapshot federal
# EITC changes -- and those changes are inflation indexing only.
# The current-year federal EITC therefore satisfies the freeze
# for all filers, with or without children.
federal_eitc = tax_unit("eitc", period)
return federal_eitc * ip.earned_income.match_rate
# if Indiana EITC is decoupled from federal EITC
fp = parameters(period).gov.irs.credits
Expand Down