Iowa 2021-2022: IRA and 401(k) distributions are excluded from income that never contained them
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 86/100
Research direction
Start with parameters/gov/states/ia/tax/income/gross_income/sources.yaml and compare its 2021-01-01 entries with the pension exclusion sources. Check the 2021-2022 Iowa income calculation, then add a 2022 test covering an IRA distribution and asserting ia_gross_income and ia_net_income. Done means the distributions are included in gross income and the test passes without changing the 2023-and-later behavior.
Written by the indexing model from the issue text.
Description
Summary
For tax years 2021 and 2022, Iowa gross income in the model omits IRA, 401(k) and similar retirement distributions, but the Iowa pension exclusion still subtracts them. The exclusion therefore reduces income that was never in the base, and Iowa tax falls when such a distribution is added.
Details
parameters/gov/states/ia/tax/income/gross_income/sources.yaml(2021-01-01 list) includestaxable_pension_incomebut nottaxable_retirement_distributions(IRA, 401(k), 403(b), SEP, Keogh) ortaxable_roth_conversions.parameters/gov/states/ia/tax/income/pension_exclusion/sources.yaml(2021-01-01 list) includes bothtaxable_pension_incomeandtaxable_retirement_distributions.- In 2021-2022,
ia_net_income = ia_gross_income - ia_income_adjustments, andia_pension_exclusionis one of the adjustments. A head or spouse aged 55+ (or permanently and totally disabled) with an IRA distribution gets up to $6,000 ($12,000 joint) subtracted from income that does not contain the distribution. - The 2021 IA 1040 has a separate line 8, "Taxable IRA distributions", next to line 9, "Taxable pensions and annuities" (2021 IA 1040, p. 1), so these distributions belong in Iowa gross income. Taxable Roth conversions are reported on the same federal line (1040 line 4b) and flow to the same Iowa line.
Tax years 2023 and later are not affected: Iowa then starts from federal taxable income, which already contains these amounts.
Example
Iowa 2022, single, age 60, $50,000 wages, $10,000 taxable IRA distribution. Expected: gross income 60,000, exclusion 6,000, net income 54,000. Modeled: gross income 50,000, exclusion 6,000, net income 44,000 — lower than with no distribution at all. (The same shape was executed for a Roth conversion during review of #9510: ia_income_tax fell from $2,067.96 to $1,584.99; #9510 has since date-gated the conversion to 2023.)
Suggested fix
Add taxable_retirement_distributions and taxable_roth_conversions to the 2021-01-01 Iowa gross income list, and add a 2022 test asserting ia_gross_income and ia_net_income with an IRA distribution. Whether the pre-2023 $6,000/$12,000 exclusion covered Roth conversion income was not established in the #9510 review (rule 701—302.47, which names it, applies from tax year 2023), so the exclusion list for 2021-2022 can stay as it is.
Found in review of #9510.
- Dominant language
- Python
- Stars
- 163
- Forks
- 213
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 99
Contributor 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
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
PolicyEngine/policyengine-us#9559 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PolicyEngine/policyengine-us#9535 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
PolicyEngine/policyengine-us#9522 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
PolicyEngine/policyengine-us#9508 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
PolicyEngine/policyengine-us#9471 · 2 comments ·
All issues in PolicyEngine/policyengine-us
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100