QuantCalc QuantCalc Federal tax engine docs

Federal tax / Sources

Federal tax engine: sources

Every official document behind a calculation step, with each passage that was checked on it (977 passages across 146 records) and the date it was last found there. A weekly job re-fetches every source and requires every passage; a passage that disappears fails it. Only official sources are cited: the statute, Treasury regulations, IRS revenue procedures, forms and publications, the enacted law.

IRS underpayment rate by quarter

Used by: Extended fields: Schedule A, 8606, 5329, the RMD, blindness, QSS and Form 2210; Form 2210: the penalty. Status: verified.

Rev. Rul. numbers 2025-7/-11/-18/-22, 2026-5/-10/-15 each confirmed in IRB 2025-13/23/37/48, 2026-08/22/36.

Tax-exempt interest (§103) enters Social Security provisional income (§86(b)(2)(B)) but not taxable income

Used by: Tax-exempt interest. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

Form 1040 and schedules: the line each engine value is reported on (TY2025 forms; the TY2026 forms are not yet published)

Used by: Tax-exempt interest; IRA distributions and Roth conversions; Pensions and annuities; Social Security benefits; Taxable Social Security (the Pub 915 worksheet); Net short-term gain or loss; Net long-term gain or loss; Combined net gain or loss; Line 7a: the net gain, or a net loss; Other ordinary income; Total income; Adjusted gross income; Standard deduction and the §63(f) aged amount; The senior deduction (Schedule 1-A); Additional deductions on line 13b; Total deductions; Taxable income; Tax: the brackets and the capital-gains worksheet; Tax: the Tax Table below $100,000; Tax: the Schedule D Tax Worksheet; The 10% additional tax on early distributions; Net investment income tax; Other taxes; Total tax. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

IRA distributions are included in gross income (§408(d)(1))

Used by: IRA distributions and Roth conversions. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

Pension and annuity payments are included in gross income (§72(a))

Used by: Pensions and annuities. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

SS taxability base / adjusted base §86(c)

Used by: Social Security benefits; Taxable Social Security (the Pub 915 worksheet). Status: verified.

Pub 915 MFS lived-apart uses $25,000

Used by: Taxable Social Security (the Pub 915 worksheet). Status: verified.

Pub 915 currently shows the 2025 edition (same statutory amounts).

Net short-term, net long-term and net capital gain (§1222)

Used by: Net short-term gain or loss; Net long-term gain or loss; Combined net gain or loss. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

Capital-gain distributions: 1099-DIV box 2a -> Form 1040 line 7a (Schedule D not required box, line 7b) or Schedule D line 13; QDCG worksheet line 3

Used by: Capital-gain distributions (Schedule D line 13). Status: verified.

Qualified dividends as net capital gain (§1(h)(11)) are already verified in rule qualified_dividends; not repeated. A box-2b/2c/2d amount forces Schedule D and, when line 18 or 19 of Schedule D is non-zero, the Schedule D Tax Worksheet (rule cg_28_1250_rates). Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

28% rate gain and unrecaptured §1250 gain: §1(h)(1)(E)/(F), §1(h)(3)-(4); Schedule D lines 18-20 route to the Schedule D Tax Worksheet

Used by: 28% rate gain (Schedule D line 18); Unrecaptured section 1250 gain (Schedule D line 19); Tax: the Schedule D Tax Worksheet. Status: verified.

TY2026 Schedule D instructions draft on irs-dft is still the TY2025 text (mentions carryover from 2024 to 2025); use final TY2025 instructions for the worksheet structure. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

§1211(b) capital loss limit

Used by: Line 7a: the net gain, or a net loss; Capital loss allowed (Schedule D line 21). Status: verified.

fed2/w3a (R2) added the limit behind an opt-in; engine 1.3.0 (fed2/r13) applies it on every return, the planner's default path and POST /api/federal-tax included. FedInputExt.capital_loss_floor (API capitalLossRules:false) is the explicit opt-out to the pre-1.3.0 floor (a net loss is a zero gain).

Gross income (§61)

Used by: Other ordinary income; Total income. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

§469 passive activity loss limit and the $25,000 offset for rental real estate with active participation

Used by: Rental real estate: the passive activity loss limit (Form 8582); Partnerships, S corporations, estates and trusts (Schedule E Parts II-III) and Form 8582's other passive activities. Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0); every quote checked with scripts/check_state_tax_sources.py. §469(i)(3)(E) lists the MAGI exclusions in the statute (§86 social security, §§219/221/250 deductions, passive losses); the Form 8582 instructions (rule form_8582) also leave out the deductible part of self-employment tax, and the engine follows the instructions. §469(i)(1)-(3) amounts are fixed in law (no inflation clause): rule fed-pal-allowance of research/data/federal-tax-indexing.json. §469(c)(7)(B) tests (more than half of personal services, more than 750 hours, material participation) are the caller's assertion (realEstateProfessional). §469(f)(1)(C): a prior unallowed loss of a former passive activity left after offsetting that activity's income stays passive: it goes on Form 8582 and can use the special allowance (rule form_8582).

Form 8582 (2025) Parts I-III: the rental real estate special allowance

Used by: Rental real estate: the passive activity loss limit (Form 8582). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). One rental net amount per return (Schedule E line 21 total): Part I line 1a (income) or 1b (loss), the prior unallowed loss on line 1c; without active participation the same amounts go on line 2a-2c and Part II does not apply (line 3 < 0 and line 1d >= 0 skips to line 10). Line 6 MAGI items the engine has: the rental activity itself (a passive loss is left out), taxable social security, the IRA deduction, the deductible part of SE tax, the student loan interest deduction. The series EE/I bond and adoption-assistance exclusions and the FDII/GILTI deduction are not in the engine. Correction to the 2.1 design (real estate professional with a prior unallowed loss): the prior-year loss of the former passive activity goes on Form 8582 with the current net income up to that loss (none when the year is a loss; the current-year loss itself is nonpassive and allowed in full). So the prior loss is allowed against that income AND, the activity being rental real estate with active participation, the rest can still use the Part II special allowance; only what is left after Part II carries forward. Line 6 MAGI leaves out the professional's nonpassive rental loss (§469(i)(3)(E)(iv)).

Schedule E (2025) Part I totals: rental real estate income or loss to Schedule 1 line 5; rents are net investment income and not self-employment income

Used by: Rental real estate income or loss (Schedule E line 26, Schedule 1 line 5); Net investment income: rents (Form 8960 line 4a). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). Not modelled (disclosed): the Rev. Proc. 2019-38 QBI safe harbour for rental real estate, the §1.1411-4(g)(7) rule that takes a qualifying real estate professional's rental income out of net investment income, §469(g) dispositions and the per-activity allocation of an unallowed loss (Form 8582 worksheets 5-6).

Wages: Form 1040 line 1a (W-2 box 1); line 1z total

Used by: Wages (Form 1040 line 1a). Status: verified.

FICA rates 6.2%/1.45% and the $184,500 2026 wage base are verified in rules fica_rates, ss_wage_base, ss_wage_base_fr. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

FICA rates / Additional Medicare

Used by: Wages (Form 1040 line 1a); Self-employment tax (Schedule SE, Schedule 2 line 4); Additional Medicare Tax (Form 8959); Employee payroll taxes (FICA), a standalone function. Status: verified.

SE factor 0.9235 derived from §1402(a)(12) (1 - half of 15.3%).

Self-employment tax: Schedule SE 92.35% (line 4a), $400 floor (§1402(b)(2)), 12.4% up to wage base less SS wages (lines 7-10), 2.9% (line 11), half deductible (§164(f), line 13 -> Schedule 1 line 15), SE tax -> Schedule 2 line 4

Used by: Business income (Schedule 1 line 3); Self-employment tax (Schedule SE, Schedule 2 line 4); Deductible part of self-employment tax (Schedule 1 line 15); Adjustments to income (Form 1040 line 10). Status: verified.

The 0.9% Additional Medicare on SE income is excluded from the half-SE-tax deduction (§164(f)(1) parenthetical) - see rule addl_medicare_8959 for 8959 Part II. TY2026 draft Schedule SE instructions (irs-dft/i1040sse--dft.pdf) are TY2026 text. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

QBI deduction, simplified (Form 8995): 20% of QBI, limited to 20% of (taxable income before QBI minus net capital gain incl. qualified dividends); QBI reduced by deductible half of SE tax, SE health insurance and retirement contributions

Used by: Business income (Schedule 1 line 3); Self-employed retirement plan deduction (Schedule 1 line 16); Self-employed health insurance deduction (Schedule 1 line 17); Adjustments to income (Form 1040 line 10); Qualified business income deduction (Forms 8995 / 8995-A). Status: verified.

Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

OASDI wage base 2026

Used by: Self-employment tax (Schedule SE, Schedule 2 line 4); Excess social security tax withheld (Schedule 3 line 11); Employee payroll taxes (FICA), a standalone function. Status: verified.

Additional Medicare Tax 0.9%: §3101(b)(2) wages, §1401(b)(2) SE income with the wage coordination; Form 8959 -> Schedule 2 line 11

Used by: Additional Medicare Tax (Form 8959); Employee payroll taxes (FICA), a standalone function. Status: verified.

Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Excess social security withheld with more than one employer: §6413(c)(1) + §31(b); Schedule 3 line 11

Used by: Excess social security tax withheld (Schedule 3 line 11). Status: verified.

The 2026 cap (6.2% x $184,500) is arithmetic, not a quoted figure; no final TY2026 instruction text states it yet (the i1040gi draft on irs-dft is still TY2025). Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Social Security retirement earnings test: exempt amounts, $1-for-$2 / $1-for-$3 withholding, which earnings count (42 U.S.C. 403(f))

Used by: The Social Security earnings test, a standalone function. Status: verified.

20 CFR 404.430/404.434 on eCFR render their body text client-side; a plain fetch returned only page chrome, so no claim is recorded there (status unverifiable). 42 U.S.C. 403(f) is used instead. Exempt amounts are set as MONTHLY amounts rounded to $10 (403(f)(8)(B)); the annual figures are 12x. 20 CFR 404.430 (eCFR) is not cited: eCFR renders the section text in the browser, so the weekly checker's fetch returns only page chrome and the quote cannot be verified (federal engine 2.0 W0, 2026-09-30). 42 U.S.C. 403(f) carries the same rule and is cited instead. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Retirement earnings test 2026

Used by: The Social Security earnings test, a standalone function. Status: verified.

Adjusted gross income (§62)

Used by: Adjusted gross income. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

2026 standard deduction

Used by: Standard deduction and the §63(f) aged amount; The year's brackets and deductions. Status: verified.

Rev. Proc. 2025-32 §4.14(1).

§63(f) additional std deduction aged/blind 2026

Used by: Standard deduction and the §63(f) aged amount; The year's brackets and deductions. Status: verified.

Rev. Proc. 2025-32 §4.14(3) (section 4 holds the 2026 items). Code comments and the standard-deduction pages cited the 2025 section (3); corrected 2026-09-28. Engine 1.5.0: a filer or spouse born on January 1 takes it a year early (rule age65_day_before).

Age 65 is reached the day before the 65th birthday (born January 1 = 65 at the end of the prior year)

Used by: Standard deduction and the §63(f) aged amount; The senior deduction (Schedule 1-A). Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect. Applied to the two age-65 tests only: the RMD applicable age reads the date of birth (26 CFR 1.401(a)(9)-2), and no IRS text applies the day-before rule to 55, 59½ or 70½.

§63(f)(2) additional standard deduction for the blind

Used by: Additional standard deduction for blindness. Status: verified.

The MFS case of a spouse with no income who is not a dependent (§63(f)(2)(B) via §151(b)) is not modelled: MFS counts the filer only.

Line labels of Schedule A, Forms 8606, 5329 and 2210 (TY2025 forms; TY2026 not yet published)

Used by: Additional standard deduction for blindness; Medical and dental expenses; State and local taxes paid; The SALT cap and its phase-down; Interest you paid; Gifts to charity: the percentage limits and the 0.5% floor; Total itemized deductions; Form 8606: the nontaxable part of a conversion; Form 8606: the nontaxable part of all distributions; Form 8606: basis carried forward; Roth IRA distributions: ordering and the 5-year rules; Form 5329: early distributions; Form 5329: the exceptions to the additional tax; Form 5329: the missed-RMD excise tax; Form 2210: the required annual payment; Form 2210: the underpayment by installment; Form 2210: the penalty. Status: verified.

The engine's own ids for amounts the TY2025 forms have no line for (the §68 reduction, the blind addition, the itemize flag, the §170(p) deduction, the RMD) say so in their labels.

OBBBA senior deduction §151(d)(5)(C)

Used by: The senior deduction (Schedule 1-A); The year's brackets and deductions. Status: verified.

Codified at IRC §151(d)(5)(C) (added by OBBBA §70103): (C)(i)-(ii) amount per qualified individual, (C)(iii)(I) the 6% phase-out, (C)(v) joint-return requirement. Code comments cited subparagraphs (A)/(B); corrected 2026-09-28.

OBBBA §70103 effective date (2025 start)

Used by: The senior deduction (Schedule 1-A). Status: verified.

IRS: senior deduction per individual ($12,000 couple), 2025-2028

Used by: The senior deduction (Schedule 1-A). Status: verified.

URL redirects from the old one-big-beautiful-bill-* slug.

§224(c) tips received in a trade or business (not as an employee): deductible only up to that business's net profit

Used by: Tips received in a trade or business (section 224(c)). Status: verified.

Modelled since federal engine 2.3.2 (API selfEmployedQualifiedTips / spouseSelfEmployedQualifiedTips): the engine's one business per person, its net profit selfEmploymentIncome (Schedule C line 31); the 2026 draft's column (iv), other allocable deductions, is not an input (the final regulations leave whether the half-SE-tax, self-employed health insurance and retirement deductions are allocable outside their scope). Before 2.3.2 the API took every tip in qualifiedTips without this limit.

§224 tips / §225 overtime: SSN required, joint return if married, MAGI = AGI + §911/931/933 exclusions, terminate after 2028; below-the-line (§63(b)(5)-(6), Schedule 1-A -> 1040 line 13b (2025) / 13a (2026 draft))

Used by: No tax on tips (Schedule 1-A Part II); No tax on overtime (Schedule 1-A Part III). Status: verified.

Also extends rule overtime. Senior deduction interaction: existing rules senior/senior_eff; the same Schedule 1-A line-3 MAGI feeds the senior phase-out (Sch 1-A line 31 in 2025). Not an above-the-line adjustment: Schedule 1-A total goes to Form 1040 line 13b (2025) / 13a (2026 draft), after AGI (line 11b), so it does not reduce AGI, NIIT MAGI, IRMAA MAGI or §86 provisional income. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

No tax on tips §224

Used by: No tax on tips (Schedule 1-A Part II). Status: verified.

Modelled since federal engine 2.0 W2 (Schedule 1-A; API fields qualifiedTips / qualifiedOvertime).

No tax on overtime §225

Used by: No tax on overtime (Schedule 1-A Part III). Status: verified.

Modelled since federal engine 2.0 W2 (Schedule 1-A; API fields qualifiedTips / qualifiedOvertime).

OBBBA §70105 changes to §199A: phase-in range $75,000/$150,000 (not indexed); §199A(i) $400 minimum deduction for >= $1,000 active QBI (material participation), indexed after 2026 (base 2025, round to nearest $5); termination repealed

Used by: Qualified business income deduction (Forms 8995 / 8995-A). Status: verified.

Is the $400 minimum limited by taxable income? The statute does not say so: §199A(i)(1) sets the deduction to 'the greater of' the regular amount or $400, and the regular amount is the one that carries the 20%-of-taxable-income limit. The TY2026 draft 8995 line 17 is 'the greater of line 15 or line 16' and the draft instructions say to enter $400 when 'the smaller of line 10 or 14 is less than $400'. So on the form the $400 is NOT capped by the income limitation (line 14). The draft line-16 text (split across a page break) does add 'subject to the applicable limitations', which it does not define. Taxable income itself cannot go below zero: 2026 draft Form 1040 line 15 reads 'if zero or less, enter -0-'. The net effect is that the deduction can reduce taxable income to 0 and no further. An engine that allows $400 when taxable income before QBI is 0 matches the statute and the draft form. Capping it at taxable income gives the same taxable income, because line 15 is floored at 0, but reports a different line 13b. Phase-in range amounts ($75,000/$150,000) have no inflation clause in §199A; only the threshold (e)(2) is indexed. Rev. Proc. 2025-32 phase-in end = threshold + 75,000/150,000. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

§199A threshold / phase-in end 2026

Used by: Qualified business income deduction (Forms 8995 / 8995-A). Status: verified.

§4.26.

The K-1s' section 199A information (QBI, W-2 wages, UBIA, SSTB) as one more trade or business on Form 8995 / 8995-A; passive QBI is QBI; guaranteed payments are not

Used by: Qualified business income deduction (Forms 8995 / 8995-A). Status: verified.

The aggregation of the K-1 businesses into one column is the caller's (an aggregation election or one business); the section 199A(i) minimum counts it only as an active business (k1QbiActive).

Taxable income (§63(a), (b))

Used by: Total deductions; Taxable income. Status: verified.

Added 2026-09-28 (A1/DOC1): a source for a Form 1040 composition step of the federal engine; every quote checked with scripts/check_state_tax_sources.py --url/--expect.

2026 ordinary brackets Single

Used by: Tax: the brackets and the capital-gains worksheet; Tax: the Tax Table below $100,000. Status: verified.

PDF column order interleaves the last two Single rows; snippet matches the extracted order.

2026 ordinary brackets MFJ

Used by: Tax: the brackets and the capital-gains worksheet; Tax: the Tax Table below $100,000. Status: verified.

2026 ordinary brackets MFS

Used by: Tax: the brackets and the capital-gains worksheet; Tax: the Tax Table below $100,000. Status: verified.

2026 ordinary brackets HOH

Used by: Tax: the brackets and the capital-gains worksheet; Tax: the Tax Table below $100,000. Status: verified.

2026 LTCG 0%/15% max amounts

Used by: Tax: the brackets and the capital-gains worksheet; Tax: the Schedule D Tax Worksheet. Status: verified.

§4.03.

Qualified dividends taxed as net capital gain (QDCG worksheet), incl. worksheet line 25 (never above the regular tax)

Used by: Tax: the brackets and the capital-gains worksheet; Qualified dividends (line 3a). Status: verified.

fed2/w3a (R1). The holding-period test (the 121-day period) is assumed met for every dividend entered as qualified. Worksheet line 25 is applied on returns with R1/R2 amounts only; the 1.0.0 path (long-term gain alone) does not apply it (defects ledger 2026-09-28, open). The holding-period test (more than 60 days in the 121-day period that begins 60 days before the ex-dividend date; IRS Pub 550) is taken as met: every dividend the caller calls qualified is taxed as qualified. Stated in the API's notModeled list, on /methodology.html and in the app's yield hint.

The IRS Tax Table: Form 1040 line 16 below $100,000 (IRC §3)

Used by: Tax: the Tax Table below $100,000. Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect. The construction (midpoint, half-dollar rounding up, the row widths) was verified on every row of the 2025 table (i1040tt.pdf, which now redirects to p1040.pdf): 2,062 rows x 4 filing statuses, 0 mismatches against the 2025 rate schedules. The 2026 table is not published; the engine builds it the same way on the 2026 schedules. Only POST /api/federal-tax and libfedtax apply it (taxTable, default true). The planner (/api/simulate) and the ACA bridge use the rate schedules on every dollar: their years are projections whose tables are not published and their solvers need a continuous tax; the difference is at most about half a row times the marginal rate plus rounding in a year.

Foreign tax credit without Form 1116: §904(j) - all foreign income qualified passive (payee statement), creditable taxes <= $300 ($600 joint), election; Schedule 3 line 1

Used by: Foreign tax credit without Form 1116 (the section 904(j) election). Status: verified.

Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

FTC limitation §904(a) (tax x foreign-source taxable income / worldwide taxable income), §904(b)(2) capital-gain rate-differential adjustment (Form 1116 QD/CG adjustment 0.4054 / 0.5405, 25% / 28% groups 0.6757 / 0.7568, adjustment exception), carryback 1 / carryforward 10 (§904(c)); line 18 adds back the senior deduction

Used by: Foreign tax credit with Form 1116 (the section 904(a) limit, passive category); The AMT foreign tax credit (Form 6251 line 8). Status: verified.

The adjustment-exception ceiling in the TY2025 instructions ($394,600 / $197,300) is a TY2025 figure. The i1116 file on irs-dft is still TY2025 text, so no 2026 figure is sourced here. Status: unknown for 2026. The senior deduction is removed from the line-18 denominator because §904(b)(1) excludes §151 deductions and the senior deduction sits in §151(d)(5)(C). Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

AMT exemption / phase-out 2026 (the reference amounts; the engine's are FedWorkParams amt_*, rule amt_2026_params)

Used by: Alternative minimum tax (Form 6251). Status: verified.

Modelled since federal engine 2.0 W3 (Form 6251 on every API return); the capital-gains / TLH tool figures it through the engine since W6 (2026-10-01).

AMT 2026 (Rev. Proc. 2025-32 §4.10 + §55 as amended by P.L. 119-21 §70107): exemption, 26%/28% breakpoint, phase-out thresholds and 50% phase-out rate

Used by: Alternative minimum tax (Form 6251). Status: verified.

2026 phase-out rate 50%: Rev. Proc. complete-phaseout amounts confirm it, e.g. 1,000,000 + 140,200 / 0.5 = 1,280,400. TY2025 used 25% ($1,252,700 threshold). That was the pre-OBBBA $1,000,000 figure indexed from 2017 with 2025 as the last year; OBBBA reset it to $1,000,000 in 2026. The breakpoint $175,000 is indexed under §55(d)(3) (base 2011, nearest $100); MFS is half (§55(b)(1)(C)). It is NOT covered by the §55(d)(4) base-year change. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Form 6251 structure relevant to retirees (TY2025 final; TY2026 draft keeps lines): line 1a/1b (senior deduction added back), 2a (SALT or standard deduction add-back), 2g private activity bond interest, 2i ISO, Part III keeps 0/15/20% on QD/CG, line 8 AMTFTC; line 8 AMT Form 1116: line 18 = Form 6251 line 4, or the AMT Worksheet for Line 18 (lines 23, 30 x 0.4643, 33 x 0.2857, 36 x 0.1071 off line 4) with the foreign QD at 0.5357 / 0.7143 / 0.8929; line 8 blank when line 10 >= line 7

Used by: Alternative minimum tax (Form 6251); The AMT foreign tax credit (Form 6251 line 8). Status: verified.

Schedule 1-A tips/overtime/car-loan deductions stay deducted for AMT: line 1a removes only the senior line (37 / 2026 draft 43) from line 14. TY2026 draft instructions for 6251 on irs-dft are still the TY2025 text. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Minimum tax credit (Form 8801) - note only, not modelled

Used by: Alternative minimum tax (Form 6251). Status: verified.

Only the deferral items (e.g. ISO spread) create the credit; exclusion items (SALT, standard deduction, private activity bond interest) do not. This is why 8801 needs multi-year state and is out of scope for a single-year engine. Federal engine 2.0 W0 (2026-09-30): merged from research/data/federal-engine-2-sources.json; engine locations are filled in by the wave that models the rule (docs/federal-engine-2/PLAN.md).

Form 1040 (2025) lines 16-24, 27a, 28 and Schedule 3 (2025) lines 1, 4, 6d, 8

Used by: Form 1040 lines 18 to 22: the order of the nonrefundable credits. Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). The EIC and the ACTC are payments (line 32), not part of line 24.

§22 credit for the elderly or the disabled (Schedule R)

Used by: Credit for the elderly or the disabled (Schedule R). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). Correction to the 2.1 design: the Schedule R Credit Limit Worksheet subtracts Schedule 3 lines 1, 2 and 6l (not lines 1-3): the elderly credit is taken before the education credits. Of those lines the engine has only line 1 (foreign tax credit). The §22 amounts are fixed in law (no inflation clause): rule fed-elderly-credit of research/data/federal-tax-indexing.json. Table 1's AGI limits are not separate parameters: initial amount x 2 + the §22(d) threshold. Permanent and total disability (physician's statement) and the mandatory-retirement-age test are the caller's assertion (taxableDisabilityIncome).

§25B saver's credit (Form 8880) for 2026, and its end for retirement contributions after 2026

Used by: Saver's credit (Form 8880). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). The 2026 50% and 10% tops are also quoted in rule roth_savers. Correction to the 2.1 design: SECURE 2.0 §103 did not replace §25B outright. Its §25B amendment (§103(e)(1)) was repealed by Pub. L. 119-21 §70116(a)(2); §25B(d)(1) as amended by §70116(a)(1) counts the retirement contributions only for taxable years beginning before January 1, 2027, and keeps the credit (cap $2,100 from 2027) for ABLE contributions by the designated beneficiary. The engine's inputs are retirement contributions, so its credit is 0 in 2027 and later; ABLE contributions are not an engine input. Form 8880 line 4: on a joint return each spouse's distributions reduce BOTH columns (§25B(d)(2)(D)). Correction to the 2.1 design: the Credit Limit Worksheet also subtracts Schedule 3 line 6l (not in the engine). Age 18 follows the day-before-birthday rule (Form 8880: not eligible if born after January 1, 2008, for 2025).

Roth IRA phase-out and Saver's credit 2026

Used by: Saver's credit (Form 8880). Status: verified.

Engine 2.1.0 (fed/2.1): the saver's credit AGI table of Form 8880 is FedWorkParams.savers_agi in backend/src/federal_tax.c; the 20% tier tops and the statute/form quotes are in rule savers_credit_25b; indexing rule fed-savers-agi.

Child tax credit 2026

Used by: Child tax credit, credit for other dependents and additional child tax credit (Schedule 8812). Status: verified.

§4.05. Engine 2.1.0 (fed/2.1): Schedule 8812 in backend/src/federal_tax.c (FedWorkParams.ctc_per_child, ctc_refundable) and its JS mirror frontend/js/calc/federal-tax-engine-2026.js; form lines in rule ctc_8812; indexing rules fed-ctc and fed-ctc-refundable.

CTC statutory: $400k/$200k threshold, $500 ODC, $2,500 floor

Used by: Child tax credit, credit for other dependents and additional child tax credit (Schedule 8812). Status: verified.

Engine 2.1.0 (fed/2.1): FedWorkParams.ctc_threshold[0..1], ctc_other_dependent, ctc_earned_floor (fixed in law: indexing rule fed-ctc-fixed); JS mirror frontend/js/calc/federal-tax-engine-2026.js.

§24 child tax credit and credit for other dependents (Schedule 8812 Parts I, II-A, II-B)

Used by: Child tax credit, credit for other dependents and additional child tax credit (Schedule 8812). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). The 2026 amounts: rules ctc (Rev. Proc. 2025-32 §4.05) and ctc_statute. Credit Limit Worksheet A subtracts Schedule 3 lines 1, 2, 3, 4, 5b, 6d, 6f, 6l and 6m (as the 2.1 design says); of these the engine has 1 (FTC), 4 (saver's) and 6d (elderly). Credit Limit Worksheet B (mortgage interest, adoption, residential clean energy, DC homebuyer credits) is not needed: none of those credits is in the engine. Correction to the 2.1 design: Part II-B line 22 is Schedule 1 line 15 (the deductible HALF of SE tax, §24(d)(2)(A)(ii)), and line 24 subtracts the EIC AND Schedule 3 line 11 (excess social security withheld). Line 21 with Additional Medicare Tax: withheld SS + withheld Medicare + Form 8959 line 7 - Form 8959 line 22, plus one-half of Form 8959 line 13. Line 18a earned income: the EIC Worksheet B line 4b when the EIC is figured; otherwise the Earned Income Worksheet: Form 1040 line 1z + Schedule C line 31 - Schedule 1 line 15 (the same amount). The $5,100 test of line 16b is 3 x $1,700.

EITC 2026 table

Used by: Earned income credit (Form 1040 line 27a). Status: verified.

§4.06. Engine 2.1.0 (fed/2.1): FedWorkParams.eitc_earned[0..3], eitc_threshold[2][4], eitc_inv_limit (indexing rules fed-eitc-amounts, fed-eitc-investment-limit); the maximum credit and completed phaseout amounts follow from the earned income amounts, thresholds and the §32(b)(1) percentages. Eligibility, earned income and the EIC Table: rule eitc_rules_32.

EITC credit/phaseout percentages §32(b)(1)

Used by: Earned income credit (Form 1040 line 27a). Status: verified.

Engine 2.1.0 (fed/2.1): the C engine and frontend/js/calc/federal-tax-engine-2026.js apply these percentages (rates: not indexed).

§32 earned income credit: eligibility, earned income, the EIC Table and the investment income worksheet

Used by: Earned income credit (Form 1040 line 27a). Status: verified.

Added 2026-10-06 (fed/2.1, engine 2.1.0). The 2026 amounts: rules eitc (Rev. Proc. 2025-32 §4.06) and eitc_pct (§32(b)(1)). No temporary rule applies to 2026: §32(n) (age 19, no upper age) covered only taxable years beginning in 2021. Correction to the 2.1 design: the age test is NOT the §63(f) day-before rule at both ends. Age 25 is reached the day before the 25th birthday, age 65 on the 65th birthday (Pub 596): for 2026 a childless filer qualifies if born after December 31, 1961 and before January 2, 2002. Correction to the 2.1 design: earned income from self-employment is Schedule SE line 3 (net profit, before the 92.35% factor) minus line 13 (the §164(f) deduction), not net earnings x 92.35%; under the $400 Schedule SE floor it is the Schedule C line 31 profit in full (Worksheet B Part 2). A Schedule C loss reduces earned income. Correction to the 2.1 design (investment income): rental real estate enters Pub 596 Worksheet 1 through the passive-activity lines 11-13, from Schedule E line 26 (after the Form 8582 limit, so an allowed loss offsets other passive income) and floored at 0; a real estate professional's (non-passive, NPA) rental income or loss is not investment income. EIC Table: $50 brackets from $1; the credit is the §32(a)-(b) formula at the bracket midpoint rounded to the nearest dollar (first row $1-$50: 2 / 9 / 10 / 11; $2,450-$2,500 with one child: $842 = 0.34 x 2,475 rounded). MFS filers who qualify use the single column.

§72(t) 10% additional tax; 59½ exception

Used by: The 10% additional tax on early distributions; Form 5329: early distributions; §72(q): the 10% on a nonqualified annuity before 59½. Status: verified.

Engine 1.1.0 (age clock): without a birth month the tax applies through the year the owner reaches 59 and not from the year they reach 60; with one, only to the share of the year before 59½ (tax_calculator.c early_withdrawal_penalty_share). The §72(t)(2) exceptions of disability, substantially equal periodic payments and separation from service at 55 (50 for public safety) are modelled (rule 72t_exceptions); others are not.

NIIT §1411 rate and thresholds

Used by: Net investment income tax. Status: verified.

NIIT IRS page

Used by: Net investment income tax. Status: verified.

§1411 net investment income: interest, dividends and net gain (Form 8960 line 5a = Form 1040 line 7a)

Used by: Net investment income tax; Taxable interest (line 2b); Ordinary dividends (line 3b); Total investment income (Form 8960 line 8); Form 8960 line 12: net investment income. Status: verified.

fed2/w3a (R1/R2) introduced the whole-NII base for returns with R1/R2 amounts; engine 1.3.0 (fed2/r13) uses it on every return (the pre-1.3.0 default base left out long-term gain sheltered by an unused deduction; defects ledger 2026-09-28, fixed). Engine 1.5.0 (fed6/f1): nonqualified annuities on line 3 and the Part II deductions (rules niit_annuities, niit_part2).

Medical and dental expenses §213(a) over 7.5% of AGI (Schedule A line 4)

Used by: Medical and dental expenses. Status: verified.

SALT cap §164(b)(6)-(7) with the 30% phase-down (Schedule A line 5e)

Used by: State and local taxes paid; The SALT cap and its phase-down; Itemize or take the standard deduction. Status: verified.

Modelled: see rule salt_sched_a (the MFS halving, the 101% steps and the Schedule A worksheet).

SALT cap as the engine applies it: MFS halving, 101% indexing, Schedule A line 5e worksheet

Used by: The SALT cap and its phase-down. Status: verified.

MAGI = AGI (no §§911/931/933 exclusions in the engine). The statute states no rounding for the 101% steps; the engine does not round.

Itemize-vs-standard §63(b)/(e); MFS spouse-itemizes rule §63(c)(6)(A)

Used by: Interest you paid; Total itemized deductions; Itemize or take the standard deduction. Status: verified.

Engine 1.5.1 (PROP-FED-4): auto mode figures the return both ways when Schedule A has amounts and keeps the lower total tax (engine 1.5.1 kept the standard deduction on a tie; engine 1.5.2 takes the larger deduction on a tie, |difference| <= $0.005, as the 1040 and Schedule A instructions quoted above: line 15, which the capital-loss carryover worksheet and later years read, then follows the larger deduction). Engine <= 1.5.0 itemized when Schedule A (after §68) exceeded the standard deduction plus §170(p), on the premise that a larger deduction never raises the tax, which Form 8960 Part II (itemized returns only, engine 1.5.0) broke: $113,512 instead of $112,344 on the finding's return, and a $1,223.60 step on one cent of investment interest.

Charitable deduction limits §170(b)(1)(C)/(G)/(H) and the OBBBA 0.5% floor §170(b)(1)(I)

Used by: Gifts to charity: the percentage limits and the 0.5% floor. Status: verified.

Carryovers (5 years) of contributions over the percentage limits, and of amounts disallowed by the floor, are not modelled: the excess is not deducted in the year (disclosed in federal_tax.c). Only cash and capital-gain property to public charities are modelled (no private-foundation 20%/30% classes). Engine 1.5.0 (FED-DIFF-01): the Worksheet 2 order — cash first under 60%, then property under the smallest of 30% and 50% minus the cash; engine <= 1.4.0 took the property first and gave the cash only what was left of 60%, never applying line 28.

Charitable contribution carryover: 5 succeeding years, current year first, oldest carryover first (IRC 170(d)(1)(A); Pub 526)

Used by: Gifts to charity: the five-year carryover. Status: verified.

A carryover is consumed in a year the standard deduction is taken (26 CFR 1.170A-10(a)(2), (b)(2))

Used by: Gifts to charity: the five-year carryover. Status: verified.

The reg text dates from the pre-1987 'section 144 election'; still the operative rule (Pub 526 lists 'Claim the standard deduction in a carryover year' as a special carryover situation it does not explain).

AGI-percentage limit classes (IRC 170(b)(1)(A),(B),(C),(D),(G); OBBBA made 60% cash permanent)

Used by: Gifts to charity: the five-year carryover. Status: verified.

Cross-check of repo rule charity_limits (same 170 quotes re-confirmed). Cornell's (G)(i) now reads 'For taxable years beginning after December 31, 2017' with no end year - the 60% cash limit is permanent.

2026+: 0.5% floor and carryovers (IRC 170(b)(1)(I), 170(d)(1)(C), OBBBA 70425)

Used by: Gifts to charity: the five-year carryover. Status: verified.

The statute's text applies the floor to the aggregate of the year's contributions; no posted product says how a carryover into a later year is treated (Publication 526 for 2026 is not out). The engine applies the floor to the total, carryovers included, and discloses it; see NOTES.

2026+ 2/37 itemized-deduction reduction (IRC 68) vs carryovers

Used by: Gifts to charity: the five-year carryover. Status: verified.

Cross-check of repo rule section_68. No text in 68 mentions carryovers; the carryover amount is fixed by 170(d) before 68 applies (68(b)).

§68 limitation on the tax benefit of itemized deductions (OBBBA §70111)

Used by: The §68 limitation on itemized deductions. Status: verified.

Applies to ALL itemized deductions (not only charity): each itemized dollar in the 37% bracket saves 35 cents.

Non-itemizer charitable deduction §170(p) (OBBBA §70424)

Used by: Charitable deduction for non-itemizers. Status: verified.

A QSS return is not a joint return: $1,000.

Form 8606 pro-rata basis §408(d)(2)

Used by: Form 8606: the nontaxable part of a conversion; Form 8606: the nontaxable part of all distributions; Form 8606: basis carried forward. Status: verified.

Employer-plan dollars carry no after-tax basis in the engine. The 8606 line 10 ratio is not rounded to 3 places (the form allows 'at least 3 places').

Roth distributions §408A(d): qualified distribution, ordering, conversion 5-year recapture

Used by: Roth IRA distributions: ordering and the 5-year rules. Status: verified.

Engine convention for 59½: END-OF-YEAR age >= 60 (the §72(t) convention). Death, first-home and special-purpose distributions are not modelled; an unknown first-contribution year is treated as not qualified.

§72(t)(2)(A) exceptions: disability, SEPP, separation from service at 55 (50 public safety), employer plans only; governmental 457(b) (engine 1.5.0); a beneficiary after the owner's death (engine 2.0.1)

Used by: Form 5329: early distributions; Form 5329: the exceptions to the additional tax; An inherited account: the year's required distribution. Status: verified.

The SEPP schedule itself (RMD / amortization / annuitization methods, Notice 2022-6) is not computed: the caller supplies the installment. Other exceptions (first home, medical, birth/adoption, emergency, domestic abuse, terminal illness, ...) are not modelled. Engine 1.5.0: governmental457bDistribution is excepted at any age (rule gov_457b). Engine 1.5.0 (PROP-FED-2): the SEPP installment is IRA dollars. A series paid by an employer plan is excepted only once the employee has separated from service (§72(t)(3)(B), quoted above), which is not modelled: the API refuses a seppDistribution that overlaps employerPlanDistribution, and the engine limits the SEPP's taxable part to the taxable IRA part, so the Form 8606 ratio never reaches employer-plan dollars. Engine 2.0.1: beneficiaryDistribution (a beneficiary's distribution from an inherited IRA or employer plan, §72(t)(2)(A)(ii), quoted above; Form 5329 exception 04) is excepted at any age. The API refuses it with iraBasis: the decedent's basis in an inherited IRA is not pooled with the beneficiary's own (a separate Form 8606), which is not modelled.

Governmental §457(b) distributions are outside §72(t) (except amounts rolled in from a qualified plan)

Used by: Form 5329: the exceptions to the additional tax. Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect. §4974(c) lists §401(a), 403(a), 403(b) and 408(a)/(b) arrangements and no §457(b) plan; §72(t)(9) brings back only the part attributable to a rollover from a qualified plan, which the caller leaves out of governmental457bDistribution.

Missed-RMD excise §4974 (SECURE 2.0)

Used by: Form 5329: the missed-RMD excise tax. Status: verified.

The §4974(d) reasonable-cause waiver is not modelled. The excise is not part of the Form 2210 tax (i2210: Schedule 2 line 8 "additional tax on distributions only").

RMD Joint and Last Survivor Table (spouse sole beneficiary, more than 10 years younger)

Used by: The RMD divisor: Uniform Lifetime or Joint and Last Survivor; The required minimum distribution. Status: verified.

eCFR prints cell (19, 35) blank; the generator fills it from its mirror (35, 19) = 68.0 and says so in the header. The printed table is symmetric only to within its 0.1 rounding ((2,5) 88.5 vs (5,2) 88.6); lookups use [owner][spouse] as printed. --check re-derives the header from eCFR.

Uniform Lifetime Table (ages 72-120)

Used by: The RMD divisor: Uniform Lifetime or Joint and Last Survivor; The required minimum distribution. Status: verified.

All 49 rows machine-compared to the eCFR text: 0 differences.

SECURE 2.0 applicable age bands

Used by: The RMD divisor: Uniform Lifetime or Joint and Last Survivor. Status: verified.

1959 cohort = 73 is a disclosed assumption (reg reserved).

The RMD divides the account balance at the close of the preceding December 31

Used by: The required minimum distribution. Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect. Engine <= 1.4.0's planner divided the balance after the year's returns (fed-fm3-11).

First RMD may be delayed to April 1 of the next year (the RBD) -> two RMDs that year

Used by: The required minimum distribution. Status: verified.

Second-year RMD uses the Dec 31 balance of the first year, NOT reduced by the April-1 distribution

Used by: The required minimum distribution. Status: verified.

Cross-check of repo rule rmd_prior_balance (same p590b / -5 quotes).

Inherited account: 10-year rule (SECURE Act, IRC 401(a)(9)(H))

Used by: An inherited account: the payout rule and the distribution period; An inherited account: the year's required distribution. Status: verified.

Statute: 401(a)(9)(H)(i) substitutes 10 years for the 5 years of 401(a)(9)(B)(ii) for designated beneficiaries; the 5-year rule remains for non-designated beneficiaries (estate, charity, non-see-through trust) when death is before the RBD.

Eligible designated beneficiary (EDB) categories (IRC 401(a)(9)(E)(ii); 26 CFR 1.401(a)(9)-4(e))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Beneficiaries are fixed as of Sept 30 of the year after death (disclaimers/cash-outs by then remove a beneficiary): 1.401(a)(9)-4(c).

EDB life-expectancy payouts: start year and divisor (26 CFR 1.401(a)(9)-3(c)(4), -5(d)(2), -5(d)(3))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Surviving-spouse beneficiary: delayed start, treat-as-own, rollover (26 CFR 1.401(a)(9)-3(d), 1.408-8(c); Pub 590-B)

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Death on/after the RBD: annual RMDs continue + longer-of divisor (26 CFR 1.401(a)(9)-5(d)(1), (d)(3)(ii))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Minor-child EDB: life expectancy until 21, then 10 years (IRC 401(a)(9)(E)(iii); 26 CFR 1.401(a)(9)-5(e)(4))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Only the employee's OWN child (152(f)(1)) qualifies; a grandchild is not a minor-child EDB.

No designated beneficiary (estate, charity, non-see-through trust): 5-year rule / ghost life expectancy

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Required beginning date (IRC 401(a)(9)(C); 26 CFR 1.408-8(b)(1))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Inherited Roth IRA: owner treated as dying before the RBD (IRC 408A(c)(4); 26 CFR 1.408-8(b)(1)(ii); 1.408A-6 Q&A-14)

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

The statutory cite is 408A(c)(4) ('Mandatory distribution rules not to apply before death'), not (c)(5) ((c)(5) is rollover contributions).

CARES Act 2203: 2020 disregarded in the 5-year rule (IRC 401(a)(9)(I)(iii)(II); 26 CFR 1.401(a)(9)-3(c)(2))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

The statute's text is not limited to pre-2020 deaths, but the reg (-3(c)(2)) is; follow the reg. Also 401(a)(9)(I)(i): no RMDs at all for calendar 2020 (2020 waiver) - affects only 2020 history.

Single Life Table (ages 0-120)

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Federal engine 2.2: the engine carries the table (rmd.c) for the inherited-account RMDs; the website reads it from the generated config. All 121 rows machine-compared to the eCFR text: 0 differences.

2022 Single Life Table reset for pre-2022 deaths (26 CFR 1.401(a)(9)-9(f)(2))

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Applies to spouse too when the spouse died before 2022 (spouse's death-year LE reset).

Death after reaching RMD age but before the April-1 RBD: no RMD for the death year

Used by: An inherited account: the payout rule and the distribution period. Status: verified.

Planner relevance: delaying the first RMD to April 1 changes the heirs' regime if death occurs in that window.

RMD for the year of the owner's death

Used by: An inherited account: the year's required distribution. Status: verified.

No 4974 excise for 'specified RMDs' 2021-2024 (Notices 2022-53, 2023-54, 2024-35); final regs from 2025

Used by: An inherited account: the year's required distribution. Status: verified.

Notice 2024-35 itself says 'anticipated'; the final regs (T.D. 10001, 89 FR 58907, July 19, 2024) are the ones in eCFR today (amendment note quoted in the -3/-5 sources).

4974 excise on a missed inherited RMD (cross-check of repo rule missed_rmd_4974)

Used by: An inherited account: the year's required distribution. Status: verified.

Estimated-tax safe harbours §6654(d)/(e) + Form 2210 regular-method penalty

Used by: Form 2210: the required annual payment. Status: verified.

Modelled: see rule estimated_2210.

Form 2210 regular-method penalty: withholding split, period of underpayment, per-installment penalty

Used by: Form 2210: the required annual payment; Form 2210: the underpayment by installment; Form 2210: the penalty. Status: verified.

The underpayment calculator computes through the JS module, the JS copy of federal_est_compute (drift gate EST-module / EST-page). The annualized income method (Schedule AI), §6654(e)(3) waivers and the farmer/fisher 66⅔% rule are not modelled (stated on the page).

Form 2210 Schedule AI: annualization periods and factors

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

Schedule AI lines 4-13: deductions

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

The 2026 draft (f2210--dft.pdf) adds line 9b 'Additional deductions'; its instructions are not yet out - presumably the Schedule 1-A deductions (seniors, tips, overtime, car-loan interest). Re-check when i2210 (2026) posts.

Schedule AI lines 14-21: tax, SE tax, other taxes, credits, applicable percentage

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

NIIT / Additional Medicare: neither the form nor i2210 states an annualization factor for them (only AMT is explicitly annualized); 'taxes you owed because of events that occurred during the months' - see NOTES.

Schedule AI Part II: annualized SE tax (2025 and 2026 draft)

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

Schedule AI lines 22-27: required installment = smaller of annualized and regular (+ recapture)

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

Using Schedule AI: box C, all due dates, attach the form

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

Withholding is deemed paid in equal parts on the 4 due dates unless actual dates are elected (box D)

Used by: Form 2210 Schedule AI: the annualized income installment method. Status: verified.

Form 1040 lines 2b/3a/3b, Schedule D lines 6/14, Form 8960 line 8 (fed2/w3a trace line labels)

Used by: Taxable interest (line 2b); Ordinary dividends (line 3b); Qualified dividends (line 3a); Short-term capital loss carryover in (Schedule D line 6); Long-term capital loss carryover in (Schedule D line 14); Total investment income (Form 8960 line 8). Status: verified.

fed2/w3a (R1/R2).

Schedule D line 21 ($3,000 / $1,500 limit applied) and the §1212(b) capital loss carryover (short-term / long-term), Capital Loss Carryover Worksheet

Used by: Short-term capital loss carryover in (Schedule D line 6); Long-term capital loss carryover in (Schedule D line 14); Capital loss allowed (Schedule D line 21); Short-term capital loss carryover to next year; Long-term capital loss carryover to next year. Status: verified.

fed2/w3a (R2), opt-in (API capitalLossRules / capitalLossCarryoverShortTerm / capitalLossCarryoverLongTerm). State returns: each state's own capital-loss rule (state engine 1.9.0, /docs/state-tax/). Engine 1.4.0: in the year the spouse dies (the final joint return) the Monte Carlo planner carries forward only the survivor's share of the carryover out (IRS Pub 550, 'Decedent's capital loss'); the spouse's share of the household's losses is spouseCapitalLossShare, default 0.5 (a jointly owned account). POST /api/federal-tax prices one return: its carryover out is that return's, and the caller enters next year's survivor carryover.

Form 8960 line 3: annuities that are not from a §401/403/408/457(b) plan are net investment income

Used by: Net investment income: nonqualified annuities (Form 8960 line 3). Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect.

§72(q) 10% additional tax on a nonqualified annuity's taxable payments before 59½, and its exceptions (Form 5329 Part I)

Used by: Net investment income: nonqualified annuities (Form 8960 line 3); §72(q): the 10% on a nonqualified annuity before 59½; §72(q)(2): the annuity's exceptions. Status: verified.

Federal engine 2.3 (B3): replaces the API's refusal of nonqualifiedAnnuity before 59½. The exceptions of §72(q)(2)(B) (after the holder's death), (D) (substantially equal periodic payments) and (F), (G), (I), (J) (investment before August 14, 1982, a qualified funding asset, an immediate annuity, an annuity bought by an employer on a plan's termination) are the caller's parts of the taxable amount; (A) 59½ is the age clock of rule 72t, (C) disability the disabled input. Not modelled: the §72(q)(3) recapture with interest of a modified series of payments, the 5% rate under a pre-March 1, 1986 election, a modified endowment contract (§72(v)).

Form 8960 Part II: deductions properly allocable to net investment income (§1411(c)(1)(B))

Used by: Form 8960 line 9a: investment interest; Form 8960 line 9b: state income tax allocable to net investment income; Form 8960 line 12: net investment income. Status: verified.

Added 2026-09-28 (fed6/f1, engine 1.5.0); every quote checked with scripts/check_state_tax_sources.py --url/--expect. Not modelled on line 9b: foreign income tax (Schedule A line 6) and real or personal property taxes attributable to NII; line 9c, line 10 and Form 4952 (investmentInterest is the deductible amount the caller gives). With the 2026+ §68 reduction, lines 9a and 9b together are at most the itemized deductions allowed after §68 (Reg. §1.1411-4(f)(7)(ii), the lesser of the two), scaled together when the cap binds.

The cost-of-living adjustment of later tax years (26 U.S.C. 1(f)(3)-(7), 1(j)(3)(B), 63(c)(7)(B)(ii), 55(d)(4)(B), 199A(e)(2)(B), 408(d)(8)(G))

Used by: One amount in a later year; The year's brackets and deductions; The QCD limits in a later year. Status: verified.

Every amount, its base year and base amount, and the index levels are in research/data/federal-tax-indexing.json (checked weekly with the other provenance).

IRMAA income floors in later years (42 U.S.C. 1395r(i)(5))

Used by: The IRMAA income floors in a later year. Status: verified.

The amounts and base amounts are in research/data/federal-tax-indexing.json rule fed-irmaa-floors.

IRMAA 2026 Part B tiers (single/MFJ)

Used by: The IRMAA income floors in a later year. Status: verified.

QCD limit 2026 §408(d)(8)

Used by: The QCD limits in a later year. Status: verified.

Source is Notice 2025-67 (not Rev. Proc. 2025-32).

Form 8962 (premium tax credit): lines 1-29, the annual (line 11) and monthly (lines 12-23) calculation, the line 5 percentage with its decimals dropped, lines 8a/8b rounded to the dollar, line 24 the lesser of the premium and the SLCSP premium less the contribution

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

Federal engine 2.3 (B1). The TY2026 Form 8962 is not published; the TY2025 instructions' mechanics with the 2026 law (Rev. Proc. 2025-25 percentages, no repayment limitation, the 400% limit). The ACA bridge's subsidy is this function's line 24 (aca_bridge_optimizer.c healthcare_cost_core). Every quote checked 2026-10-08 with scripts/check_state_tax_sources.py --url/--expect.

The applicable percentage within an income tier: linear, rounded to the nearest one-hundredth of one percent (Form 8962 line 7, Table 2)

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

The 2025 instructions' Table 2 (the enhanced 0%-8.5% schedule) follows the same rule: line 5 = 301 gives 0.0603 (6.025% rounded half up).

Who is an applicable taxpayer in 2026: household income 100%-400% of the poverty line; below 100% only under 26 CFR 1.36B-2(b)(6); married taxpayers file jointly (the 1.36B-2(b)(2) exception); the household income (modified AGI) definition

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

The below-100% rule for lawfully present aliens (§36B(c)(1)(B)) was repealed for taxable years beginning after 2025 (P.L. 119-21 §71302): the API has no input for it. Eligibility for other minimum essential coverage, affordability of employer coverage, the dependency facts and the special enrollment period rule (§71304) are the caller's assertion.

ACA applicable percentage table 2026

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

Rev. Proc. 2025-25 §3.01. 2.10% applies below 133% FPL only; 3.14%-4.19% across 133-150%. The aca_bridge_optimizer.c header comment said '2.10% at <=150%' (code was right); corrected 2026-09-28. Federal engine 2.3: the table moved from aca_bridge_optimizer.c applicable_pct() (continuous, unrounded) to the federal engine's Form 8962; the bridge and the return share it.

2025 HHS poverty guidelines (used for 2026 coverage), 48+DC

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

90 FR 5917.

2025 HHS poverty guidelines AK / HI

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

400% FPL cliff / enhanced PTC expired after 2025

Used by: The premium tax credit (Form 8962) and the net credit (Schedule 3 line 9). Status: verified.

No §36B amendment found in full text of Pub. L. 119-37, 119-75 (Consolidated Appropriations Act 2026), 119-86, 119-98, 119-103, 119-108; govinfo RSS titles through Pub. L. 119-111 show no health-subsidy law. congress.gov blocked (403); uscode.house.gov timed out.

Excess APTC repayment cap removed from 2026 (OBBBA §71305)

Used by: Excess advance premium tax credit repayment (Form 8962 line 29, Schedule 2 line 1a). Status: verified.

Federal engine 2.3 (B1): Form 8962 Part III repays the whole excess (line 28 left blank).

Where Form 8962 reaches the return: line 29 on Schedule 2 line 1a (in line 1z: Form 1040 line 17, Form 6251 line 10, Form 1116 line 20); line 26 on Schedule 3 line 9 (a payment); Form 2210 subtracts the premium tax credit

Used by: Excess advance premium tax credit repayment (Form 8962 line 29, Schedule 2 line 1a). Status: verified.

Schedule E Parts II-III: lines 30-32 (partnerships and S corporations, passive and nonpassive columns), 33-37 (estates and trusts), line 41 to Schedule 1 line 5

Used by: Partnerships, S corporations, estates and trusts (Schedule E Parts II-III) and Form 8582's other passive activities. Status: verified.

Federal engine 2.3 (B2). Parts II-III are unchanged in the 2026 draft (Part I line 13 splits into 13a/13b). The K-1 amounts are entered after the basis (sections 704(d), 1366(d)) and at-risk (section 465) limits, as Schedule E line 28 takes them.

Form 8582 with other passive activities: line 2 (Part V), line 3, the special allowance only for rental real estate with active participation (line 4), Parts VI-VII (the allocation of the allowed and unallowed loss)

Used by: Partnerships, S corporations, estates and trusts (Schedule E Parts II-III) and Form 8582's other passive activities. Status: verified.

Material participation and grouping are the caller's assertion (which K-1 field an amount goes in). Each class is one activity: the Part VII ratio is exact for one activity per class and the caller's netting otherwise (disclosed).

A partner's net earnings from self-employment (K-1 box 14 code A) on Schedule SE; limited partners only guaranteed payments; an S corporation shareholder's share is not SE income

Used by: Partnerships, S corporations, estates and trusts (Schedule E Parts II-III) and Form 8582's other passive activities. Status: verified.

The excess business loss limitation (section 461(l)): 2026 threshold $256,000 ($512,000 joint); not modelled: the API refuses a return beyond it

Used by: Partnerships, S corporations, estates and trusts (Schedule E Parts II-III) and Form 8582's other passive activities. Status: verified.

P.L. 119-21 section 70601 made the limitation permanent and reset its inflation base year to 2024 (indexing rule fed-ebl-threshold).

Net investment income from the K-1s: passive trade or business income is NII, nonpassive is not (Form 8960 line 4b) unless trading in financial instruments or commodities

Used by: Net investment income: the K-1 trade or business amounts (Form 8960 line 4b). Status: verified.

The estate or trust amount stays in line 4a (i8960: the Form 1041 K-1 box 14 code H adjustment goes on line 7, not an input). Section 1411(c)(6): items taken into account in self-employment income are excluded (i8960 line 4b).

§4973 6% tax on excess contributions (Form 5329 Parts III-VIII and X): the prior excess less the unused limit and the distributions, plus this year's excess, the 6% on the smaller of that and the December 31 value

Used by: Form 5329 Part III: excess traditional IRA contributions; Form 5329 Part IV: excess Roth IRA contributions; Form 5329 Part V: excess Coverdell ESA contributions; Form 5329 Part VI: excess Archer MSA contributions; Form 5329 Part VII: excess HSA contributions; Form 5329 Part VIII: excess ABLE contributions. Status: verified.

Not modelled (disclosed): the deemed contribution of a prior excess absorbed by this year's unused limit (i5329 line 10: the IRA Deduction Worksheet; line 43: Form 8889 line 13) — the engine has no traditional IRA or HSA deduction; the 6% itself is figured as the form does. Form 2210: i2210 line 2 takes Schedule 2 line 8 for the "additional tax on distributions only", so the 6% taxes are not in the required annual payment; Part XI's 100% is (a tax on a distribution; the 2026 draft's Schedule 2 line 5 with Part I).

The traditional IRA limit of Form 5329 line 10: $7,500 + $1,100 at 50, not above compensation; the spousal IRA (§219(c))

Used by: Form 5329 Part III: excess traditional IRA contributions. Status: verified.

Compensation (§219(f)(1), Pub 590-A What Is Compensation?): wages, and the net earnings from self-employment (Schedule C, K-1 box 14 code A) less the deductible part of SE tax and the plan deduction when positive. Not modelled: taxable alimony under a pre-2019 instrument, nontaxable combat pay, the difficulty-of-care payments of Pub 590-A. 2026 amounts only: the API refuses these inputs in a projected year.

A corrective withdrawal made in time is not a contribution (the *CorrectiveWithdrawal inputs): by the due date including extensions (a Coverdell ESA's before June 1 of the next year)

Used by: Form 5329 Part III: excess traditional IRA contributions; Form 5329 Part IV: excess Roth IRA contributions; Form 5329 Part V: excess Coverdell ESA contributions; Form 5329 Part VI: excess Archer MSA contributions; Form 5329 Part VII: excess HSA contributions; Form 5329 Part VIII: excess ABLE contributions. Status: verified.

The withdrawn earnings are income in the year the contribution was made (an IRA's: an early distribution excepted on Form 5329 line 2 with exception 21): the caller enters them in the income inputs; exception 21 itself is not an input (the corrective-distribution earnings are listed as not modelled with the other Form 5329 exceptions).

The Roth IRA limit of Form 5329 line 19 (Pub 590-A Worksheets 2-1 and 2-2): the traditional limit less the traditional contributions, reduced over the MAGI start

Used by: Form 5329 Part IV: excess Roth IRA contributions. Status: verified.

Line 5 is the exact ratio (the worksheet asks for at least three places). The Worksheet 2-1 add-backs of lines 4-9 (the IRA and student-loan deductions, foreign earned income, savings-bond interest, employer adoption benefits) are 0: the engine models none of them. The Note's refigured AGI recomputes the taxable social security (Pub 915) and Form 8582's special allowance without the conversion, only when line 10 is over the end of the range, as the worksheet says.

Form 5329 line 27's Coverdell ESA limit ($2,000, or less under the contributors' MAGI limits) and line 50's ABLE limit ($20,000 for 2026, plus an employed beneficiary's ABLE-to-work amount): the API's defaults

Used by: Form 5329 Part V: excess Coverdell ESA contributions; Form 5329 Part VI: excess Archer MSA contributions; Form 5329 Part VIII: excess ABLE contributions. Status: verified.

The contributors' Coverdell MAGI phase-out (§530(c)) and the Archer MSA limit (Form 8853 lines 3-4, 65% / 75% of the HDHP deductible) are the caller's (coverdellLimit, archerMsaLimit).

The HSA limit of Form 5329 line 43 (Form 8889 line 8): $4,400 self-only, $8,750 family, + $1,000 at 55; spouses with family coverage split the family limit equally; Archer MSA contributions reduce it

Used by: Form 5329 Part VII: excess HSA contributions. Status: verified.

The coverage is the caller's assertion for the whole year as an eligible individual (an HDHP, no other coverage, not enrolled in Medicare); a part-year or last-month-rule limit, or an agreed split between spouses, goes in hsaLimit (Form 8889 line 8). The equal split is applied on a joint return when both spouses have coverage and either has family coverage.

Form 5329 Parts X and XI (Trump accounts, the account beneficiary before the year they turn 18): 6% of the excess over $5,000 less the §530A(d)(5) distributions; 100% of the distributed excess's earnings

Used by: Form 5329 Part X: excess Trump account contributions; Form 5329 Part XI: 100% of a distributed Trump account excess's earnings. Status: verified.

Line 56 (the 2025 excess) is 0 for 2026: contributions began July 4, 2026. The excess itself (line 57, exempt contributions excluded) is the caller's.

Other federal records

The provenance file also carries 34 records for federal figures used elsewhere in QuantCalc (Medicare premiums, required minimum distributions, ACA subsidies, contribution limits); they are not steps of this engine's return. All of them: provenance download.