You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PolicyEngine/policyengine-us#9306 adds passive_partnership_s_corp_income — the §469 passive subset of partnership_s_corp_income — and puts it in the NIIT base (§1411(c)(1)(A)(ii)). It defaults to zero, so until Microcosm populates it the engine under-taxes passive pass-through income under NIIT exactly as before. Microcosm needs a stage that assigns each record's passive share.
Not derivable from law alone: passivity is a facts-and-circumstances material-participation test (§469(h), the 500-hour and related tests); the PUF and CPS observe neither hours nor participation. So this is an anchored-prior stage, not a derivation.
Survey shape: the SCF distinguishes businesses the household actively manages (X3103/X3104, the basis of qbi_employer_structure_v1) from holdings with no active management role (X3401-X3452) — the cleanest public survey signal for "owner is passive." Extend the v3 SCF extract to that section: P(passive holding | income band, legal form) and the passive share of pass-through income by band.
Administrative level: SOI partnership passive/nonpassive tables and Form 8960 line-4 aggregates (chronicle ingestion companion issue) pin the aggregate passive share the assignment must hit — same SCF-shape / SOI-level rule v3 used for employer presence.
Placement: a per-record seeded draw of passive share (own rng family, so v1–v3 streams stay byte-identical), conditioned on income band and latent entity form (the v3 partnership/S-corp split already exists), emitting passive_partnership_s_corp_income = share × partnership_s_corp_income where positive. Gate behind the version flag like every other QBI family.
Today the engine's NIIT base includes rental_income in full while Schedule E rental is often passive-by-default; the new stage should not create an asymmetry where pass-through passivity is modeled but rental passivity is asserted. Document the treatment either way.
#1251 (draft, from #1239) populates passive_partnership_s_corp_income on the PUF channel from the PUF's own Schedule E passive columns: (E25940 − E25920) + (E26170 − E26160), the §469-limited passive income less allowed passive loss for partnerships and S corporations (field roles from the IRS SOI 2014 PUF General Description Booklet).
Form 8960 filers in the TY2015 PUF agree with that reading. The weighted regression of their investment income on the Schedule E legs puts 0.97 on passive and 0.03 on nonpassive. For filers whose only pass-through income is passive, Form 8960's Schedule E amount (net of rent, estate and farm rent) over passive has median 1.000.
If #1251 merges, this issue's anchored-prior design (an SCF-shaped passive share levelled to Form 8960) is not needed for the PUF channel, and building it on top would assign passivity twice. The ASEC channel carries no partnership income, so it has nothing to assign either; the late ACS transfer carries the PUF leaf. Whether to close this issue and PR #734 is queued for a ruling with #1251's merge.
The open note on rental income (the engine counts rental_income in NII in full) is outside #1251 and still applies.
Closed by #1251, which populates passive_partnership_s_corp_income from the PUF donor's Schedule E fields. The open note on rental_income in NII stays relevant to that engine rule and appears in #1251's body.
Activity
MaxGhenis commentedon Oct 13, 2026
#1251 (draft, from #1239) populates
passive_partnership_s_corp_incomeon the PUF channel from the PUF's own Schedule E passive columns:(E25940 − E25920) + (E26170 − E26160), the §469-limited passive income less allowed passive loss for partnerships and S corporations (field roles from the IRS SOI 2014 PUF General Description Booklet).Form 8960 filers in the TY2015 PUF agree with that reading. The weighted regression of their investment income on the Schedule E legs puts 0.97 on passive and 0.03 on nonpassive. For filers whose only pass-through income is passive, Form 8960's Schedule E amount (net of rent, estate and farm rent) over passive has median 1.000.
If #1251 merges, this issue's anchored-prior design (an SCF-shaped passive share levelled to Form 8960) is not needed for the PUF channel, and building it on top would assign passivity twice. The ASEC channel carries no partnership income, so it has nothing to assign either; the late ACS transfer carries the PUF leaf. Whether to close this issue and PR #734 is queued for a ruling with #1251's merge.
The open note on rental income (the engine counts
rental_incomein NII in full) is outside #1251 and still applies.MaxGhenis commentedon Oct 31, 2026
Closed by #1251, which populates
passive_partnership_s_corp_incomefrom the PUF donor's Schedule E fields. The open note onrental_incomein NII stays relevant to that engine rule and appears in #1251's body.