Skip to content

Leave dependents' own items out of DC, Delaware and Ohio subtractions - #9939

Open
MaxGhenis wants to merge 9 commits into
mainfrom
dependent-state-subtractions-dc-de-oh
Open

MaxGhenis wants to merge 9 commits into
mainfrom
dependent-state-subtractions-dc-de-oh

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

This PR excludes dependents’ own subtraction items from the filers’ DC, Delaware and Ohio income tax returns. It also allocates the D-2440 disability income exclusion once per return and excludes dependent contributors from Ohio’s 529 deduction.

This branch retains the capital-income changes stacked from #9894. Merge #9894 first. It also retains main’s Ohio medical deduction fix from #9925, including its corrected integration expectations.

Changes and legal basis

  • Exclude dependent income and expense items from the DC, Delaware and Ohio subtraction lists. Filers subtract their own amounts under D.C. Code 47-1803.02, 30 Del. C. 1106(b), and Ohio Revised Code 5747.01(A).
  • Allocate the DC disability exclusion across filers in proportion to their capped payments. DC instructs filers in the D-2440 worksheet to combine taxpayer and spouse payments and apply one income reduction per return.
  • Keep Ohio medical shares for care the filer paid for dependents. Ohio allows those expenses under Revised Code 5747.01(A)(10).
  • Exclude dependent contributions and beneficiary counts before computing Ohio’s 529 deduction, then allocate the deduction among filer contributors. Ohio allows contributions by the taxpayer and spouse under Revised Code 5747.70(A).
  • Preserve main’s capital gain, pension, charitable contribution and other adjustment calculations while retaining the stacked dependent masks. Apply those masks to Massachusetts’s new gain and dividend helpers. Massachusetts taxes children separately from their parents under the Commonwealth’s taxable unit guidance.

Invariants

  • A dependent’s own subtraction items leave the filers’ state tax calculations unchanged. DC cases with disabled filers require a separate household-income eligibility check.
  • Dependents receive zero DC and Delaware subtractions. Their Ohio deductions retain medical shares for expenses the filer paid for them.
  • DC disability and Ohio medical amounts across people sum to one amount per return.
  • Dependent 529 contributions and beneficiary counts leave the filers’ Ohio deduction unchanged.
  • In the 2025 Massachusetts cases, dependents’ capital income leaves the filers’ gains, dividend loss offsets and income tax unchanged.
  • The person helper matches core add rounding for filers and rejects group variables.

Methodology choices

  • Allocate the return exclusion in proportion to each filer’s capped payments on D-2440.
  • The model computes Ohio’s 529 deduction from individual contributor inputs; a supplied tax unit investment total no longer drives it. The model lacks beneficiary identifiers and retains its existing aggregate cap approximation.
  • DC disability eligibility and income bases need separate fixes, as does Ohio’s Pell grant AGI inclusion. Keep Ohio medical expenses paid by the filer on the covered dependent’s row.
  • Reconcile the 2021 unemployment income test separately. Massachusetts applies IRC 36B(d), including some dependents’ income, under TIR21-6.
  • Narrow the new Iowa regression inputs to isolate filer scope. Reconcile the existing calculation against the Iowa Social Security worksheet separately.
  • Preserve main’s unrounded marginal rate calculation when updating the Montana tax reference. Review its precision against the rounded DOR tax-table shortcut separately.
  • Ohio’s 529 contributor correction needs an Axiom companion case; the existing queued parity work remains below.

Tests

Added eight helper cases, five Massachusetts capital income cases, and Ohio contributor, cap and allocation regressions. Added a Massachusetts Hypothesis property and extended the DC/Delaware/Ohio property. Updated the Montana reference cases for the pension exemption and credit for filer gains. Montana applies the pension adjustment before taxing Social Security under 2023 Form 2, page 6. Filers calculate the credit from gains on their federal return under the 2022 instructions.

Five formatting and lint runs passed. All 49 changed Python files and 37 YAML files parsed without syntax errors.

Local runs passed eight helper tests and 103 source-conflict checks. Seven local model attempts reached their time caps before reporting assertions. The required local file matrix remains incomplete.

CI at the current head passed all 297 required files, including both Massachusetts tests, the central subtraction property and all 30 cases in the two Montana files. All 36 CI jobs finished successfully, including Contrib.

Microsimulation impact

To be measured before merge.

Axiom parity

axiom: TheAxiomFoundation/rulespec-us#1424 queued (extended with DC, Delaware and Ohio companion cases: TheAxiomFoundation/rulespec-us#1424 (comment)). Delaware's refund subtraction is encoded-correct per return in us-de:policies/income_tax/resident_core_liability_pipeline#de_pit_2026_profile_candidate_other_statutory_subtractions (companion test supported modifications depreciation and schedule branch); DC 47-1803.02(a)(2) and Ohio 5747.01(A) are not encoded.

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits October 6, 2026 09:43
…turn

A tax unit dependent's interest, dividends and capital gains are on the
dependent's own return, and federal adjusted gross income (irs_gross_income)
leaves them out. State lines that adjust the filers' federal AGI or taxable
income summed them over every member, so a child's dividends, gains or
interest moved the parents' state tax.

Count only the head and spouse (tax_unit_non_dep_add, or a dependent mask on
per-person lines) in AZ, DC, DE, IA, IL, MA, MD, ME, MN, MT, ND, NH, OH, PA,
SC, UT, VA, VT, WA, WI and WV, and in us_govt_interest, which most states
subtract.

In formulas edited anyway: North Dakota's net long-term capital gain
exclusion is floored at zero and includes capital gain distributions (Form
ND-1 line 6 worksheet); Utah's retirement credit counts only the head and
spouse as claimants; the West Virginia low-income family credit cites W. Va.
Code 11-21-22a(d).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…UT cases

The Montana and Utah Social Security credit cases now carry the exact
half-cent amounts (1,765.725, 1,847.725 and 259.475) instead of values
rounded past the 0.001 margin.

In two existing Utah retirement credit cases person2 (age 64) is a tax unit
dependent, so their tax-exempt interest is on their own return and no longer
enters the modified AGI: 750 instead of 737.5, and 675 instead of 662.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DC, Delaware and Ohio sum per-person subtractions into the filers' state
AGI. A tax unit dependent's own items, which irs_gross_income leaves off
the filers' federal return, reduced the parents' state tax. Mask every
item for dependents except the Ohio 529 and medical deductions the filer
pays for them (new parameter oh...filer_amounts_recorded_on_dependents),
through a new person_non_dep_add helper. This subsumes #9894's special
case for U.S. government interest.

Also count two per-return amounts once:
- dc_disability_exclusion returned the return's D-2440 exclusion to every
  member; it now shares it between the filers by capped payments and
  leaves out dependents' payments.
- oh_unreimbursed_medical_care_expense_deduction_person added the
  tax-unit insured expense deduction, which `adds` projects onto every
  member; it now adds each person's prorated share.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Property test: leave DC units with a disabled filer out of the twin
  invariant, since D.C. Code 47-1803.02(a)(2)(V) tests household AGI,
  which counts a dependent's income; add a fixed DC couple with a
  positive D-2440 exclusion and a dependent with payments.
- Describe Ohio's 529 dependent share as a modelling convention that
  matches the pooled tax-unit deduction.
- person_non_dep_add starts from a zero array; fix a test name typo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Overlap with #9925. #9925 makes the same Ohio change to oh_unreimbursed_medical_care_expense_deduction_person, in the same lines: it adds oh_insured_unreimbursed_medical_care_expenses_person in place of the tax-unit amount. It also floors federal AGI at 0 on worksheet line 6 and updates the reference URLs. Whichever PR lands second has a conflict in that file. The conflict is only in the comment and the URLs; the code is the same.

I merged both onto main 2d0815ae23, with #9925 949dd8d728, this PR 5386c7ccd9, the other group-projection fixes and #9897, keeping #9925's version of that file. The combination works. An earlier merge, with this PR at 6ae711ae21, passed:

  • oh_unreimbursed_medical_care_expense_deduction.yaml, oh_insured_unreimbursed_medical_care_expenses.yaml, oh_deductions.yaml and integration_2025.yaml;
  • test_oh_unreimbursed_medical_deduction_invariants.py and test_dependent_state_subtractions_invariants.py.

filer_amounts_recorded_on_dependents keeps the medical deduction on dependents, so #9925's prorated dependent share still counts. A re-run on the current heads is queued.

Dropping the Ohio medical hunk here would remove the conflict. Otherwise, whichever PR lands second takes the other's lines. The merge order with #9897's KNOWN_VIOLATIONS list is in #9897.

MaxGhenis added a commit that referenced this pull request Oct 8, 2026
Zero the qualifying capital gain deduction for dependent members whose
income is excluded from the filers' federal AGI, retaining the existing
filer gain/payroll limits and filer-only business deduction.

Pin federal, Ohio and modified AGI using actual dependent gain inputs.
Add a generated twin comparison for single/joint returns with dependents.

Addresses the PR #9876 interaction identified with #9939.
MaxGhenis added a commit that referenced this pull request Oct 9, 2026
…deductions back in modified AGI (#9876)

* Apply Ohio's business income deduction and add it back in modified AGI

Ohio deducts the first $250,000 ($125,000 married filing separately) of
business income (R.C. 5747.01(A)(28)) and taxes the rest at a flat 3%
(R.C. 5747.02(A)(4)). The model taxed all business income at the graduated
rates. Modified AGI is Ohio AGI plus the (A)(28) deduction and, from 2026,
the (A)(34) qualifying capital gain deduction (R.C. 5747.01(II), 5747.79(B)).
Personal exemptions and the exemption credit now use modified AGI
(R.C. 5747.025, 5747.022).

Fixes #4056

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update Ohio TAXSIM cases for the business income deduction; mirror MAGI in the dependent exemption reform

TAXSIM35 does not apply R.C. 5747.01(A)(28); the two 2021 integration cases
now carry the form-line derivation with the deduction. The contrib dependent
exemption reform's no-op schedule mirrors the baseline, which is stepped by
modified AGI (R.C. 5747.025).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Address review: no double exclusion of a deducted qualifying gain; disclose conventions

- Joint filing credit qualifying income excludes capital gains only to the
  extent they are still in Ohio AGI; a gain deducted under R.C.
  5747.01(A)(34) is not excluded again (R.C. 5747.05(E)(1)). 2026 test.
- The qualifying capital gain deduction cannot exceed the capital gains
  reported, and its documentation states the per-entity rule of R.C.
  5747.79(C)(2).
- Label the per-spouse split of a joint business income deduction as a
  modeling convention; disclose farm rent, Form 4797 gains and 20%-owner
  compensation as nonbusiness; describe the TAXSIM cases' line 8a as model
  values; move the MAGI test out of business_income/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Cap the deducted qualifying gain in joint filing credit qualifying income; quote 5747.79(A)(1)

A directly set multi-entity deduction above the capital gains reported can no
longer cancel the interest, dividend and rent exclusions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Exclude dependent qualifying gains from Ohio filer deductions

Zero the qualifying capital gain deduction for dependent members whose
income is excluded from the filers' federal AGI, retaining the existing
filer gain/payroll limits and filer-only business deduction.

Pin federal, Ohio and modified AGI using actual dependent gain inputs.
Add a generated twin comparison for single/joint returns with dependents.

Addresses the PR #9876 interaction identified with #9939.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 5 commits November 13, 2026 09:12
Retain main's medical, capital-loss, pension and charitable deduction changes. Exclude dependent income from Massachusetts's new helpers and the 2021 unemployment worksheet. Match core addition rounding in person-level subtraction sums.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Exclude dependent contributions and beneficiary counts before capping the deduction. Allocate person shares among filer contributors. Keep dependent medical shares for care the filer paid for. Extend the Ohio contribution and Massachusetts unemployment worksheet invariants.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep the existing unemployment calculation while reconciling the worksheet with TIR21-6 and IRC 36B(d). Remove the blanket dependent exclusion and its tests. Retain the Massachusetts capital income fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Describe the filer-only sum without implying a source conflict. Keep the new dependent-income cases below the worksheet threshold so they isolate filer scope from the existing Social Security calculation gap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Include the pension exemption in the Social Security reference cases. Remove the dependent capital gain credit from the filer tax expectation and assert zero credit for both people.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant