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.