State EITC helper floors each spouse's earnings at zero instead of netting self-employment losses (IL, CO, DC, IN)
Maintainers usually reply within 2 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
Research direction
Read policyengine_us/tools/state_eitc_helpers.py and the Indiana decoupled branch in in_eitc.py; compare their filer_adjusted_earnings calculation with eitc_earned_income. Check the Illinois, Colorado, DC, and Indiana cases described in the issue, including the joint-return example. Done means the state calculations use the same earned-income basis as the federal EITC and the reported discrepancies are corrected.
Written by the indexing model from the issue text.
Description
Summary
calculate_eitc_amount_from_parameters in policyengine_us/tools/state_eitc_helpers.py computes the federal-style EITC from filer_adjusted_earnings. That variable floors each spouse's earnings at zero before it adds them. The federal eitc uses eitc_earned_income (since #8337), which combines both spouses' wages and net self-employment earnings and floors only the total.
So when one spouse has a self-employment loss, the state credit uses a larger earned income than PolicyEngine's own federal EITC. The helper feeds the Illinois EIC, the Colorado EITC (ITIN and under-25 paths), the DC EITC with a qualifying child, and Indiana EITC eligibility. The Indiana decoupled branch in in_eitc.py (2011–2022) has the same filer_adjusted_earnings line.
Example
Joint return, two children, head wages $10,000, spouse Schedule C loss −$4,000. Federal earned income is $6,000.
| Year | State | PE federal eitc |
PE state credit | Expected |
|---|---|---|---|---|
| 2021 | IL il_eitc |
2,400 | 720 (18% × 4,000) | 432 (18% × 2,400) |
| 2023 | IL il_eitc |
2,400 | 800 | 480 |
| 2023 | CO co_eitc |
2,400 | 2,000 | 1,200 |
| 2023 | DC dc_eitc_with_qualifying_child (1 child) |
2,040 | 2,380 | 1,428 |
| 2022 | IN in_eitc |
2,400 | 400 | 240 |
In the TAXSIM-35 census comparison, 3 Illinois households get a PE IL EIC of $96–$447 in each year 2021–2025 (15 household-years; from 2024 the IL child tax credit adds 20%–40% of it), while the federal EITC is $0 in both PE and TAXSIM. In each, one spouse has wages and the other has a large self-employment loss.
Law
35 ILCS 5/212(a):
"With respect to the federal earned income tax credit allowed for the taxable year under Section 32 of the federal Internal Revenue Code, 26 U.S.C. 32, each individual taxpayer is entitled to a credit ... in an amount equal to ... (v) 18% of the federal tax credit for each taxable year beginning on or after January 1, 2018 and beginning prior to January 1, 2023, and (vi) 20% of the federal tax credit for each taxable year beginning on or after January 1, 2023."
From 2023, subsections (b-5) and (b-10) give the credit to filers aged 18–24 and 65 or older "based on the federal tax credit for which the taxpayer would have been eligible without regard to any age requirements", and (b-15) does the same for ITIN filers "without applying the restrictions regarding social security numbers in Section 32(m)". No part of Section 212 changes the federal earned income definition.
2021 Schedule IL-E/EIC, page 2, Step 4:
"5 Enter the amount of federal Earned Income Credit from your federal Form 1040 or 1040-SR, Line 27a."
"6 Multiply the amount on Line 5 by 18% (.18)."
"The term "earned income" means— (i) wages, salaries, tips, and other employee compensation, ... plus (ii) the amount of the taxpayer's net earnings from self-employment for the taxable year (within the meaning of section 1402(a)), but such net earnings shall be determined with regard to the deduction allowed to the taxpayer by section 164(f)."
2023 Form 1040 instructions, page 45, "Worksheet B—2023 EIC—Line 27":
"If you are married filing a joint return, include your spouse's amounts, if any, with yours to figure the amounts to enter in Parts 1 through 3."
"b. Combine lines 1e, 2c, 3, and 4a. This is your total earned income."
"If line 4b is zero or less, ... You can't take the credit."
Proposed fix
Use eitc_earned_income in calculate_eitc_amount_from_parameters and in the Indiana decoupled branch, so the state computation uses the same earned income as the federal eitc.
- Dominant language
- Python
- Stars
- 166
- Forks
- 214
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 261
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PolicyEngine/policyengine-us
-
bug state-income-tax states/vt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PolicyEngine/policyengine-us#9996 ·
Maintainers usually reply within 2 days
-
bug hhs/tanf states/nh
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine-us#9984 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PolicyEngine/policyengine-us#9952 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
PolicyEngine/policyengine-us#9759 ·
Maintainers usually reply within 2 days
-
NYC school tax credit is not denied to filers who can be claimed as a dependent (§ 606(ggg)(1))Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
PolicyEngine/policyengine-us#9713 ·
Maintainers usually reply within 2 days
All issues in PolicyEngine/policyengine-us
Similar issues
-
enhancement good first issue Stellar Wave trivial
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
StellarCanary/ProtocolCanary-Fixtures#258 ·
Maintainers usually reply within 1 day
-
github_actions
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Hochfrequenz/aibap.mcp#578 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
mishraprafful/multihull#150 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
python-caldav/caldav#735 ·
Maintainers usually reply within 1 day