Calculation catalog › Accounts and growth

Projection summary ending after tax estate

Ending net worth after estimated income tax on inherited pre-tax accounts.

Field: endingAfterTaxEstate Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain

Appears in: results-headline (ResultsPage / ReportPage KPI "After-tax estate"); report (headline-results block endingAfterTaxEstate); scenarios-page (Headline and estate table "Ending after-tax estate" / "After-tax estate to heirs"); compare-page (After-tax estate row levels, in today's (start-year) dollars when the two plans end in different years (PlanHeadlineComparison)); optimize-page (Objective the tournament ranks on; claim-age exact estates); solver-page (Evidence "Ending after-tax estate" and SWR rule rows); ss-page (Claim-age sweep, refinement, bridge comparison and survivor tables); relocation-page (Ending after-tax estate column (deflated for display)); monte-carlo-page (Historical stress windows "Estate" column); insights (spending-headroom card ending estate (deflated)); mcp (run_projection.summary.endingAfterTaxEstate); mcp (batch_evaluate.results[].objective); mcp (compare_scenarios.a.endingAfterTaxEstate); mcp (compare_scenarios.b.endingAfterTaxEstate); mcp (compare_scenarios.headline.endingAfterTaxEstate.baseline, in today's (start-year) dollars when the two plans end in different years (headline.moneyBasis)); mcp (compare_scenarios.headline.endingAfterTaxEstate.proposal, in today's (start-year) dollars when the two plans end in different years (headline.moneyBasis))

Calculation records

  • Projection summary ending after tax estate Composition record, justified by derivation

    Purpose: Net the horizon estate of charity carve-outs and assumed heir income tax.

    Statement: projection/compare.ts#summarizeProjection computes nominal ending after-tax estate as horizon net worth minus the amount passing to charity and minus the total assumed heir income tax on inherited pre-tax balances: endingAfterTaxEstate = endingNetWorth - endingEstateToCharity - endingEstateHeirTax.

    Formula: endingAfterTaxEstate = endingNetWorth - endingEstateToCharity - endingEstateHeirTax

    • endingNetWorth: Horizon net worth (unit: nominal USD) (domain: finite)
    • endingEstateToCharity: Amount passing to charity, untaxed (unit: nominal USD) (domain: nonnegative)
    • endingEstateHeirTax: Assumed heir income tax on inherited pre-tax balances (unit: nominal USD) (domain: nonnegative)

    Timing: projection horizon

    Rounding: none stated

    Limits:

    • Charity carve-outs pass untaxed rather than remaining in the heirs' estate, so they are subtracted here even though they are also reported separately in endingEstateToCharity; with no charity destination the identity collapses to net worth minus heir tax. Ignoring charity, adding heir tax instead of subtracting it, or subtracting charity a second time through the heir tax each name a different quantity. The figure is assumed terminal exposure at the horizon, not a death-year return.

    Provenance: derived by codex, implemented by claude.

    Independent review: cursor

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: projection-summary-ending-after-tax-estate.md Mutation receipt: projection-summary-ending-after-tax-estate.mutation.md

    Evidence tests: compareSummary.evidence.test.ts

    Implemented in: compare.ts

    Is the number of: projection-summary-ending-after-tax-estate

    Feeds: swr-rule-result-ending-after-tax-estate, scenario-comparison-cell, insight-spending-headroom-rough-annual

Records that feed this number

  • Projection summary ending net worth Composition record, justified by derivation

    Purpose: Republish net worth at the projection horizon.

    Statement: projection/compare.ts#summarizeProjection republishes ProjectionResult.endingNetWorth, the nominal-dollar net worth at the projection horizon, without stated rounding.

    Formula: summary.endingNetWorth = result.endingNetWorth

    • result.endingNetWorth: Whole-run net-worth endpoint (unit: nominal USD) (domain: finite)

    Timing: projection horizon

    Rounding: none stated

    Limits:

    • The result type already defines annual net worth as investable plus property, insurance cash value and ladder value, less debt and non-recourse-capped HECM loans, so the summary must not rebuild that ledger identity; substituting ending investable, or adding it to the composed net worth, double-counts assets.

    Provenance: derived by codex, implemented by claude.

    Independent review: cursor

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: projection-summary-ending-net-worth.md Mutation receipt: projection-summary-ending-net-worth.mutation.md

    Evidence tests: compareSummary.evidence.test.ts

    Implemented in: compare.ts

    Is the number of: projection-summary-ending-net-worth

    Feeds: projection-summary-ending-after-tax-estate, scenario-comparison-cell

  • Projection summary estate heir tax Composition record, justified by derivation

    Purpose: Total the per-account heir income tax already resolved in the estate breakdown.

    Statement: projection/compare.ts#summarizeProjection publishes ending estate heir tax as the sum of every EstateAccountBreakdown.heirTax amount after each account's destination, charity carve-out, taxable pre-tax base and heir rate have been applied, in nominal horizon dollars with no stated rounding.

    Formula: endingEstateHeirTax = sum over accounts a of estateBreakdown[a].heirTax

    • estateBreakdown[a].heirTax: Per-account resolved heir income tax (unit: nominal USD) (domain: nonnegative)

    Timing: projection horizon, once per estate breakdown row

    Rounding: none stated

    Limits:

    • It sums the already resolved per-account tax rather than recomputing taxable bases or taxing gross balances a second time, and it must not subtract the charity amount again from the resolved total. The charity fraction reduces the taxable pre-tax base before the heir rate applies (240,000 x 0.9 x 0.22 = 47,520.00 on the worksheet's traditional row), and only a charity destination carries a nonzero fraction. The first derivation taxed the whole base (52,800.00) and was re-derived on that rule; the evidence pins both cases, 56,320.00 with the 10% charity bequest and 61,600.00 with no charity destination, and is green.

    Provenance: derived by codex, implemented by claude.

    Independent review: cursor

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: projection-summary-estate-heir-tax.md Mutation receipt: projection-summary-estate-heir-tax.mutation.md

    Evidence tests: compareSummary.evidence.test.ts

    Implemented in: compare.ts

    Is the number of: estate-heir-income-tax

    Feeds: projection-summary-ending-after-tax-estate

Engine source: engine/src/projection/compare.ts (ProjectionSummary.endingAfterTaxEstate)

The evidence links on this page (each record's worksheet, mutation receipt, evidence tests and implementation, and the source links) are pinned to engine commit 2624dbdba9fd, committed 2026-10-11. The live calculation index and output-family census links point at the repository's main branch, so you can check this snapshot against them.