Repository navigation
Keep dependents' business income off the filer's QBI deduction - #9866
Merged
Merged
Conversation
qualified_business_income_deduction summed every member's qbid_amount, and qbid_amount netted losses and the 199A(i) minimum over every member, so a dependent's Schedule C income raised the filer's deduction and a dependent's loss cut it. Under 26 USC 199A(a) the deduction is the taxpayer's, from their own (and a joint spouse's) qualified business income; a dependent takes their own deduction on their own return. - qualified_business_income_deduction sums qbid_amount, and the 199A(i) minimum's eligible QBI, over the head and spouse. - qbid_amount nets the head's and spouse's losses together; a dependent's businesses are netted alone for the dependent's return. - qualified_business_income_deduction_person shares the deduction between the head and spouse only. - ia_qbi_deduction takes each spouse's share of the federal deduction; it gave every member with a positive qbid_amount the whole tax unit's deduction, a dependent included. - mo_business_income_deduction counts the head's and spouse's business income only (Mo. Rev. Stat. 143.022: "such individual's business income"). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- qualified_business_income_deduction_person shares a deduction that comes only from the 199A(i) minimum (every per-person amount zero) in proportion to the spouses' positive QBI, or to the head, so the shares always sum to the deduction and Iowa no longer drops it. - Tests assert the per-person shares rather than a dependent's qbid_amount, which is figured on the filer's taxable income. - The Iowa case checks ia_taxable_income_joint (main: 59,500, taking the 13,500 deduction three times; branch: 88,000). - The property test drops its vacuous bound and the has_amounts carve-out, and says which checks recompute the aggregation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 6, 2026
Subtract section 199A net capital gain, not adjusted net capital gain, in the QBI income limit
#9886
Merged
Contributor
Author
|
Hand-off to the US + core hub. Head Review (Opus 5.5,
Passed locally.
Microsim:
Axiom: TheAxiomFoundation/rulespec-us#1508, queued ( No Max decision needed. This is a bug fix that moves aggregates. Merge order:
Follow-ups: #9887 (Iowa/Mississippi dependent-income transfer). |
Contributor
Author
|
US + core hub merge audit, us#9866 at
|
MaxGhenis
added a commit
that referenced
this pull request
Oct 7, 2026
…, in the QBI income limit (#9886) * Keep dependents' business income off the filer's QBI deduction qualified_business_income_deduction summed every member's qbid_amount, and qbid_amount netted losses and the 199A(i) minimum over every member, so a dependent's Schedule C income raised the filer's deduction and a dependent's loss cut it. Under 26 USC 199A(a) the deduction is the taxpayer's, from their own (and a joint spouse's) qualified business income; a dependent takes their own deduction on their own return. - qualified_business_income_deduction sums qbid_amount, and the 199A(i) minimum's eligible QBI, over the head and spouse. - qbid_amount nets the head's and spouse's losses together; a dependent's businesses are netted alone for the dependent's return. - qualified_business_income_deduction_person shares the deduction between the head and spouse only. - ia_qbi_deduction takes each spouse's share of the federal deduction; it gave every member with a positive qbid_amount the whole tax unit's deduction, a dependent included. - mo_business_income_deduction counts the head's and spouse's business income only (Mo. Rev. Stat. 143.022: "such individual's business income"). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Address review r1 on the QBID dependents fix - qualified_business_income_deduction_person shares a deduction that comes only from the 199A(i) minimum (every per-person amount zero) in proportion to the spouses' positive QBI, or to the head, so the shares always sum to the deduction and Iowa no longer drops it. - Tests assert the per-person shares rather than a dependent's qbid_amount, which is figured on the filer's taxable income. - The Iowa case checks ia_taxable_income_joint (main: 59,500, taking the 13,500 deduction three times; branch: 88,000). - The property test drops its vacuous bound and the has_amounts carve-out, and says which checks recompute the aggregation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Subtract section 199A net capital gain in the QBI income limit 26 USC 199A(a)(2)(B) limits the deduction to 20% of taxable income over net capital gain, which Treas. Reg. 1.199A-1(b)(3) defines as section 1222(11) net capital gain plus qualified dividends (Form 8995 line 12, Form 8995-A line 34). The model subtracted adjusted_net_capital_gain, which drops unrecaptured section 1250 gain and 28-percent rate gain, so the limit was too high whenever a filer had either. section_199a_net_capital_gain (new) is the smaller of Schedule D lines 15 and 16 (floored at zero) plus nonnegative qualified dividends, over the head and spouse only, and is not reduced by a Form 4952 election (unlike net_capital_gain, #9781). Replays the hub's stalled draft (wip/hub-backup/qbid-net-capital-gain, 739df63) on top of #9866 and masks dependents before netting, per the hub spec D1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Pin negative qualified dividend handling in the 199A gain Review r1 (P3): a negative dividend input adds nothing, and spouses' dividends are summed before the zero floor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The qualified business income deduction counted dependents' business income.
qualified_business_income_deductionsummed every member'sqbid_amount.qbid_amountnetted losses across every member, so a dependent's Schedule C loss cut the filer's QBI and a dependent's profit absorbed the filer's losses. From 2026, a dependent's QBI could also qualify the filer for the 199A(i) minimum. This was #9801's review finding 9, left as a pre-existing follow-up.The law
irs_gross_incomealready leaves a dependent's income off the filer's return.The change
Following #9801's approach (sum over
~is_tax_unit_dependent):qualified_business_income_deductionsumsqbid_amountover the head and spouse. It also tests the 199A(i) minimum on their eligible QBI only.qbid_amountnets losses within the head's and spouse's businesses. A dependent's businesses are netted alone, for the dependent's own return.qualified_business_income_deduction_personshares the deduction between the head and spouse. A dependent's share is zero. From 2026 the 199A(i) minimum can give a deduction when every per-person amount is zero (the wage limit removed it). That deduction is now shared by the spouses' positive QBI, or given to the head, so the shares always sum to the deduction. On main it was dropped, and so was Iowa's share of it.ia_qbi_deduction(Iowa) is now each spouse'squalified_business_income_deduction_persontimes Iowa's fraction. Before, it gave every member with a positiveqbid_amountthe whole tax unit's federal deduction.ia_taxable_income_jointsums members, so a dependent with business income, or two spouses with QBI, counted it twice.mo_business_income_deductioncounts the head's and spouse's positive QBI only.The 199A(b)(3) threshold and phase-in still read the filer's
taxable_income_less_qbid, which already excludes dependents' income. New tests cover all three bands with a dependent present.Tests
qbid_dependents.yaml, 8 cases, hand-computed:ia_qbi_deduction.yamlandmo_business_income_deduction.yaml. The Iowa case also checksia_taxable_income_joint: 88,000 here; on main 59,500, because the 13,500 deduction is taken three times.qualified_business_income_deduction_person.yaml(2026): a single filer, [400], and a couple, [300, 100]. On main both give 0.tests/core/test_qbid_dependents_invariants.pyruns Hypothesis batches for 2026 and a seeded population of 200 tax units for 2025. Units are single, head of household, or joint with and without dependents, in Texas, Missouri and Iowa. Business income, losses, SSTB income, W-2 wages and property are large enough to reach the phase-in range.bab1a47c60), 9 of the 10 new YAML cases fail. For example, a dependent's 10,000 of Schedule C income takes the filer's deduction from 3,717.41 to 5,576.11, and a dependent's 600 of QBI lifts the filer's 2026 deduction from 100 to the 400 minimum. The case that passes on main is above the phase-in range, where a dependent without W-2 wages adds nothing. The property test fails both cases on main: in 62 of 200 seeded units the filer's deduction moves with dependents' inputs, by up to $135,844. On this branch all pass.~/reviews/pe-us-ms-hsa-qbid-2026-10-06/tests/qbid-readers.log.make test-other-python-rest-core), with no new jobs or runners. GitHub Actions has had every recent PR-workflow run queued, so there is no fresh Linux timing or memory report for that group to compare against.Follow-up (not in this PR): #9887. Iowa's
ia_net_income(and Mississippi'sms_agi) move a dependent's net income onto the head's state return. In Iowa, a dependent's business income therefore still reaches the parent's taxable income, now without a QBI deduction. Whether those transfers are right is a state-law question for that issue.Invariants (for every input)
Impact
Real microsimulations on the default dataset (
populace_us_2024.h5@populace-us-2024-spm-20260909), one run per checkout and year under the shared heavy lock (lockrun.sh,run.py,compare.pyin~/reviews/pe-us-merge-backlog-2026-10-02/impact/), compared record by record; enum arrays are not compared. Outputs:~/reviews/pe-us-ms-hsa-qbid-2026-10-06/microsim/. Base:mainbab1a47c60; branch head97041ee816.ia_qbi_deductionmo_business_income_deductionqualified_business_income_deduction_personia_income_tax_consolidated, which does not readia_qbi_deduction(married_filing_separately_on_same_return.availabilityis false from 2023). So Iowa tax changes only in TY2021–2022, which were not run.Axiom
axiom: TheAxiomFoundation/rulespec-us#1508 queued
us/statutes/26/199A.yamltakes the taxpayer's QBI as a tax-unit input and defers its composition (#1323). The issue asks that the composition be summed overtaxpayer_or_spouse_of_tax_unit, as #1494 does for §62(a). It also covers the Missouri 143.022 subtraction, which the us-mo core defers. Signed encoder runs need Max's approval.🤖 Generated with Claude Code