Appleseed
DemoFounderSecurity
Engine Notes — Methodology / Taxes

How Appleseed Computes Taxes

Every simulated year, a comprehensive planning estimate—federal, all fifty states, FICA on RSU vesting, NIIT, IRMAA, RMDs, and a true-up the following April.

Engine Notes7 min readUpdated July 2026
The short version

Many simple planning tools treat tax as one assumed rate. Appleseed builds a comprehensive estimate, every simulated year, from progressive brackets, filing status, income types, state rules, and the surtaxes that arrive with tech compensation.

Then it settles each year’s balance the following April, because that’s what happens to you. No assumed effective rate, no spending cash that was never really there.

01
Computed, not assumed

Tax is a schedule, not a number.

A flat effective rate describes one year of one life. A plan covers forty years of a changing one: RSUs vest, a retirement date arrives, Medicare begins at 65, required distributions begin at 73 or 75, depending on birth year. Each of those moves your tax—and some of them move it a lot.

So the engine doesn’t ask you for a tax rate. It computes your liability every simulated year from the structure of that year: what you earned, what you sold, what you withdrew, where you lived, and how you filed.

Forty years of tax — illustrativeOne assumed rateComputed every year
1234
Age 4555657585
1RSU vests (recurring)2Retire3Medicare & IRMAA at 654RMDs begin at 73–75
What you never enter

A tax rate. The engine has no field for one—because a single rate can’t describe a life with vests, a retirement, and RMDs in it.

What it computes instead

Liability, from the structure of each year: income earned, gains realized, withdrawals taken, state of residence, filing status.

02
What the engine carries

The coverage list.

Every year of your simulation, the engine computes each of these—and the way each one interacts with the others.

01Federal income tax

Full progressive brackets, filing-status aware, with the real standard-vs-itemized decision—mortgage interest plus SALT, whichever is larger.

02State income tax

All fifty states plus DC—each with state-specific brackets and modeled deductions, exemptions, credits, Social Security treatment, and inflation indexing. The engine carries the differences.

03Long-term capital gains

The 0/15/20% brackets stacked on top of ordinary income the way the IRS stacks them, with aggregate account cost basis used to estimate the gain on taxable sales—including concentrated stock.

04FICA

Social Security to the wage cap, Medicare on every dollar, and the Additional Medicare Tax above the threshold—on cash wages and modeled RSU vest income alike, with the equity payroll-tax share flowing into sell-to-cover.

05NIIT

The 3.8% net investment income tax above the MAGI threshold, on the investment income that crosses it.

06IRMAA

Medicare Part B and Part D premium surcharges, driven by your income from two years prior—the standard two-year lookback Medicare uses.

07RMDs

Required distributions from tax-deferred accounts, the tax they trigger, and credit for money already withdrawn that year.

08Social Security taxability

The provisional-income tiers that decide how much of your benefit is taxed—federally, and state by state.

09Form 8606 pro-rata

If your Traditional IRA holds after-tax basis, withdrawals come out proportionally tax-free—modeled using pooled Traditional IRA basis.

10Early-withdrawal penalties

Generally 10% on taxable retirement-account withdrawals before age 59½—owner-aware and account-aware; statutory exceptions are not modeled.

How the pieces add upEngine — computed every year
FederalBrackets+State50 + DC+Cap gains0 / 15 / 20+FICAOn vests too+NIIT3.8% surtax+IRMAAPart B & D+RMDsAge 73–75
=
The tax line in your plan
Computed every simulated year
Surtaxes that arrive with tech comp, included
03
Estimate, prepay, true up

The loop that keeps the plan honest.

Some tools apply a flat rate—say 35%—and reconcile later, if they reconcile at all. The problem isn’t the reconciliation. It’s that every year in between is spending cash that was never really there.

Appleseed estimates each simulated year’s tax from that year’s actual structure: wages, taxable Social Security, RMDs, interest, realized capital gains, deductions, and taxable withdrawals, plus NIIT and any early-withdrawal penalties. FICA is computed separately—Social Security, Medicare, the Additional Medicare Tax, and the payroll-tax effect of RSU vesting.

Even more complex is that taxes can create their own cash need. If income doesn’t cover spending plus taxes, the plan withdraws from investments—and that withdrawal can create new ordinary income, capital gains, or penalties, which can require another withdrawal. The engine iterates: estimate the tax, look ahead at which accounts fund the shortfall, recalculate the tax those withdrawals create, and repeat until the estimate converges.

At year end, the engine computes the final liability from what actually occurred in that projection year and compares it against what was treated as withheld, including your selected withholding on equity compensation. Any remaining balance becomes a tax payment the following year; an overpayment becomes a refund. That is the true-up. And if the payment comes from a tax-deferred account, it counts toward that year’s RMD, because it would.

One plan year — what a flat tax assumption leaves out
A flat-tax FIRE calculator or spreadsheetLarge true-up (on drawdown gains) or omitted
Fed + state estimate
Tax on drawdown gains, FICA, NIIT, IRMAA
Appleseed — your planComputed in year — not deferred
Fed + state
+ tax on drawdown gains · FICA · NIIT · IRMAA
Overpaid

The plan gets the refund the following year—real cash back in real accounts.

Underpaid

The engine pulls the difference from your accounts. A tax-deferred pull counts toward that year’s RMD.

The circularity

In retirement, spending is funded by selling investments—and those sales are themselves taxable, which raises the bill and can require another sale. The engine iterates until the estimate converges.

04
The number you see

Why the number is bigger than your paycheck suggests.

Your paycheck and your W-2 show what was withheld, not what you owe. When RSUs vest, shares are sold to cover your selected withholding plus payroll tax before the proceeds ever reach your account—so the cost is real but never felt. And the withholding applied at vest can run short of a top-bracket earner’s actual marginal rate, especially with state tax on top.

The engine computes your full liability—not just the withholding applied at vest—and settles what withholding didn’t cover the following April, as a real cash event pulled from your accounts. So when the tax line looks bigger than your paycheck suggested, the difference is usually one of these: the gap between withholding at vest and your actual stacked marginal rate, NIIT on investment income (rarely withheld anywhere), or an IRMAA surcharge arriving two years after a high-income year. All of them are computed because all of them are assessed.

What your paycheck shows vs. what’s assessed — illustrative
What your paycheck shows
What’s assessed
Withheld at source
Add’l tax on vest
Add’l tax on vestNIIT (3.8%)IRMAA (arrives two years later)
Additional tax on vest

Equity withholding at vest is often set at a flat rate. A top-bracket earner’s stacked marginal rate—federal, state, Medicare—runs far higher. The difference is real liability your paycheck never showed.

NIIT

3.8% on investment income above the MAGI threshold—rarely withheld anywhere.

IRMAA, two years late

A high-income year raises Medicare premiums two years on—a bill that lands long after the income.

A note on re-deriving these numbers

If you re-derive these numbers with an LLM, expect differences. Appleseed’s planning engine runs an iterative, multi-year simulation with modeled statutory rates and interacting systems: Social Security taxability feeding the brackets, IRMAA lagging income by two years, withholding that must anticipate the tax on the withdrawal that pays the tax.

A one-shot response in a chat window will make simplifications: flat effective rates, skipped interactions, sometimes invented thresholds. It will sound confident. It is not running the simulation.

See your year-by-year number.

A comprehensive planning estimate—federal, state, FICA, NIIT, IRMAA, RMDs, and the true-up—inside a five-minute plan.