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.
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.
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.
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.
Liability, from the structure of each year: income earned, gains realized, withdrawals taken, state of residence, filing status.
The coverage list.
Every year of your simulation, the engine computes each of these—and the way each one interacts with the others.
Full progressive brackets, filing-status aware, with the real standard-vs-itemized decision—mortgage interest plus SALT, whichever is larger.
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.
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.
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.
The 3.8% net investment income tax above the MAGI threshold, on the investment income that crosses it.
Medicare Part B and Part D premium surcharges, driven by your income from two years prior—the standard two-year lookback Medicare uses.
Required distributions from tax-deferred accounts, the tax they trigger, and credit for money already withdrawn that year.
The provisional-income tiers that decide how much of your benefit is taxed—federally, and state by state.
If your Traditional IRA holds after-tax basis, withdrawals come out proportionally tax-free—modeled using pooled Traditional IRA basis.
Generally 10% on taxable retirement-account withdrawals before age 59½—owner-aware and account-aware; statutory exceptions are not modeled.
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.
The plan gets the refund the following year—real cash back in real accounts.
The engine pulls the difference from your accounts. A tax-deferred pull counts toward that year’s RMD.
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.
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.
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.
3.8% on investment income above the MAGI threshold—rarely withheld anywhere.
A high-income year raises Medicare premiums two years on—a bill that lands long after the income.
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.