Taxes in the plan

A dollar you spend in retirement costs more than a dollar, because you have to withdraw enough to be left with it after tax. How much more depends entirely on which account it came out of — which is why the plan doesn't treat your portfolio as one pile of money.

This page covers what the tax model does, and how to say your situation to it. It is a description of a model, not tax advice; the rates are deliberately simple, and the section below on what isn't modeled is as important as the rest.

Three buckets

The plan sorts every account you have into one of three buckets, from the account's group and, for retirement accounts, its tax treatment (both set on the Accounts screen — see Accounts):

Bucket Which accounts What a withdrawal costs
Taxable Taxable brokerage, Bonds, Crypto, Cash & savings, Other assets a flat stand-in for capital gains
Tax-deferred Retirement accounts marked Tax-deferred — 401(k), traditional IRA, HSA ordinary income tax
Roth Retirement accounts marked Roth nothing

Liabilities take no part: a mortgage is not a place you withdraw from.

In the full model (see below), the Taxes section shows the three totals, read straight off your real accounts and today's valuations, with what the simulation leaves in each at the end of the plan beside it. Owners are broken out under tax-deferred whenever the plan has more than one adult:

Account buckets (from Portfolio)        today → end of plan
Taxable                            $412,000 → $180,400
Tax-deferred                       $980,000 → $0
   Don                             $610,000 → $0
   Jenn                            $370,000 → $0
Roth                               $145,000 → $612,300

Tax-deferred is broken out per owner, and that's the one piece of structure here that isn't cosmetic. Both of the things the plan does to a tax-deferred dollar depend on whose account it is: the early-withdrawal penalty is a function of the owner's age, and required minimum distributions start at an age computed from the owner's birth year. One household figure would apply your birthday to your spouse's IRA. Money in a tax-deferred account owned jointly, or by a child, or by someone no longer in the plan, folds onto the first adult.

Simple mode and the full model

A toggle at the top of the section:

Simple — you supply one effective rate on withdrawals, and it's applied to taxable and tax-deferred alike. Use it if you have a rate you trust for your own situation, or if you want the tax layer to stop being a variable while you look at something else. Simple mode shows only that rate and the withdrawal order: no bucket totals, no forced-income card, no Roth conversions, and no lifetime tax estimate.

Full model — the plan prices each bucket separately:

Bucket Full model Simple
Taxable 5% your rate
Tax-deferred 14% your rate
Roth 0% 0%

Roth is untaxed in both modes. A household typing one effective rate is describing the accounts that owe tax, and applying it to a Roth dollar would tax money that already was.

The 5% is not a capital gains rate — it's 15% long-term gains applied to an assumed one-third of the withdrawal being gain. A brokerage account funded twenty years ago owes more than that; a savings account owes nothing. Both are wrong here, in opposite directions, until the app tracks cost basis per lot.

New plans start on the full model.

Tax is charged on withdrawals, not on income

This is the single most important thing to understand about the model, because it's what makes the numbers reconcile.

Money arriving is never taxed on the way in. A pension check and a rental payment fund the year's spending as they stand, and a year your household covers entirely out of income pays no modeled tax at all. (A pension without a cost-of-living adjustment still loses buying power every year — but that's inflation eroding it, not a tax.)

Money leaving the portfolio is grossed up. Needing $50,000 of spending from a tax-deferred account at 14% means withdrawing about $58,140, and the whole $58,140 leaves the account. That's what the Taxes column in the Year by year table is; click a cell and it names where the money came from. A year in the conversion window:

$34,000 drawn from taxable · $80,000 converted to Roth

and a later one, once distributions are forced:

$28,000 drawn from taxable · $61,400 drawn from tax-deferred · $19,200 of required distributions

Those two never appear in the same year: the conversion window closes before any owner's first required distribution, which is the point of it.

Social Security is the one exception, and it's handled on the income side: in full mode the check arrives 8% lighter than the benefit you entered. Up to 85% of benefits are taxable for a household with other income, which at these rates costs roughly that. It's charged there rather than in a withdrawal rate because taxing it on the way out too would tax it twice. Simple mode leaves the check whole, on the assumption that your one rate already describes your whole situation.

And this applies before you retire. A working year whose goals cost more than that year's saving plus income draws the difference out of the portfolio, and that withdrawal is taxed exactly like a retirement one. A debit against invested assets is a withdrawal whatever the calendar says.

Withdrawal order

When a year is short, which bucket pays? The Taxes section has the switch:

  • Taxable first — taxable, then tax-deferred, then Roth. The conventional rule, and the default. Within tax-deferred, the plan draws from owners who are already past 59½ before anyone younger, which is what a person would do to avoid the penalty.
  • Proportional — all three fall together each month, in proportion to what each currently holds.

The card reads the choice back as chips — 1 Taxable · 2 Tax-deferred · 3 Roth, or Taxable · Tax-deferred · Roth together.

Which is better for a given household is genuinely not obvious, and it's worth trying both ways: taxable-first leaves the Roth balance compounding untouched for decades but leaves a large tax-deferred balance to be forced out later; proportional spreads the tax more evenly and starts drawing down the deferred balance sooner. In the full model, compare the Est. lifetime tax figure the section carries and the bad-case ending balance on the chart, not just the success percentage — this is a change that often moves one without moving the other.

The early-withdrawal penalty

A withdrawal from a tax-deferred account by an owner younger than 59½ costs an extra 10% on top of the ordinary rate. The plan applies it month by month, per owner, and stops the month that owner reaches 59½.

Two consequences:

  • It's decided by whose account it is, not by the household's average age — another reason tax-deferred is tracked per owner.
  • There is no Rule of 55 and no 72(t) exception in the model. If you have one of those arrangements — separating from an employer at 55 or later and drawing from that employer's 401(k), or a series of substantially equal periodic payments — the plan charges you a penalty you wouldn't actually pay, and therefore overstates what your bridge years cost. Setting the withdrawal order to taxable first is the closest the app can currently get to modeling around it.

Since the plan stores a birth year and not a birth date, every birthday in the model falls on 1 January.

Required minimum distributions

At some point the government stops letting tax-deferred money sit. The plan simulates that as the forced transfer it is, per owner:

When they start. Under SECURE 2.0, the age depends on the owner's birth year:

Born RMDs begin at
1951 – 1959 73
1960 or later 75

(Anyone born in 1950 or earlier starts at 72, which is already in the past for every household this app can plan for.) The Taxes section names the year per owner, and the plan's headline RMD year is the first of them.

How much. The IRS Uniform Lifetime Table, the version in effect for distribution years from 2022 on: the year's required amount is that owner's tax-deferred balance divided by the divisor for their age. At 75 the divisor is 24.6 — about 4.1% of the balance — and it falls every year, so the required fraction rises: 16.0 at 85 (6.3%), 8.9 at 95 (11.2%).

What happens to it. The distribution leaves the tax-deferred bucket and is taxed at the deferred rate. It funds that year's need first; whatever's left over lands in the taxable bucket, because it's after-tax money that has to go somewhere. It doesn't disappear, and it isn't spending you chose — that's exactly why RMDs can push a comfortable plan's lifetime tax bill up sharply without changing its success percentage at all.

Roth accounts have no RMDs here, which is also the law: Roth IRAs never had them, and Roth 401(k)s stopped having them in 2024.

Roth conversions

A conversion moves money from tax-deferred to Roth and pays the tax on it now. The bet is that paying at today's rate beats paying at tomorrow's on a balance that has grown and is being forced out anyway.

This is a full model feature. The toggle and the amount only exist in that mode, and switching to Simple stops a configured conversion running — the figures stay on the plan, so flipping back restores them.

The plan models it as the real transfer, cost included. Switch Roth conversions on and enter how much per year, in today's dollars. Each year of the window, that amount moves from tax-deferred to Roth, and the tax on it is paid out of the taxable bucket first.

The toggle alone moves nothing. A conversion without an amount is a wish, not a transfer.

The window requires the full model, opens the year the household retires, and closes at whichever of these comes first:

  • the earliest year any adult's RMDs begin, or
  • the earliest year any adult claims Social Security.

The RMD end is obvious — once distributions are forced, the conversion is no longer choosing when the money comes out. The Social Security end is the more interesting one: benefits fill the low-bracket room the conversion was using. The window exists because the years between the last paycheck and the first check are usually a household's lowest-income years of the whole plan, and converting is how you use them. Once income arrives, the room is gone.

One consequence worth knowing if you go looking for it: if you switch the whole Social Security program off to see what your plan looks like without it, the window no longer has a claim year to close on and runs to the first RMD year instead. Keeping the earlier end would price an event that plan says doesn't happen.

Parking one person's benefit by clearing their figure instead behaves differently, and it's worth knowing which you're doing. The engine reads every adult's claim age whether or not they have a benefit to claim, so an adult with a zeroed benefit still closes the conversion window on their claim year — even though no benefits arrive to fill the bracket room that end exists for. The program-level switch is the one the window actually reads.

A conversion raises your lifetime tax figure in the years it runs and lowers it later, so read the estimated lifetime tax together with what the simulation leaves in each bucket at the end. A bigger tax total can be the better plan, and the success percentage may barely move while both change substantially.

What the model does not do

The rates above are flat placeholders, and the honest reading of any tax figure here is as a comparison between two plans, not as a return. Named, so you know what you're looking at:

  • No brackets, no standard deduction, no filing status, no state layer. A $40,000 tax-deferred year and a $400,000 one pay the same 14%. (The section's subtitle names a filing status and a state; that's describing the household the screen was designed around, not a setting the plan holds or the engine reads.)
  • No cost basis in taxable accounts. See the 5% placeholder above.
  • No ACA premium subsidies and no IRMAA. Both depend on your income for the year, which depends on which bucket a withdrawal came from — enter the health insurance premiums you expect to actually pay, after any subsidy and including any surcharge (see Money in, money out).
  • No Rule of 55 or 72(t). As above: bridge years may be overstated.
  • No Roth five-year rules, and no split between Roth basis and earnings. Roth is "untaxed, drawn last", whole.
  • Contributions are split across buckets in proportion to where your money sits today — worked out once at the start of the simulation and never revisited, unlike a proportional withdrawal, which follows the balances as they move. In reality a 401(k) contribution is entirely tax-deferred.
  • No mortality, so no inherited accounts and no survivor consolidation — which is also why a pension's survivor election is recorded but never fires.

Two further pages go deeper. How the plan is simulated walks the engine month by month, gross-up arithmetic included; What the model leaves out collects every simplification above alongside the rest of them, each with the direction of the error it introduces.