Playbook · taxes · investing

Move the sleeve with cash flow. Do not tidy a ticker.

Free primer: asset location. Numbers: tax-drag calculator (hash + bars). Paid steps assume you already know bonds belong in tax-deferred and growth in Roth, and you want a file — not another tax-drag essay. Withdrawal order later: tax-efficient withdrawals.

Do this in order

  1. One sheet before you trade. Account type (taxable / traditional 401(k)–IRA / Roth / HSA), ticker, approximate market value, trailing yield, embedded gain or loss if taxable. Circle every bond, REIT, TIPS, and high-turnover active fund sitting in taxable. Circle every broad equity index that lives only in the IRA while taxable holds the “income” sleeve. That inversion is the job. A screenshot of each login beats a memory of “we’re 80/20.”
  2. Write the household mix, not each account’s mix. Target 80/20 across the whole pile. A 401(k) that is 100% stock and a taxable account that is 100% bond fund is still 80/20 if the dollars line up — it is just the expensive 80/20. Do not “fix” the 401(k) to 80/20 by buying bonds in taxable because the IRA looks aggressive this month. Location constraints beat a 1% allocation drift.
  3. Type your yield and your ordinary rate into the calculator. Do not scrape a live coupon. Swap size is the lesser of taxable bonds/REITs and traditional-account room. Defaults on the page ($80k sleeve, 4.2% yield, 32% ordinary, 1.4% qualified, 15% LTCG) are an example, not today’s auction. 2026 qualified / LTCG bands are 0% through taxable income $49,450 single / $98,900 MFJ, 15% through $545,500 / $613,700, then 20% (Rev. Proc. 2025-32 §4.03). Ordinary 32% starts over $201,775 single / $403,550 MFJ. If the yearly save is under a few hundred dollars, stop: the next ten steps are not worth a Saturday.
  4. Check MAGI before any taxable sale. NIIT is 3.8% of the lesser of net investment income or MAGI over the floor (IRC §1411). Floors are statutory, not indexed: $200,000 single / HOH, $250,000 MFJ, $125,000 MFS. Toggle NIIT on the calculator if you are over; it hits both sleeves, and the location save still comes from the ordinary-vs-qualified gap. IRMAA is a two-year lookback — IRMAA MAGI — if you are inside two years of Part B. Crossing a 0% → 15% LTCG band, the NIIT floor, or an IRMAA cliff to tidy a ticker is the wrong trade.
  5. New 401(k) / IRA money buys the bond and TIPS sleeve until household bonds live in tax-deferred. Change the election this week, not after a sale. Match still comes first — order of operations. You are not building a second 80/20 inside the 401(k). You are parking the household’s bonds where interest is not a 1099-INT every January. Most households finish the migration in 12–24 months of payroll without a sale.
  6. Direct Roth (and HSA, if receipts live in a shoebox) to the highest expected-growth slice. Roth growth leaves tax-free; that is where small/mid tilt, international small, or simply more of the equity you already want belongs. An HSA invested in the plan’s 0.4% cash sweep is how people donate the triple-tax to the custodian — HSA primer. Do not put the bond sleeve in Roth so the 401(k) “looks balanced.”
  7. In taxable, turn off dividend reinvestment on the funds you are shrinking. Send that cash, and new taxable contributions, to the total-market or S&P 500 ETF you want to keep. Foreign tax credit on international dividends is a reason to leave some international equity in taxable; it is not a reason to leave a REIT there. Municipal bonds only if you are in a high ordinary bracket and the after-tax yield actually beats a Treasury sitting in the IRA. A 12% or 22% household does not need munis for the slogan.
  8. If you must sell, specific-ID the lots. FIFO is the default trap. Call the broker or click the tax-lot method before the trade. Sell the lots with losses or tiny gains first. IRC §1222: long-term is more than one year — day 365 is still short. The capital-gains calculator is the one-lot tax; this playbook is whether the lot should move at all.
  9. Harvest losses in the same calendar year you take a gain. $3,000 ordinary cap (IRC §1211(b); $1,500 MFS). Wash sale is 30 days in a taxable account — and a replacement inside an IRA does not reset the clock the way people hope. Run tax-loss harvest on the actual lots, then the location sale. Do not harvest a $400 loss to justify an $18,000 gain.
  10. Sale worth-it test: tax this year vs remaining expected drag, not vs a tidy screenshot. Example shape: $2,400 embedded gain × 15% = $360. If the calculator saves ~$907/year on that sleeve, sell. $18,000 gain × 15% = $2,700 — about three years of drag; wait for cash flow (steps 5–7). Add state % if you actually pay it; most states have no LTCG break. Do not sell in a year you are filling the 0% LTCG band on purpose — that band is a harvest, not a cleanup (withdrawal order).
  11. Rebalance with new contributions and inside the wrapper that already holds the overweight asset. IRA overweight stocks? Future 401(k) dollars go to bonds (step 5), or sell stocks inside the IRA. Do not buy bonds in taxable to “rebalance.” Once a year, confirm taxable still holds enough equity to harvest a real downturn, and that new lots have a beneficiary / TOD — titles audit. Location is a multi-year project. A 1% drift in a down month is not an emergency.
  12. Hard-stop list: dumping an $18k gain to “clean up” location; buying bonds in taxable because the IRA is “full of stocks this month”; munis in a 12% or 22% household; an active stock fund in taxable while bonds sit in Roth; treating the HSA as a cash sweep; crossing NIIT $200k / $250k or an IRMAA lookback year to tidy a ticker; FIFO because specific-ID took an extra click; turning a location project into a Roth conversion (different file — conversion calculator); copying a target-date fund into taxable so every account “matches.” If the calculator’s yearly save does not clear a few hundred dollars, you wanted the primer, not a Saturday of trades.

One-page decision

Inventory. Confirm the inversion. Type your yield. New 401(k) money buys bonds until the sleeve lives in tax-deferred. Roth and HSA get growth. Taxable: kill DRIP, send cash to a total-market ETF. Sell only lots whose tax is smaller than a year or two of drag, specific-ID, same-year harvest. Never cross NIIT, IRMAA, or the 0% LTCG band to tidy a ticker. Rebalance inside the wrapper. Nobody is required to sell this weekend because a screenshot looks messy.

Worked example (educational, not tax advice): Alex, single, 42, MAGI $165,000 — under the NIIT $200,000 floor, not on Medicare. Ordinary 32%, qualified 15%, no state. Taxable: $80,000 total-bond fund, example yield 4.2% (not a live coupon), embedded gain $2,400. Traditional 401(k) $220,000 all US stock index. Roth $40,000 equity. Household target 80/20; the bonds are in the wrong wrapper. Calculator swap $80,000. Annual tax on those bonds in taxable $1,075 (4.2% × 32%). Same dollars as stock index in taxable: $168 (1.4% × 15%). Yearly save $907; ten years $9,072 (no compounding of the drag). Selling the bond fund this year: $2,400 × 15% = $360 — less than one year of drag, so sell, specific-ID, buy the total-market ETF with the proceeds. 401(k) election: next contributions buy the bond index until ~$80k of new money has rebuilt the sleeve in tax-deferred; Roth stays equity. If the embedded gain were $18,000, tax ≈ $2,700 (~3 years of drag) — turn off DRIP, change the 401(k) election, do not sell. Toggle NIIT on the same $80k at MAGI over $200k: bond drag $1,203, stock drag $211, save $992/year — still do not sell if the sale itself is what crosses the floor. Type your own yield and MAGI; this is not a form you file.

Related: asset-location primer · tax-drag calculator · one-lot capital gains · harvest calculator · withdrawal order · IRMAA MAGI · titles after new lots · 2026 order of operations