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-sehi-earned-income-limit.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Limit the self-employed health insurance deduction to net profit less the deductible part of self-employment tax and self-employed retirement plan deductions, as 26 U.S.C. 162(l)(2)(A) and Form 7206 require.
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Form 7206 line 14 (the Form 1040 instructions worksheet line 3 before 2023):
# the smaller of the premiums and the earned income limit. Expected values are
# hand-computed from the form.

- name: Case 1, premiums above the limit are capped at net profit less half of self-employment tax.
period: 2022
absolute_error_margin: 0.01
input:
people:
person1:
is_self_employed: true
self_employment_income: 2_000
health_insurance_premiums: 6_000
tax_units:
tax_unit:
members: [person1]
households:
household:
members: [person1]
state_code: TX
output:
# 2022 Form 1040 instructions worksheet: line 1 is 6,000; line 2 is
# 2,000 - 141.2955 (Schedule 1 line 15) = 1,858.7045.
self_employed_health_insurance_ald_person: [1_858.7045]
self_employed_health_insurance_ald: 1_858.7045
# 2,000 - 141.2955 - 1,858.7045.
adjusted_gross_income: 0

- name: Case 2, premiums below the limit are deducted in full.
period: 2022
absolute_error_margin: 0.01
input:
is_self_employed: true
self_employment_income: 50_000
health_insurance_premiums: 6_000
output:
# Line 2: 50,000 - 3,532.3875 = 46,467.6125.
self_employed_health_insurance_earned_income_limit: 46_467.6125
self_employed_health_insurance_ald_person: 6_000

- name: Case 3, the plan deduction and half of self-employment tax both reduce the cap.
period: 2023
absolute_error_margin: 0.01
input:
is_self_employed: true
self_employment_income: 20_000
self_employed_pension_contributions_desired: 3_000
health_insurance_premiums: 20_000
output:
# Form 7206: line 3 is 20,000; line 13 is 20,000 - 1,412.955 - 3,000.
self_employed_health_insurance_ald_person: 15_587.045

- name: Case 4, a farm business takes its share of the self-employment tax deduction.
period: 2024
absolute_error_margin: 0.01
input:
is_self_employed: true
self_employment_income: 30_000
farm_operations_income: 10_000
health_insurance_premiums: 40_000
output:
# Form 7206 line 13: 30,000 - 0.75 x 2,825.91 = 27,880.5675.
self_employed_health_insurance_ald_person: 27_880.5675

- name: Case 5, each spouse's deduction is capped by their own earned income.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
is_self_employed: true
self_employment_income: 3_000
health_insurance_premiums: 8_000
person2:
is_self_employed: true
self_employment_income: 40_000
health_insurance_premiums: 2_000
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: TX
output:
# person1: 3,000 - 3,000 x 0.9235 x 0.153 / 2 = 3,000 - 211.94325.
# person2: premiums of 2,000 are under the limit.
self_employed_health_insurance_ald_person: [2_788.05675, 2_000]
self_employed_health_insurance_ald: 4_788.05675

- name: Case 6, no deduction with a Schedule C loss.
period: 2025
absolute_error_margin: 0.01
input:
is_self_employed: true
self_employment_income: -5_000
health_insurance_premiums: 3_000
output:
self_employed_health_insurance_ald_person: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Form 7206 lines 4-13 (Pub. 535 Worksheet 6-A before 2023). Expected values
# are hand-computed from the form: the deductible part of self-employment tax
# is net profit x 0.9235 x 15.3% / 2 below the Social Security wage base.

- name: Case 1, one business, the limit is net profit less half of self-employment tax.
period: 2022
absolute_error_margin: 0.01
input:
self_employment_income: 2_000
output:
# Line 15: 2,000 x 0.9235 x 0.153 / 2 = 141.2955.
self_employment_tax_ald_person: 141.2955
# Line 13: 2,000 - 141.2955.
self_employed_health_insurance_earned_income_limit: 1_858.7045

- name: Case 2, the SEP, SIMPLE and qualified plan deduction also reduces the limit.
period: 2023
absolute_error_margin: 0.01
input:
self_employment_income: 20_000
self_employed_pension_contributions_desired: 3_000
output:
# Line 15: 20,000 x 0.9235 x 0.153 / 2 = 1,412.955.
self_employment_tax_ald_person: 1_412.955
# Line 16 (within the $66,000 annual additions limit).
self_employed_pension_contribution_ald_person: 3_000
# Lines 8 to 10: 20,000 - 1,412.955 - 3,000.
self_employed_health_insurance_earned_income_limit: 15_587.045

- name: Case 3, a farm business takes its share of the self-employment tax deduction.
period: 2024
absolute_error_margin: 0.01
input:
self_employment_income: 30_000
farm_operations_income: 10_000
output:
# Line 15: 40,000 x 0.9235 x 0.153 / 2 = 2,825.91.
self_employment_tax_ald_person: 2_825.91
# Lines 5 to 8: 30,000 / 40,000 = 0.75; 30,000 - 0.75 x 2,825.91.
self_employed_health_insurance_earned_income_limit: 27_880.5675

- name: Case 4, a partnership's self-employment earnings take their share too.
period: 2024
absolute_error_margin: 0.01
input:
self_employment_income: 30_000
partnership_self_employment_net_earnings: 30_000
output:
# Line 15: 60,000 x 0.9235 x 0.153 / 2 = 4,238.865.
self_employment_tax_ald_person: 4_238.865
# Lines 5 to 8: 30,000 / 60,000 = 0.5; 30,000 - 0.5 x 4,238.865.
self_employed_health_insurance_earned_income_limit: 27_880.5675

- name: Case 5, a farm loss is left out of line 5, so the plan business takes the whole deduction.
period: 2024
absolute_error_margin: 0.01
input:
self_employment_income: 30_000
farm_operations_income: -10_000
output:
# Line 15: (30,000 - 10,000) x 0.9235 x 0.153 / 2 = 1,412.955.
self_employment_tax_ald_person: 1_412.955
# Lines 5 to 8: line 5 is 30,000, so line 6 is 1; 30,000 - 1,412.955.
self_employed_health_insurance_earned_income_limit: 28_587.045

- name: Case 6, wages above the Social Security wage base leave only the Medicare part.
period: 2025
absolute_error_margin: 0.01
input:
employment_income: 200_000
self_employment_income: 10_000
output:
# Wages exceed the $176,100 wage base, so line 15 is
# 10,000 x 0.9235 x 0.029 / 2 = 133.9075.
self_employment_tax_ald_person: 133.9075
self_employed_health_insurance_earned_income_limit: 9_866.0925

- name: Case 7, net earnings under $400 owe no self-employment tax, so the limit is net profit.
period: 2025
absolute_error_margin: 0.01
input:
self_employment_income: 400
output:
# 400 x 0.9235 = 369.40, under the $400 threshold of section 1402(b)(2).
self_employment_tax_ald_person: 0
self_employed_health_insurance_earned_income_limit: 400

- name: Case 8, a Schedule C loss leaves no limit.
period: 2025
absolute_error_margin: 0.01
input:
self_employment_income: -5_000
partnership_self_employment_net_earnings: 20_000
output:
self_employed_health_insurance_earned_income_limit: 0
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@

- name: Self-employed health insurance ALD uses SSTB income
period: 2024
absolute_error_margin: 0.01
input:
sstb_self_employment_income: 10_000
self_employed_health_insurance_premiums: 12_000
output:
self_employed_health_insurance_ald_person: 10_000
# Form 7206 line 13: 10,000 - 10,000 x 0.9235 x 0.153 / 2.
self_employed_health_insurance_ald_person: 9_293.5225

- name: Self-employed pension ALD uses SSTB income
period: 2024
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,16 @@

- name: Premiums deducted as self-employed health insurance are left out
period: 2025
absolute_error_margin: 0.01
input:
state_code: OH
is_self_employed: true
self_employment_income: 3_000
health_insurance_premiums: 5_000
output:
# 5,000 - min(3,000, 5,000).
oh_medical_care_insurance_premiums: 2_000
# The federal deduction is min(5,000, 3,000 - 3,000 x 0.9235 x 0.153 / 2)
# = 2,788.05675 (Form 7206 line 14), so 5,000 - 2,788.05675 remain.
oh_medical_care_insurance_premiums: 2_211.94325

- name: The self-employed deduction cannot make premiums negative
period: 2025
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@
# Worksheet line 1 note: "You must reduce the amount you enter on this line
# by your federal self-employed health insurance deduction".
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
Expand All @@ -194,7 +195,8 @@
members: [person1]
state_code: OH
output:
# min(3,000 of earnings, 5,000 of premiums).
self_employed_health_insurance_ald: 3_000
# 5,000 - 3,000.
oh_uninsured_unreimbursed_medical_care_expenses: 2_000
# Form 7206 line 14: min(5,000 of premiums, 3,000 of earnings less the
# 211.94325 deductible part of self-employment tax).
self_employed_health_insurance_ald: 2_788.05675
# 5,000 - 2,788.05675.
oh_uninsured_unreimbursed_medical_care_expenses: 2_211.94325
Loading