Skip to content
Draft
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/fix-se-pension-earned-income-limit.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Limit the self-employed SEP, SIMPLE and qualified plan deduction to the Pub. 560 maximum, based on Schedule C net profit less the deductible part of self-employment tax, so it can no longer reach 100% of profit or make AGI negative.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
description: The US limits the deduction for employer contributions to a SEP or profit-sharing plan to this share of participants' compensation.
values:
2002-01-01: 0.25
metadata:
unit: /1
period: year
label: SEP and profit-sharing plan employer deduction limit rate
reference:
- title: 26 U.S. Code § 404(a)(3)(A)(i)(I) - Stock bonus and profit-sharing trusts
href: https://www.law.cornell.edu/uscode/text/26/404#a_3_A_i_I
- title: 26 U.S. Code § 404(h)(1)(C) - Simplified employee pensions
href: https://www.law.cornell.edu/uscode/text/26/404#h_1_C
- title: Economic Growth and Tax Relief Reconciliation Act of 2001, Pub. L. 107-16, § 616 (15 to 25 percent, years beginning after 2001)
href: https://www.congress.gov/107/plaws/publ16/PLAW-107publ16.pdf#page=66
- title: IRS Publication 560 (2025), Rate Table for Self-Employed
href: https://www.irs.gov/pub/irs-pdf/p560.pdf#page=40
- title: IRS Publication 560 (2022), Rate Table for Self-Employed
href: https://www.irs.gov/pub/irs-prior/p560--2022.pdf#page=35
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
roth_ira_contributions_desired: 1_000
roth_401k_contributions_desired: 1_000
roth_403b_contributions_desired: 1_000
self_employment_income: 1_000
# Enough profit for the self-employed plan limit (earned income of
# 9,293.52) to allow the full 1,000.
self_employment_income: 10_000
self_employed_pension_contributions_desired: 1_000
able_contributions_person: 100
retirement_distributions: 1_000
Expand All @@ -36,7 +38,9 @@
- name: Self-employed pension contributions count after applying the annual additions cap
period: 2026
input:
self_employment_income: 100_000
# 20% of earned income plus the 24,500 deferral limit exceeds the 72,000
# annual additions limit at this profit.
self_employment_income: 500_000
self_employed_pension_contributions_desired: 100_000
output:
self_employed_pension_contributions: 72_000
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
- name: Case 1, the deduction cannot make AGI negative when Schedule C profit is the only income.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
self_employment_income: 20_000
self_employed_pension_contributions_desired: 20_000
output:
# Half of self-employment tax: 20,000 x 92.35% x 15.3% / 2 = 1,412.96.
# Pub. 560 Deduction Worksheet step 3: 20,000 - 1,412.96 = 18,587.05,
# the most the plan deduction can be (26 U.S.C. 404(a)(8)(C)).
self_employment_tax_ald: 1_412.96
self_employed_pension_contribution_ald_person: [18_587.05]
self_employed_pension_contribution_ald: 18_587.05
adjusted_gross_income: 0

- name: Case 2, contributions supplied directly are still limited.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
self_employment_income: 20_000
self_employed_pension_contributions: 20_000
output:
self_employed_pension_contribution_ald_person: [18_587.05]
adjusted_gross_income: 0

- name: Case 3, a married couple's limits are each spouse's own.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
self_employment_income: 200_000
self_employed_pension_contributions_desired: 100_000
person2:
age: 40
self_employment_income: 30_000
self_employed_pension_contributions_desired: 30_000
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
output:
# Person 1: 20% x 186,403.65 + 23,500 = 60,780.73 (the Pub. 560 2025
# example's step 3). Person 2: (27,880.57 + 23,500) / 2 = 25,690.28.
self_employed_pension_contribution_ald_person: [60_780.73, 25_690.28]
self_employed_pension_contribution_ald: 86_471.01
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@

- name: Self-employed pension ALD uses SSTB income
period: 2024
absolute_error_margin: 0.01
input:
sstb_self_employment_income: 8_000
self_employed_pension_contributions_desired: 9_000
output:
self_employed_pension_contribution_ald_person: 8_000
# Earned income: 8,000 - 7,388 x 15.3% / 2 = 7,434.82, all of which
# elective deferrals can cover (Pub. 560 Deduction Worksheet steps 9-19).
self_employed_pension_contribution_ald_person: 7_434.82

- name: Loss ALD includes SSTB self-employment losses
period: 2024
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@

- name: Case 12, nontaxable income uses self-employed pension contributions.
period: 2026
absolute_error_margin: 0.01
input:
people:
person1:
Expand All @@ -230,5 +231,7 @@
members: [person1]
state_code: UT
output:
self_employed_pension_contributions: 72_000
ut_homeowner_renter_relief_nontaxable_income: 72_000
# Pub. 560 worksheet: 20% x 92,935.23 of earned income + 24,500 of
# deferrals + the 8,000 catch-up at age 66.
self_employed_pension_contributions: 51_087.05
ut_homeowner_renter_relief_nontaxable_income: 51_087.05
Loading