Skip to content

Dependents' qualified dividends and capital gains enter the filer's 26 USC 1(h) preferential-rate base, although AGI leaves them out #9869

Open

Description

@PavelMakarchuk

Summary

irs_gross_income multiplies every income source by ~is_tax_unit_dependent, so a dependent's dividends and gains never enter the filer's AGI or taxable income. The capital gains worksheet does the opposite. It sums them over every tax-unit member:

  • net_capital_gain: add(tax_unit, period, ["qualified_dividend_income"]), long_term_capital_gains, short_term_capital_gains and non_sch_d_capital_gains.
  • adjusted_net_capital_gain: add(tax_unit, period, ["qualified_dividend_income"]).

As a result, a dependent's qualified dividends move the same amount of the filer's wages from the ordinary brackets into the 0%/15%/20% rates.

A child's dividends belong on the child's own return, under the kiddie tax (26 USC 1(g)). They reach the parent's return only through the Form 8814 election (1(g)(7)), and then they also enter the parent's gross income.

This is the federal sibling of #9814 (state AGIs that add dependents' income) and point 1 of #9635 (EITC investment income). Neither of those covers the 1(h) base.

Reproduction (policyengine-us 1.811.2, 45d51ef5d4; the same add(tax_unit, ...) is on main)

from policyengine_us import Simulation

Y = 2025
def run(child_qd):
    return Simulation(situation={
        "people": {"p": {"age": {Y: 40}, "employment_income": {Y: 100_000}},
                   "c": {"age": {Y: 10}, "qualified_dividend_income": {Y: child_qd}}},
        "tax_units": {"t": {"members": ["p", "c"]}},
        "households": {"h": {"members": ["p", "c"], "state_code": {Y: "TX"}}}})
for qd in (0, 10_000):
    s = run(qd)
    print(qd, s.calculate("adjusted_gross_income", Y)[0], s.calculate("taxable_income", Y)[0],
          s.calculate("net_capital_gain", Y)[0], s.calculate("income_tax_before_credits", Y)[0])
Child's qualified dividends AGI Taxable income net_capital_gain income_tax_before_credits
0 100,000 76,375 0 9,977.50
10,000 100,000 76,375 10,000 9,277.50

Expected: $9,977.50 in both cases. The child's dividends change neither the parent's taxable income nor the parent's tax, unless the parent elects Form 8814.

Files

  • policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/net_capital_gain.py (lines 21-37 at 1.811.2)
  • policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/adjusted_net_capital_gain.py (line 27)

Possible fix: sum over the head and spouse only (tax_unit_non_dep_sum, as filer_adjusted_earnings does), or apply ~is_tax_unit_dependent at person level.

Found by

The PRD comparison (PolicyEngine/prd-comparison), cause fed_tax.dependent_qualified_dividends. It covers 109 to 112 CPS tax units a year, with $2.8M to $3.1M less federal income tax in PE.

The largest example (2025) is a filer with $5.4M of wage-only taxable income and a dependent with $9.6M of qualified dividends: PE taxes the filer's wages at the preferential rates, about $0.88M less.

🤖 Generated with Claude Code

Activity

  1. added
    bugSomething isn't working
    taxFederal and state tax policy
    on Oct 6, 2026
  2. PavelMakarchuk commented on Oct 6, 2026

    @PavelMakarchuk
    CollaboratorAuthor

    #9855 (open) fixes this: it makes net_capital_gain, the Schedule D Tax Worksheet's Form 4952 lines and the 28% rate gain use only the filers' gains, losses, distributions and qualified dividends, which removes the dependents' qualified dividends from the 26 USC 1(h) base described here. Leaving this open until #9855 merges; it can close with it.

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

    bugSomething isn't workingtaxFederal and state tax policy

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions