Summary
The k1bx14p/k1bx14s derivation in finalprep.py uses E30400/E30500 directly:
secatip = np.minimum(mte, data["e30400"])
nonbox14 = data["e00900p"] + data["e02100p"]
box14 = np.where(
np.logical_and(nonbox14 <= 0, secatip <= 0), 0.0, secatip - nonbox14
)
data["k1bx14p"] = box14.round(2)
However, E30400/E30500 in the IRS PUF are taxable SE income (post-0.9235 deduction factor), while E00900/E02100 are gross amounts. This mixes post-deduction and pre-deduction values in the subtraction.
Yale Budget Lab's approach
Yale's Tax-Data grosses up E30400/E30500 before the subtraction:
# process_puf.R
part_se = if_else(E25940 + E25980 - E25920 - E25960 != 0,
(E30400 + E30500) / 0.9235 - E00900 - E02100,
0)
Question
Does Tax-Calculator expect k1bx14p/k1bx14s to be:
- Gross partnership SE income (pre-deduction) - would need the 0.9235 gross-up
- Taxable partnership SE income (post-deduction) - current approach is correct
This affects downstream users who need to compute SE tax correctly.
Impact
Without the gross-up, k1bx14 values are ~8% lower than they should be if gross amounts are expected.
| Approach |
Formula |
Weighted Sum |
| Current taxdata |
(E30400 + E30500) - E00900 - E02100 |
$12.7B |
| Yale (with gross-up) |
(E30400 + E30500) / 0.9235 - E00900 - E02100 |
$55.7B |
The difference arises because without grossing up, you're subtracting gross Sch C/F amounts from already-reduced taxable SE amounts, which understates the partnership SE residual.
Summary
The
k1bx14p/k1bx14sderivation infinalprep.pyuses E30400/E30500 directly:However, E30400/E30500 in the IRS PUF are taxable SE income (post-0.9235 deduction factor), while E00900/E02100 are gross amounts. This mixes post-deduction and pre-deduction values in the subtraction.
Yale Budget Lab's approach
Yale's Tax-Data grosses up E30400/E30500 before the subtraction:
Question
Does Tax-Calculator expect
k1bx14p/k1bx14sto be:This affects downstream users who need to compute SE tax correctly.
Impact
Without the gross-up,
k1bx14values are ~8% lower than they should be if gross amounts are expected.(E30400 + E30500) - E00900 - E02100(E30400 + E30500) / 0.9235 - E00900 - E02100The difference arises because without grossing up, you're subtracting gross Sch C/F amounts from already-reduced taxable SE amounts, which understates the partnership SE residual.