Skip to content

Cap the self-employed health insurance deduction at the earnings of the business that established the plan, including a farm or partnership (26 U.S.C. 162(l)(2)(A)) #10528

Open

Description

@MaxGhenis

What the model does

The self-employed health insurance deduction caps premiums at the person's Schedule C profit and nothing else:

  • self_employed_health_insurance_ald_person.py lines 13-16 return min_(max_(0, total_self_employment_income), self_employed_health_insurance_premiums).
  • total_self_employment_income.py lines 9-14 add self_employment_income and sstb_self_employment_income, documented as "Total non-farm self-employment income".
  • farm_operations_income.py line 9 says not to include Schedule F income in self-employment income.
  • The SE tax base, by contrast, adds farm and partnership earnings: taxable_self_employment_income.py lines 18-23 list farm_operations_income and partnership_self_employment_net_earnings.

So the model treats every plan as established under the person's Schedule C business. #10109 adds the 401(c) subtractions but keeps that assumption: its new self_employed_health_insurance_earned_income_limit takes total_self_employment_income as line 4, and its body lists "Plans under a farm or partnership business" as a follow-up. This issue is that follow-up.

What the law says

  • 26 USC 162(l)(2)(A) caps the deduction at the taxpayer's earned income "derived by the taxpayer from the trade or business with respect to which the plan providing the medical care coverage is established".
  • 26 USC 401(c)(2)(A) builds earned income from net earnings from self-employment under section 1402(a), which include a farm's net profit and a partner's distributive share.
  • The Form 7206 instructions call for a separate Form 7206 for each plan established under a different business, to figure that plan's net earnings limit.

Hand-computed cases

Each is one unmarried, self-employed adult with $10,000 of premiums, no wages, no dependents, no retirement plan, and no employer coverage or premium tax credit. Half of SE tax is gross SE earnings × 0.9235 × 0.153 / 2.

  1. Farm income of $30,000 and nothing else. The plan can only sit under the farm.
    • Half of SE tax: 30,000 × 0.9235 × 0.153 / 2 = $2,119.43.
    • Law: the cap is 30,000 − 2,119.43 = $27,880.57, so the deduction is $10,000 and AGI is 30,000 − 2,119.43 − 10,000 = $17,880.57.
    • Model: Schedule C profit is 0, so the deduction is 0 and AGI is $27,880.57.
  2. Schedule C $2,000 plus farm $30,000, plan under the farm.
    • Half of SE tax: 32,000 × 0.9235 × 0.153 / 2 = $2,260.73; the farm's share is 2,260.73 × 30 / 32 = $2,119.43.
    • Law: the cap is 30,000 − 2,119.43 = $27,880.57, so the deduction is $10,000 and AGI is 32,000 − 2,260.73 − 10,000 = $19,739.27.
    • Model: the deduction is $2,000 and AGI is $27,739.27.
  3. Schedule C $50,000 plus farm $1,000, plan under the farm.
    • Half of SE tax: 51,000 × 0.9235 × 0.153 / 2 = $3,603.04; the farm's share is 3,603.04 / 51 = $70.65.
    • Law: the cap is 1,000 − 70.65 = $929.35.
    • Model: the deduction is $10,000, which overstates it by $9,070.65.

So the error runs both ways. It understates the deduction when the plan's business earns more than Schedule C, and overstates it when the plan's business earns less. The same applies to a partnership (K-1 box 14, code A) and to a plan under one of two Schedule C businesses.

What's missing

The model has no input that says which business established the plan. Options:

  • an input naming the plan's business (Schedule C, SSTB Schedule C, farm or partnership), defaulting to Schedule C, as now;
  • a per-business premium input, one Form 7206 for each;
  • at minimum, the farm-only case: a person with no Schedule C activity whose only SE earnings are a farm or a partnership share can only have established the plan there.

Any fix should build on #10109's earned-income limit and keep its line 5-8 proration of the deductible SE tax.

Related

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions