Repository navigation
Conversation
…the saver's credit 26 U.S.C. 25B(d)(1)(B) counts elective deferrals as defined in 402(g)(3). Nonelective SEP and profit-sharing contributions, and matching contributions a self-employed person makes for themself (402(g)(8)), are employer contributions. Form 8880 line 2 (2025 and 2022, p. 2) and Pub. 590-A (2025 p. 47, 2022 p. 45) say the same. The new self_employed_pension_elective_deferrals counts the person's Schedule 1 line 16 contributions as deferrals first, up to the 402(g) limit plus catch-up less deferrals to other employers' 401(k)/403(b) plans, and replaces self_employed_pension_contributions in the saver's credit list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eferral share Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft: still waiting on the local test runs (queued for the heavy lock), the impact run (queued) and the independent review.
Problem
The saver's credit list
gov.irs.credits.retirement_saving.qualified_retirement_savings_contributionscountsself_employed_pension_contributions. That is the person's whole Schedule 1 line 16 contribution to their own SEP, SIMPLE or qualified plan.The credit counts less:
Statute text was checked on 2026-10-11 against the axiom-corpus rows
us/statute/26/25B/d/1,us/statute/26/402/g/3and/8,us/statute/26/402A/a/1andus/statute/26/408/p/9, and against govinfo USCODE-2023 §§ 25B and 402.The IRS says the same:
So a sole proprietor whose SEP contribution PE counts in full should get no credit for it.
Decision: count line 16 as elective deferrals first, up to the remaining 402(g) room
The modeled input doesn't say which plan the person has, and Microcosm doesn't carry plan type. New
self_employed_pension_elective_deferrals:The saver's credit list now counts this instead of
self_employed_pension_contributions.elective_deferral_limitis the 402(g)(1) amount plus the person's 414(v) catch-up amount.Why deferrals first:
Alternatives considered:
self_employed_pension_elective_deferralsdirectly, for example 0 for a SEP.The variable's documentation says all of this.
What it changes in practice. Take one person with other-plan deferrals W, room R = limit − W, line 16 contribution S, IRA contributions I, ABLE contributions A and testing-period distributions D. The fix changes the credit base only when S > R. The base then falls from max(I + W + S + A − D, 0) to max(I + limit + A − D, 0). The credit caps each person's base at $2,000, so the credit itself changes only when D > limit + I + A − $2,000. That is at least $21,500 in 2025 and $22,500 in 2026, more with catch-up. For a credit-eligible saver, the fix is mostly a correctness fix to the base and rarely moves the credit; the YAML and impact sections show both.
Change
policyengine_us/variables/household/expense/retirement/self_employed_pension_elective_deferrals.py(Person, YEAR).qualified_retirement_savings_contributions.yaml:self_employed_pension_contributions→self_employed_pension_elective_deferralsin the 2018 and 2026 lists. Also: description typo ("IRA" → "IRS"); references now cite 402(g)(3), Pub. 590-A 2025/2022 and Form 8880 2025/2022 at stableirs-priorURLs. The old references were the current-year PDFs with stale page numbers.Invariants
policyengine_us/tests/unit/test_savers_credit_self_employed_deferral_properties.pytests these with Hypothesis. Each draw is a batch of 4–15 single filers over 2022, 2025 and 2026, run as one vectorized simulation. The reference uses the IRS-published limits (Notices 2021-61, 2024-80, 2025-67; 414(v)(2)(E) for ages 60–63), not model parameters. It takes from the model only the IRA contributions and the line 16 contribution after its own limit, neither of which this PR changes.A deterministic grid (age 55, five employer-plan deferral levels × five line 16 amounts) checks that counted rises with line 16, falls with employer-plan deferrals, and is 0 once those deferrals fill the room.
Tests
self_employed_pension_elective_deferrals.yaml(new, 9 cases, hand-computed from the published limits):savers_credit_qualified_contributions.yaml:self_employed_pension_contributions: 72_000assertion is dropped: it tests the plan limit, which has its own tests and which Limit self-employed plan contributions to the Pub. 560 maximum deduction #10121 changes.savers_credit_person.yaml: a 2025 single filer at 50%, with 401(k) deferrals of 23,500, line 16 of 5,000 and distributions of 22,000. Base 1,500, credit 750; main gives 1,000.~/reviews/savers-credit-se-deferrals-2026-10/fails-on-main/): pending (queued for the heavy lock).git merge-tree, clean) and holds. Limit self-employed plan contributions to the Pub. 560 maximum deduction #10121 now edits two cases ofsavers_credit_qualified_contributions.yaml(its head f59fbe5). When they conflict, take this PR's version of the 2026 case and Limit self-employed plan contributions to the Pub. 560 maximum deduction #10121's case 1.heavy_run.sh).Readers checked
qualified_retirement_savings_contributionshas one reader,savers_credit_qualified_contributions. The other readers ofself_employed_pension_contributionsdon't change:ira_active_participant;Impact
Pending: a base-vs-PR microsimulation pair for 2026 is queued for the heavy lock (
~/reviews/savers-credit-se-deferrals-2026-10/impact/). Microcosm's SE pension inputs are about 3% of SOI dollars (PolicyEngine/microcosm#1117 item B1), and the arithmetic above limits where the credit can move, so expect a very small change.Follow-ups
able_contributions_person. But the amended 25B(d)(1)(A) (corpus rowus/statute/26/25B/d/1) and the 2025 Form 8880 "What's New" (OBBBA) keep ABLE contributions in every year, and from 2027 only ABLE contributions count (SECURE 2.0 § 103; Replace Savers Credit with Savers Match effective 2027 #5199).axiom: TheAxiomFoundation/rulespec-us#1680 queued.
us/statutes/26/25B.yamltakeselective_deferralsas a free input and has no 402(g) module, and no companion test exercises the input while the window is open.🤖 Generated with Claude Code