Calculation catalog › Cash flow and summary

Inherited distribution voluntary annual

Inherited-account distribution dollars taken voluntarily beyond the required amount for the account and year.

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

Appears in: csv (inheritedVoluntaryAmount); report (inherited voluntary distribution); results-table (Inherited schedules Voluntary column)

Calculation records

  • Voluntary inherited-account draw Composition record, justified by derivation

    Purpose: The ordinary withdrawal plan's extra draw from an inherited account, kept apart from its forced take.

    Statement: projection/internal/annualWithdrawalApplyFlowPlan.ts#annualWithdrawalApplyFlowPlan writes #AnnualWithdrawalEvidenceWrite.voluntaryAmount as the ordinary withdrawal plan's draw from that inherited account, taken from the plan by account id after the forced required take has already been classified. An account for which treat-as-own is effective this year is routed as owner treatment and receives no inherited evidence write at all. Units: nominal USD per year. Rounding: none.

    Formula: voluntaryAmount = withdrawnByAccountId(accountId), or no write when treat-as-own is effective

    • withdrawnByAccountId: Accepted ordinary withdrawal plan by account (unit: usd) (domain: nonnegative)
    • treat-as-own effective: Annual owner-treatment routing for the account (unit: boolean) (domain: IRA, death year >= 2020, year > death year)

    Timing: once per projection year, in the apply-flow phase after forced distributions

    Rounding: none

    Limits:

    • Asserted at the exported phase with the worksheet's remaining balance, ordinary plan draw and treat-as-own flag verbatim: the account enters the phase at 95,000, already net of the 5,000 forced take, and the plan draws 12,000. The 5,000 forced take is not re-supplied to this phase, which is the point of the separation, so the test asserts that the sum of the two is the account's 17,000 total distribution while only 12,000 is voluntary
    • The treat-as-own case is asserted with the same inputs and an accepted owner-treatment route for the account, where the phase emits no inherited evidence write; it needs an IRA whose owner died in 2020 or later and a year after the death year, which the test supplies

    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: inherited-distribution-voluntary-annual.md Mutation receipt: inherited-distribution-voluntary-annual.mutation.md

    Evidence tests: annualWithdrawalApplyFlowPlan.evidence.test.ts

    Implemented in: annualWithdrawalApplyFlowPlan.ts

    Is the number of: inherited-distribution-voluntary-annual

    Feeds: withdrawals-by-category-annual, withdrawals-total-annual

Engine source: engine/src/projection/internal/types/result.ts (YearResult.inheritedAccounts[].voluntaryAmount)

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.