Calculation catalog › Cash flow and summary

Income one time annual

One-time income recognized in a projection year.

Field: One-time income Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain

Appears in: chart (oneTime); csv (oneTimeIncome); scenarios-page (Lifetime income "One-time income"); cash-flow-drilldown (oneTimeIncome source line)

Calculation records

  • Annual one-time income Formula record, justified by derivation

    Purpose: What a one-time income stream pays, and only in its named year.

    Statement: projection/internal/otherIncomeStreams.ts#otherIncomeStreams pays a one-time stream only in the calendar year it names, and only while any household member is alive, as amount x inflFactor when inflationAdjusted is true and amount alone when it is false; annualIncomeSetup folds the row into the published projection/internal/types/result.ts#YearResult.incomes.oneTime. Every other year publishes 0 for that stream. Tax treatment routes the income for tax and never changes the cash amount. Units: nominal USD in the payment year. Rounding: none.

    Formula: oneTime = amount * (inflationAdjusted ? inflFactor : 1) when year equals the stream's year and any household member is alive, else 0

    • amount: Payment in today's dollars (unit: usd) (domain: nonnegative)
    • inflFactor: Cumulative general-inflation factor from the projection start year (unit: 1) (domain: positive)
    • year: The single calendar year the stream names (unit: calendar year) (domain: integer)

    Timing: income pass 2, once per projection year

    Rounding: none

    Limits:

    • Asserted on a real simulatePlan run over 2028-2032. Plan assumptions beyond the worksheet's inputs: a single person filing single in KY with a zero state rate, no accounts, and the worksheet's 1.12 cumulative inflation factor supplied as a per-year inflation path of 12 percent in the first projection year and 0 afterwards, so that every year from 2029 on carries exactly that factor
    • The neighbouring years are asserted too, because "pays only in its year" is half the claim
    • taxTreatment "capitalGain" is the row's character, not an exclusion from cash income
    • Restated 2026-09-28 under decision D-2027-ROLLOVER: a stream whose year is before the projection start year pays nothing in the projection, as before, and the projection now names it in a warning (projection/preStartEvents.ts#preStartEvents): the income is dated before the plan starts, so it is not counted, and if it has not arrived the household moves it to the start year or later. From a 2027 start the derivation's U1 household's $50,000 inheritance dated 2026 dropped out with only an editor note to say so

    Provenance: derived by codex, implemented by claude.

    Independent review: grok

    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: income-one-time-annual.md Mutation receipt: income-one-time-annual.mutation.md

    Evidence tests: otherIncomeStreams.evidence.test.ts

    Implemented in: otherIncomeStreams.ts; result.ts; preStartEvents.ts

    Is the number of: income-one-time-annual

    Feeds: income-total-annual

Engine source: engine/src/projection/internal/types/result.ts (YearResult.incomes.oneTime)

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.