FIREproof
thumbnail

Where Does Your Rebalancing Tax Bill Actually Come From?

By Lauren Boland | August 7, 2026

Hey Proofers! Today I want to shine a light on a part of retirement math that almost every planning tool quietly approximates: the capital gains taxes created by rebalancing your portfolio. It's an easy thing to gloss over, and most tools do. FIREproof takes a different approach: when a simulation rebalances your taxable brokerage account, it sells specific dollars of specific assets against your tracked cost basis, realizes the actual gain, and sends the actual tax bill through the rest of your plan.

That sounds like a small accounting detail, but it isn't. Rebalancing tax drag interacts with your brackets, your ACA subsidies, and your withdrawal strategy, and a guessed number can't do any of that.

How planning tools usually handle this

Keeping a portfolio at its target allocation means selling winners. In a taxable brokerage account, selling winners realizes capital gains, and those gains are taxed. Simulating this properly requires tracking cost basis and modeling every trade, so most tools take one of two reasonable shortcuts:

  • A turnover assumption. You estimate what percentage of your account "turns over" each year, and the tool treats that fraction of your unrealized gain as realized annually. A common worked example: a $100,000 account with a $70,000 cost basis means there is $30,000 in unrealized gains. Add in a 10% turnover rate, and that means your account realizes $3,000 of gains every year, taxed at the capital gains rate.
  • Assuming rebalancing is free. The portfolio drifts back to target each year and no gains are realized along the way. Taxes only show up when you withdraw money to spend.

Both are defensible simplifications. But neither can respond to what actually happens in your plan, and that's where the numbers drift away from reality. The turnover approach charges you the same tax in a year where you never traded at all. The free-rebalancing approach charges you nothing in the year a bull market forces you to sell six figures of appreciated stock.

What FIREproof does instead

Every year of every simulated cycle, FIREproof's rebalancer computes the actual trades needed to return your portfolio to its target allocation. Three things happen when those trades touch a taxable brokerage account:

  1. Rebalance sales realize real gains. Selling $50,000 of equities inside your brokerage uses the same pro-rata cost basis math as any other sale. The gain portion becomes a long-term capital gains tax event in that year, and your basis steps up on the repurchase, exactly as it would at a real brokerage.
  2. Cash that moves between accounts carries its basis with it. When the simulation sweeps cash from your brokerage into savings, the cost basis travels too, so gains can never quietly disappear between accounts.
  3. Tax-free stays tax-free. Rebalancing inside a 401(k), IRA, or Roth realizes nothing, because that's how those accounts actually work.

In other words: your projected rebalancing tax bill is an output of your plan, not an input you guess at.

Example 1: the quiet year and the loud year

Take that $100,000 brokerage account with a $70,000 basis, inside a plan targeting 70% stocks and 30% bonds. Compare two kinds of years:

  • A quiet year: markets move modestly, and your dividends and new contributions are enough to buy the underweight asset back to target. No appreciated shares are sold. Actual realized gain: $0. A 10% turnover assumption still charges you tax on $3,000 of gains.
  • A loud year: stocks jump 25% and drift the account well off target. Getting back means selling roughly $8,000 of appreciated stock, realizing about $2,400 of actual gains from your actual lots. The turnover assumption still says $3,000, because it always says $3,000.

Realized gains from rebalancing, year by year

The same brokerage account over five years. A flat turnover rate charges the same gains every year; simulated trades realize gains only in the years the rebalancer actually sells winners. Illustrative figures.

One flat number is wrong in both directions. The loud years cluster after big market runs, which is exactly when realized gains can stack on top of other income and push you over a bracket boundary or an ACA subsidy cliff. Because FIREproof's simulated gains land in the specific years that produce them, those interactions show up in your results.

Example 2: the cash sleeve that looks free

Here's a scenario that makes the difference dramatic. A retiree holds a $1M brokerage account that has appreciated a lot over the years, with only $300,000 of cost basis. Their allocation targets a large cash sleeve, and their withdrawal order spends from a savings account first. Each year the rebalancer sells appreciated equities to refill cash, sweeps that cash to savings, and the plan spends it.

Under a free-rebalancing assumption, this plan pays zero capital gains tax, forever. The equity sales happen on the "rebalance" path, which realizes nothing, and by the time the money is spent it looks like plain cash. Nearly a million dollars of appreciated stock gets spent tax-free. No real brokerage account works this way, and a plan built on that projection would meet a very different reality at tax time.

Simulating the trades tells the truth: year one of that plan sells about $543,000 of equities to hit its cash target and realizes about $443,500 of long-term gains, because only about 18 cents of each dollar in that account was basis. That's a real tax bill, in the specific year the trades happen, and the plan's success rate moves accordingly. It's a less flattering answer, but it's the true one, and a retirement plan is only as good as its worst accurate number.

The engine is smart about where it trades

Because rebalancing trades have real tax consequences in FIREproof, the engine also does what a good advisor would do: it puts the trades where they cost the least. If your household holds the same asset classes in both a taxable brokerage and a tax-sheltered account, FIREproof prefers to make allocation-shifting trades inside the wrapper, where they're free, and leaves the brokerage's appreciated positions alone whenever the math allows.

A concrete illustration: a household's $1M portfolio with 100% in equities, split across two accounts: $600,000 in a taxable brokerage and $400,000 in a 401(k). They decide to de-risk to a 50/50 equities/cash target, which means selling $500,000 of equities no matter what. The only question is where. Splitting the selling proportionally by account size sells $300,000 in the taxable account and $200,000 in the 401(k). Tax-aware placement instead lets the brokerage keep the full $500,000 of equities the target allows, selling only its last $100,000 there and routing the other $400,000 of selling into the 401(k). Both land on exactly the same target allocation; only the location of the trades differs, and only the taxable slice generates a tax bill.

Same rebalance, two ways to place the trades

An all-equity $1M portfolio ($600k brokerage, $400k 401(k)) de-risking to 50/50 equities/cash. Either way, $500,000 of equities gets sold; tax-aware placement shifts $200,000 more of that selling into the wrapper, where it realizes nothing.

In a full simulation of that scenario, tax-aware placement cut taxable rebalancing volume by about 74% and total taxes by about 9%, and the ending portfolio balance came out meaningfully higher, with the allocation still landing on target every year. Your results will depend on your account mix, but the direction is universal: same portfolio, same risk, fewer taxable sales.

Where to see it in your plan

There's nothing to configure; every simulation models rebalancing taxes this way. To see it:

  • Run your Proof and open the year-by-year view. In any year where the rebalancer sold appreciated assets in your brokerage, the Taxes section shows a Long-term Capital Gains Tax row. Expand it to see which account the gains came from, even in years where your spending was drawn entirely from somewhere else.
  • The account statement for each year lists the individual Rebalancing entries, so you can trace exactly which sales produced the gains.
  • The Help center covers this under Concepts, in the "Rebalancing can realize capital gains" section of the withdrawal order topic. Searching "rebalance" in Help will surface it.
Engine limitations: the simulation rebalances at year-end, after the year's withdrawal planning is done, the same way most real investors do an annual rebalance. So a year's rebalancing gains can occasionally push income past a bracket or MAGI target the withdrawal planner was aiming for earlier in that year. Real portfolios have the same problem, and tax-aware placement shrinks the trades that cause it, but I'd rather tell you the model's edges than pretend it has none.

If your plan pairs an appreciated brokerage account with a cash-heavy allocation or a spend-from-savings withdrawal order, the capital gains lines in your year-by-year results are this tax bill made visible. And if your household also holds sheltered accounts with overlapping asset classes, tax-aware placement is quietly keeping those lines smaller than they would otherwise be.

A projection is only useful if you can trust it on a bad day. The tax side of FIREproof's projections emerges from your actual plan, trade by trade, instead of a number anyone had to guess.

-Lauren

Support this project!

I'm building FIREproof as a solo developer. A Pro subscription keeps the lights on and gets you early access to new features as they land. If honest tax math is the kind of thing that made you look twice at this project, Pro is the best way to keep it moving forward.

Lauren Boland

Lauren Boland

Founder of FIREproof. FIRE nerd. Reddit Moderator.

© 2025 FIREproof. All rights reserved.