Skip to content

Required Minimum Distributions

Required Minimum Distribution (RMD) tools for retirement planning.

Provides tools for calculating RMDs, projecting RMD schedules, and understanding RMD tax implications.


calculate_required_minimum_distribution

Calculate the Required Minimum Distribution for a retirement account.

Parameter Type Default Description
prior_year_balance_cents int required Account balance as of December 31 of prior year, in cents
age int required Account owner's age at end of current year
table_type string "uniform_lifetime" IRS table to use: 'uniform_lifetime' (default, for most owners) or 'single_life' (for beneficiaries)

Returns: rmd_amount_cents, rmd_amount_dollars, prior_year_balance_cents, prior_year_balance_dollars, distribution_period, age, table_type, and explanation.


check_rmd_required

Check if RMDs are required for a specific tax year based on birth year.

Parameter Type Default Description
birth_year int required Account owner's birth year
tax_year int required Tax year to check

Returns whether RMDs are required and provides context about the requirement.


calculate_rmd_shortfall_penalty

Calculate the penalty for failing to take the full RMD.

Parameter Type Default Description
required_rmd_cents int required Required RMD amount in cents
actual_withdrawn_cents int required Amount actually withdrawn in cents
corrected_within_two_years bool false Whether the shortfall was corrected within the 2-year window

Returns the shortfall amount and applicable penalty.


project_rmd_schedule

Project future RMD requirements over multiple years.

Parameter Type Default Description
birth_year int required Account owner's birth year
current_year int required Current tax year
current_balance_cents int required Current account balance in cents
years_to_project int 20 Number of years to project
annual_growth_rate float 0.05 Expected annual growth rate (e.g., 0.05 = 5%)

Returns yearly RMD amounts and cumulative totals.


calculate_aggregated_ira_rmds

Calculate RMDs for multiple IRAs with aggregation.

Parameter Type Default Description
ira_balances list required List of IRA accounts with balances. Each entry must have: 'account_id' (string identifier), 'balance_cents' (prior year-end balance). Example: [{'account_id': 'ira1', 'balance_cents': 50000000}]
age int required Account owner's age at end of current year

Returns individual and total RMD amounts.