If I only check one brokerage account, I may miss losses, miss wash sale conflicts, or both. Tax loss harvesting usually works at the tax-return level, not the account level. So if my money is spread across firms, I may need one view of all taxable lots, a check for gains and losses across accounts, and a wash sale review across the full 61-day window.
Here’s the short version:
- Tax loss harvesting generally applies to taxable accounts, not to 401(k)s, IRAs, Roth IRAs, or HSAs
- Net capital losses may offset capital gains, and up to $3,000 of net losses may offset ordinary income each year, or $1,500 if married filing separately
- Unused losses may carry forward indefinitely
- Lot-level data matters more than account summaries because one holding may show gains overall while some lots still show losses
- Short-term losses may have more tax value if they offset short-term gains taxed at higher rates
- Wash sales may be triggered across all accounts, including spouse accounts and accounts with auto-investing or dividend reinvestment
- A replacement holding may keep market exposure in place while lowering wash sale risk, though tax treatment may depend on the facts
What I take from the article is simple: the process may only work well when I see every taxable position in one place, rank losses by possible tax use, and screen every account before selling. That includes hidden items like DRIPs, IRA purchases, mutual fund distributions, and stock-comp gains from RSUs, NSOs, or ESPPs.
Quick comparison
| Area | What I’d look for | Why it may matter |
|---|---|---|
| Account coverage | All taxable brokerage accounts in one view | A loss in one account may offset gains in another |
| Data detail | Lot-level cost basis, dates, holding period, unrealized gain/loss | Position totals may hide harvestable lots |
| Tax value | Short-term vs. long-term losses, realized gains, distributions | Some losses may be more usable than others |
| Wash sale check | Buys in taxable accounts, IRAs, HSAs, 401(k) windows, spouse accounts | A repurchase may disallow the loss |
| Replacement fund | Similar exposure, but not “substantially identical” | This may reduce market drift and wash sale risk |
| Timing | Year-round review instead of only December | A loss in March may be gone by year-end |
So the article’s main point is pretty clear: finding tax-loss harvesting chances across many accounts may be less about one sale and more about seeing the whole picture first.
Tax Loss Harvesting Across Multiple Accounts: 3-Step Process
What Is Tax-Loss Harvesting & How To Do It? - 8/19/25 | Market Sense | Fidelity Investments
Step 1: Build one complete view of every taxable position
Before you decide which positions to sell, you need one place that shows every taxable lot across every brokerage. That solves a common problem: most people may only see one account at a time, which may hide losses elsewhere. Start by pulling the same lot-level fields from each taxable brokerage account.
What data to pull from each brokerage
For each taxable account, gather the fields that matter for harvesting: account name, ticker or fund name, share count, current market value, unrealized gain or loss, cost basis, cost basis method, purchase date, holding period, and year-to-date realized gains and losses. If your brokerage shows wash sale adjustments, include those too. The point is simple: you want to compare possible harvesting trades across firms side by side.
Pay close attention to the cost basis method. Many brokerages default to FIFO (First-In, First-Out), which means the oldest shares may be sold first. That may not always line up with a harvesting plan. If you know which method is active in each account, you may be in a better position to see whether specific identification makes more sense at the time of sale.
Why lot-level data matters more than position totals
Most brokerage apps default to a position summary. That may sound fine, but it may hide losses sitting inside individual lots.
A lot is a specific batch of shares bought on a certain date at a certain price.
So a position may look profitable overall, even when some of the lots inside it still show losses. When you switch to a lot-level view, those hidden losses may come into view.
Lot-level data also tells you the holding period - whether a loss is short-term (held under one year) or long-term (held over one year). That split matters because short-term losses may offset short-term gains, which are taxed at ordinary income rates. In practice, the lot you sell may matter as much as the position you sell.
How to set up a consolidated view
A spreadsheet may work as a starting point. You can pull all of those lot-level fields into one file and sort them in one view. But manual tracking may break down fast. If a portfolio has 20 or more holdings - or hundreds of separate lots - a spreadsheet updated once a year may miss losses that appear and disappear during the year.
Mezzi pulls read-only data from linked brokerages through Plaid and Finicity/Mastercard, which may make cross-account monitoring easier without moving assets. Once every lot is visible in one place, the next step is to rank losses across accounts by possible tax value.
Step 2: Find the best harvesting candidates across accounts
How to filter and rank losses by tax value
Once every lot sits in one place, sort losses by their estimated tax value. Start with a minimum-loss filter. In plain English, set aside losses that may be too small to get past trading costs.
Then split losses into two groups:
- Short-term: held for one year or less
- Long-term: held for more than one year
Short-term losses may carry more tax value than long-term losses because they may offset income that is taxed at a higher rate.
From there, rank each loss based on the gains it may offset. Common places to look include realized stock and ETF sales, mutual fund capital gain distributions - often paid in November and December - and stock sales from RSUs, NSO exercise-and-sell transactions, and ESPP dispositions, which often create short-term taxable gains. A short-term loss with a clear same-year gain to absorb it may be more usable than a long-term loss with no clear match.
This is where the picture may change. A loss that looks minor in one account may matter more once you line it up against gains somewhere else.
Cross-account situations that can hide or create opportunities
Some harvesting candidates may only show up when you review accounts together. A loss in one account and a gain in another - or two similar funds held at different brokerages - may reveal a harvestable loss without changing market exposure too much. In some cases, a loss in one account and a gain in another may offset each other in economic terms while still creating tax value.
That said, a paper loss is not automatically worth acting on. The tax value may need to hold up after trading costs and any change to the portfolio.
Weighing tax benefit against portfolio impact
Before selling, compare the tax benefit with trading costs and portfolio drift. Estimate the tax savings, then subtract trading costs. Bid-ask spreads and fund redemption fees may wipe out small tax gains.
Cost is only part of it. The replacement holding also needs to fit the plan. Swapping one S&P 500 ETF for another may be fairly simple. Replacing a sector fund with something broader is different. That kind of move introduces portfolio drift and may change the portfolio's risk profile in ways that last longer than the tax benefit.
So the trade-off is pretty simple: harvest when the tax value may outweigh trading costs and any portfolio drift. And if the original thesis no longer holds up - persistent underperformance, fundamental deterioration - selling for the loss while leaving the position may do two jobs at once.
The next step is checking whether a sale may be disallowed by repurchases elsewhere.
Step 3: Check for wash sale risk before you sell
The biggest cross-account mistake may happen when a sold security gets bought back inside the 61-day wash sale window. If the same or a substantially identical security is bought within 30 days before or after the sale - in any account - the loss may be disallowed and added to the replacement shares' basis, which may delay the tax benefit you were expecting this year. A loss identified in Step 2 may only be usable if no account repurchases the security during that window. That makes wash-sale screening the last check before you sell.
Every source of repurchases to check across your accounts
After you identify a candidate, scan every account that may repurchase it. Review the full 61-day window across all taxable accounts, IRAs, HSAs, 401(k)/403(b) brokerage windows, and jointly filed spouse accounts.
Then check for two easy-to-miss issues beyond manual buy orders:
- Automatic buys, DRIPs, and robo-advisor rebalancing into the same fund or ticker during the window
- Spouse account activity, since a repurchase there may disallow your loss even if your own accounts show nothing
Even a small automatic purchase in another account may disallow the loss. Some investors pause DRIPs and recurring buys for any security they're targeting before they act.
How to stay invested using replacement holdings
One common approach is to switch to a similar holding that is not substantially identical - something that may keep your market exposure roughly intact without triggering the wash sale rule.
The IRS has never defined "substantially identical" with precise quantitative thresholds, so practitioners often rely on practical distinctions: different index, different fund sponsor, different methodology. Swapping between share classes of the same fund, or between a mutual fund and its ETF share class tied to the same underlying portfolio, is generally viewed as high risk. Swapping between two funds from different providers that track different indexes is generally viewed as safer.
| Approach | Wash Sale Risk | Tracking Error | Implementation Complexity |
|---|---|---|---|
| Sell Fund A, rebuy the same fund | High - almost certain wash sale | None | Very easy |
| Sell Fund A, buy the ETF share class of the same fund | High - generally treated as substantially identical | None | Easy but high risk |
| Sell S&P 500 ETF (Provider A), buy S&P 500 ETF (Provider B) | Moderate - many advisors consider this potentially substantially identical if indexes and holdings are nearly identical | Very low | Moderate |
| Sell S&P 500 ETF, buy Total U.S. Market ETF | Lower - different index and broader universe | Low | Moderate |
| Sell sector ETF, buy broad market ETF | Low - different scope and sector weights | Higher | Moderate |
How Mezzi flags cross-account wash sale conflicts

This is where a single-account view may break down. If you're only looking at one brokerage, you may not see that a recurring buy in your IRA or your spouse's account is about to disallow a loss you're planning to harvest elsewhere.
Mezzi links your accounts in read-only mode and flags cross-account conflicts before you sell. It also alerts you when the window closes so you know when switching back may be safe. That's why tax-loss harvesting may need attention throughout the year, not just at year-end.
Year-round monitoring with Mezzi, plus key limits and takeaways
Why monitoring throughout the year beats a once-a-year review
Once you have a full cross-account view and a wash sale check, the next edge may come from watching things all year instead of waiting for year-end.
Here’s why: a loss that shows up in March may be gone by December. Markets move. Contributions hit at different prices during the year. RSU vesting or stock option exercises may also create large realized gains at almost any point on the calendar. If you wait too long, that loss may no longer be there.
This may matter even more for high-income investors with concentrated positions or stock compensation. Take a tech employee who sells $100,000 of company stock in July and realizes long-term gains. At that same time, sector ETFs at another custodian may be sitting on $60,000 of unrealized losses. Spotting that overlap in July, rather than December, may reduce the net taxable gain. By year-end, those ETFs may have rebounded.
Mezzi may re-scan connected accounts as new data comes in. That may help surface price moves, new contributions, dividend reinvestments, and trades that change loss opportunities or wash sale risk. It flags loss candidates and wash sale conflicts without moving money or placing trades. You keep execution control at each brokerage.
Key limits, tax rules, and when to bring in a tax professional
Even if a harvest candidate looks clean, tax and trading limits still apply. Tax-loss harvesting may defer taxes; it does not erase them. If you sell at a loss and buy into a similar holding, the replacement position may carry a lower cost basis. When that position is sold later, the taxable gain may be larger. In some cases, harvesting may defer tax and shift future gains into lower long-term rates.
A few hard limits come up often:
| Rule | Detail |
|---|---|
| Ordinary income offset cap | Up to $3,000 of net capital losses may offset ordinary income ($1,500 if married filing separately) |
| Loss carryforward | Unused losses may carry forward indefinitely |
| Wash sale window | 30 days before and after the sale, across all accounts |
| Short-term vs. long-term netting | Losses first offset gains of the same type, then the other type |
Trading friction matters too. Transaction costs, bid-ask spreads, and portfolio drift may cut into the tax value. A $500 loss in a thinly traded ETF may not be worth harvesting once you factor in the spread and any move away from your target allocation. In practice, some investors look for cases where the tax value may be greater than trading costs and portfolio drift.
A qualified tax professional may be worth bringing in when equity compensation, multi-state residency, large carryforward balances, or cases tied to estate planning or charitable giving are in the mix. Mezzi’s guidance is based on the account data you connect. That means complete, accurate data may be needed for results you can rely on, and tax outcomes may still depend on your full financial picture.
Conclusion: The clearest path to usable harvesting opportunities
The workflow is pretty straightforward: gather lot-level data, rank losses by tax value, check wash sale risk, use a replacement holding, and keep monitoring through the year.
Each step connects to the next. Skip one, and you may miss an opportunity or end up with a disallowed loss. For investors who want self-managed tax optimization, full visibility across accounts may be what makes the process workable.
FAQs
How do I combine lot data across brokerages?
Use an independent account aggregation tool to connect your investment accounts through APIs or manual uploads. That may pull your holdings, gains, losses, and tax lots into one dashboard across brokerages.
The result may be a single view of your portfolio. And that may make it easier to spot tax-loss harvesting opportunities and watch for wash-sale risk across accounts.
Why does this matter? Brokerages usually don’t share account data with one another. So without an outside aggregation platform, cross-account tax-lot management may be harder to track with accuracy.
Which accounts can trigger a wash sale?
A wash sale may be triggered by activity across more accounts than many people expect.
It may involve taxable brokerage accounts, IRAs, Roth IRAs, 401(k)s, and even a spouse’s accounts.
If you buy a substantially identical security within 30 days before or after selling at a loss in any of those accounts, the tax loss may be disallowed. And this rule may apply across accounts you control, including joint and spousal accounts.
When is a loss too small to harvest?
A loss may be too small to harvest when the possible tax benefit does not outweigh trading costs, time, or the risk of a wash sale.
In practice, many investors pass on very small losses because the tax savings may be minor. The main idea is simple: weigh the possible tax benefit against the costs and the chance that a wash sale may disallow the loss.
Related Blog Posts
Table of Contents
Book Free Consultation
Walk through Mezzi with our team, review your current situation, and ask any questions you may have.
