ETF Tax-Loss Harvesting: Avoid Wash Sales Successfully

Stocks and ETFsETF Tax-Loss Harvesting: Avoid Wash Sales Successfully

Think selling a losing ETF and buying it back right away is smart tax planning?
It can cost you the deduction.
The IRS wash sale rule blocks a loss if you buy the same or a “substantially identical” (basically the same) security within 30 days before or after the sale, creating a 61-day window.
This post gives a simple ETF checklist to harvest losses without tripping a wash sale, keep you invested, and protect the tax benefit.
You’ll get clear swaps to use, timing rules to follow, and the one habit that trips most people: automatic or cross-account purchases.

Complete ETF Tax-Loss Harvesting Checklist to Stay Within IRS Wash Sale Rules

DQ9XkPZRXiWOaFjHNOBAPg

The IRS wash sale rule stops you from claiming a capital loss if you buy back the same security, or one that’s basically the same, within 30 days before or after you sell it at a loss. Add the sale day itself and you’re tracking a 61-day window. Violate the rule and the loss gets disallowed for that tax year. In a taxable account, the disallowed amount just gets tacked onto the cost basis of your replacement shares, which means you defer the tax benefit until you sell those. But if you buy the replacement in an IRA or another retirement account, the loss disappears. Gone. Retirement accounts don’t carry outside cost basis, so there’s nowhere for that adjustment to land.

ETFs give you options because they cover broad markets, sectors, strategies. When you need to harvest a loss, you can usually find a different index or sector ETF that keeps you invested in something similar without tripping the wash sale wire. Sell an S&P 500 fund and buy a total-market ETF? You’re still in large caps, just a different basket. Sell a losing stock and buy a sector ETF that includes it? Same idea.

The real risk is forgetting about purchases in other accounts. If you buy the same security in your spouse’s account, your IRA, or even through an automatic 401(k) contribution during that 61-day stretch, you’ve triggered a wash sale. The IRS looks at all your household and controlled accounts, not just one brokerage.

Here’s the full checklist:

  1. Identify the realized loss and record the sale date and loss amount. Example: $20,000 loss on Salesforce (CRM) sold November 19, 2025.

  2. Mark the 61-day window. Count 30 days before the sale date through 30 days after. For CRM, that’s mid-October 2025 through mid-December 2025.

  3. Confirm your replacement isn’t substantially identical. Check whether the replacement ETF tracks a different index, covers a different sector, uses a different strategy.

  4. Choose a substitution that keeps you invested. Examples: sell a stock and buy a sector ETF. Swap S&P 500 for total-market or a different large-cap fund. Replace an active mutual fund with a passive index ETF.

  5. Check all accounts and pause automatic contributions. Review taxable accounts, IRAs, 401(k)s, your spouse’s accounts. Stop recurring purchases of the same security for 61 days.

  6. Track cost basis changes and document any disallowed loss. If a wash sale happens, note the disallowed amount and the new adjusted basis of the replacement shares.

  7. Keep trade confirmations and brokerage records. Save statements showing dates, quantities, prices, accounts for every sale and purchase during the window.

  8. Calculate the potential tax benefit before you harvest. Estimate tax benefit as realized capital loss times your marginal tax rate. A $20,000 loss at a 15 percent long-term rate saves roughly $3,000 if fully allowed.

IRS Timing Rules for ETF Tax-Loss Harvesting and the 61-Day Window

y5VVI7MQVxKDFenMjRQiwg

The wash sale rule counts 30 calendar days before your loss sale, the sale day itself, and 30 calendar days after. That 61-day window is the period where any purchase of the same or substantially identical security will disallow your loss. Trade date controls, not settlement date. Mark your calendar from the day you execute the sell order.

Calendar-year boundaries don’t give you a free pass. Sell on December 17 and the 30-day look-forward window reaches into mid-January. Sell on January 10 and the look-back window includes mid-December of the prior year. Example: selling CRM on November 19, 2025 triggers a window running from roughly October 20, 2025 through December 19, 2025. Buy CRM in an IRA on December 3, 2025? You’re inside that window and the $20,000 loss is disallowed permanently.

Year-end planning matters because a lot of people harvest losses in December to cut current-year tax bills. Harvest on December 28 and you can’t repurchase that security until late January. Missing that timing can leave you out of the market during a rally or accidentally trip a wash sale if you forget the cross-year rule.

Key timing considerations:

  • Settlement dates for dividends and distributions: ex-dividend dates can affect whether you get a distribution that triggers automatic reinvestment into the same security.
  • Automated contributions: pause 401(k) or IRA auto-purchases into the same fund during your 61-day window.
  • Year-end overlaps: December sales extend into January. January sales reach back into December.
  • Trade execution versus settlement: the IRS uses trade date, so execute your replacement purchase at least 31 days after your loss sale to be safe.

Understanding Substantially Identical ETFs and Allowed Substitutes

8wYFx8NOU_2S9kKPYbFuJg

The IRS has never published a clear definition of “substantially identical,” so you’re navigating gray areas when you pick replacement ETFs. Two share classes of the same company? Clearly identical. Two mutual funds that track the exact same index from different issuers? Gray zone. Most tax pros treat them as separate legal securities and accept the swap, but the IRS could push back in an audit. Different-index ETFs are safer. Swapping an S&P 500 fund for a total-market or Russell 1000 fund keeps you in large caps but tracks a different benchmark, which reduces identical-security risk.

Options create wash sale exposure because a call option is a contract to acquire the underlying stock. Buy a call on the same stock you just sold at a loss? That can disallow the loss even though you don’t yet own shares. Bonds from the same issuer with different maturities or coupon rates are usually not considered identical because their cash flows and durations differ. The key is whether two securities move together because they represent the same economic interest or just correlate because they’re in the same sector or market.

Category Safe Substitute Example Why Not Substantially Identical
Single stock to sector ETF Sell bank stock at loss, buy XLF (financials sector ETF) Individual company ≠ diversified sector basket
Index fund to different-index ETF Sell S&P 500 fund, buy total-market or Russell 1000 ETF Different benchmarks, different constituent lists
Active mutual fund to passive index ETF Sell active small-cap fund, buy IWM (Russell 2000 ETF) Active management strategy ≠ passive index tracking
Same-index ETFs from different issuers Swap SPY for VOO (both S&P 500) Gray area. Separate legal securities but identical index. Use cautiously

ETF Substitution Strategies to Maintain Exposure While Avoiding Wash Sales

NC9w5_qUD6DI9m3Tc4GQQ

The simplest substitution is moving from a concentrated position to a broader one, or from one index to another that covers similar but not identical ground. ETFs make this easy because you can find funds for nearly every sector, region, factor, strategy. The goal is to stay invested and keep your market exposure while the 61-day window runs.

Single-Stock Losses to Sector ETFs

When you sell an individual stock at a loss, you can immediately buy a sector ETF that includes that stock without triggering a wash sale. An individual company isn’t substantially identical to a basket of 20 or 50 companies in the same industry. Example: you sell Salesforce (CRM) at a $20,000 loss and buy XLK, a technology sector ETF holding dozens of tech names including Salesforce. The ETF is diversified enough that it doesn’t replicate the single-stock position, so the loss stands. You stay in the sector while you wait out the 30-day window to repurchase CRM if you want it back.

Index Fund Replacement Strategies

Swapping one index fund for another is the most common ETF wash-sale workaround. Sell an S&P 500 ETF and buy a total-market ETF or a large-cap blend that tracks a different benchmark. Sell a Nasdaq-heavy fund and rotate into a broad-market or value-tilted fund. Sell IWM (Russell 2000 small-cap) and buy a mid-cap or extended-market ETF. Each swap changes your index and holdings enough to avoid the substantially identical label while keeping you invested in U.S. equities. The key is picking funds that track different benchmarks and have different constituent lists, even if their performance moves together over time.

Mutual-Fund-to-ETF Rotations

If you hold an actively managed mutual fund at a loss, you can sell it and immediately buy a passive index ETF that covers the same market segment. An active small-cap fund and a Russell 2000 ETF (like IWM) aren’t substantially identical because one relies on manager selection and the other tracks an index. Same logic applies to active international funds swapped for broad international index ETFs. This rotation often lowers your expense ratio and reduces future tax drag from capital gains distributions while harvesting the current loss.

Characteristics of compliant replacement ETFs:

  • Tracks a different underlying index or uses a different selection method.
  • Covers a broader or narrower market segment than the original holding.
  • Includes different constituent securities, even if sector or cap exposure overlaps.
  • Issued by a different provider if swapping same-index funds (though this remains a gray area).
  • Doesn’t involve options, futures, or derivatives on the sold security.

Cost Basis Tracking and Documentation Requirements for ETF Loss Harvesting

1dpVC_V3XpidMUSetMhuTA

Your broker will report all sales and purchases on Form 1099-B at year-end. Most brokers flag wash sales automatically and adjust your reported cost basis, showing a “W” code on the 1099-B detail. Your job is to reconcile that broker data with your own lot-level records and confirm every adjustment makes sense. If you buy a replacement in an IRA, the broker can’t adjust IRA basis because IRAs don’t have outside cost basis. That means the loss is permanently disallowed, and you’ll need to manually track that when you prepare your return.

When a wash sale happens in taxable accounts, the disallowed loss gets added to the cost basis of the replacement shares. That adjustment defers the tax benefit until you sell the replacement. Keep a spreadsheet or brokerage export showing each lot’s original basis, the disallowed loss amount, the new adjusted basis, and the date you can safely repurchase without triggering another wash sale. If you harvest multiple losses and make multiple replacement purchases during the year, cost basis tracking gets complicated fast.

Documents to save:

  • Trade confirmations showing date, time, quantity, price, account for every sale and purchase during the 61-day windows.
  • Tax-lot detail from your broker showing original cost basis, sale proceeds, wash-sale adjustments for each lot.
  • Year-end brokerage statements and the full 1099-B detail, including supplemental pages that list wash-sale codes and adjusted basis.
  • Notes explaining your substitution rationale, such as “sold CRM 11/19/2025, bought XLK same day to maintain tech exposure and avoid wash sale.”
  • Calendar or spreadsheet marking the 61-day window for each loss sale and the earliest safe repurchase date.
  • Records of spouse and household trades if you share accounts or coordinate purchases across IRAs and taxable accounts.

How to Calculate Realized Losses, Disallowed Losses, and Potential Tax Savings

NEprcAT-VzKknq448azXbQ

Realized loss equals your cost basis minus sale proceeds. If you bought 100 shares at $60 per share (cost basis $6,000) and sold them at $40 per share (proceeds $4,000), your realized loss is $2,000. If you have capital gains elsewhere, that $2,000 loss offsets $2,000 of gains dollar-for-dollar. If you have no gains, you can use up to $3,000 of net capital losses to reduce ordinary income each year. Any remaining loss carries forward to future years.

When a wash sale disallows your loss, you don’t get the immediate tax benefit. Instead, the $2,000 disallowed loss increases the cost basis of your replacement shares. If you paid $40 per share for 100 replacement shares (new basis $4,000), the adjusted basis becomes $6,000. When you eventually sell those replacement shares, your taxable gain or loss will reflect the higher basis. If you sell the replacement shares at $50 per share (proceeds $5,000), your taxable gain is $5,000 minus $6,000, which is a $1,000 loss instead of a $1,000 gain. The tax benefit is deferred, not lost, unless you bought the replacement in an IRA.

Scenario Realized Loss Tax Rate Immediate Tax Benefit Wash-Sale Result
Standard loss sale, no repurchase $2,000 15% $300 Loss allowed. Basis not adjusted
Wash sale, replacement in taxable account $2,000 15% $0 Loss disallowed. $2,000 added to replacement basis. $300 benefit deferred
Wash sale, replacement in IRA $2,000 15% $0 Loss permanently disallowed. No basis adjustment. $300 benefit lost

Edge Cases: IRAs, Spouses, Auto-Repurchases, and Cross-Account ETF Trades

oznf-oybWsCsfltcWT6SUw

The wash sale rule extends to all accounts you control and to accounts controlled by your spouse or certain related parties. If you sell a stock at a loss in your taxable brokerage account and your spouse buys the same stock in their IRA two weeks later, the IRS treats that as a wash sale. Your loss is disallowed, and because the replacement is in an IRA, you lose the tax benefit permanently. Same applies if you sell in your taxable account and accidentally repurchase in your own IRA, or if your 401(k) automatically buys shares of the same mutual fund during the window.

Automated contribution plans create invisible traps. Many 401(k) plans direct every paycheck contribution into a target-date fund or a specific index fund. If you sell that same fund at a loss in your taxable account and forget to pause your 401(k), each bi-weekly contribution during the 61-day window can trigger a wash sale. The disallowed loss doesn’t get added to your 401(k) basis because 401(k) contributions are pre-tax and the account has no outside basis. Result: the loss is gone. The fix is simple but easy to forget. Pause or redirect your automated purchases for two months whenever you harvest a loss.

Related-party and household coordination matters more than most people realize. You and your spouse are treated as a single unit for wash sale purposes even if you file separately. If you coordinate a harvest in December, make sure both of you avoid repurchasing the same security across all taxable, IRA, and 401(k) accounts until the window clears. If you have adult children living at home or a controlled business entity, their trades can potentially trigger your wash sale too, though that edge case is less common for individual investors.

Specific traps to avoid:

  • Spouse repurchase in any account: your spouse buying in a taxable or retirement account during your 61-day window disallows your loss.
  • Automatic reinvestment of dividends or distributions: if you sell a fund at a loss and the fund pays a distribution during the window, reinvesting that distribution into the same fund can trigger a wash sale.
  • 401(k) or IRA contributions during the window: automated purchases of the same security in retirement accounts permanently disallow the loss.
  • Calendar boundary confusion: assuming January 1 resets the rule. It doesn’t. Count 30 days forward from any December sale into the new year.

Reporting ETF Tax-Loss Harvesting in Your Tax Return (Forms, Broker Records, Timelines)

pNBXPOpPWyqk6DZZQ7Hg1w

Your broker sends Form 1099-B in late January or early February showing all security sales for the prior tax year. The 1099-B lists each sale’s proceeds, cost basis, gain or loss, holding period. When a wash sale occurs, the broker usually reports it with code “W” and shows the disallowed loss amount in a separate column. You transfer that information to IRS Form 8949, which reconciles your broker’s data with any adjustments you need to make. Form 8949 feeds into Schedule D, where short-term and long-term capital gains and losses are summarized and netted.

If you have a simple wash sale that your broker tracked correctly, you report the adjusted basis and disallowed loss exactly as shown on the 1099-B. If you repurchased the security in an IRA or another broker’s account, your primary broker won’t know about the IRA purchase. You must manually identify the wash sale, disallow the loss on Form 8949 using code “W,” and enter the nondeductible amount in column (g). Keep your own records showing the IRA purchase date and confirmation, because the IRS may ask for proof during an audit.

Year-end reconciliation steps:

  1. Download your year-end tax-lot detail from every brokerage and retirement account you used during the year.
  2. Export 1099-B data and compare it line-by-line to your personal trade log and calendar of 61-day windows.
  3. Flag any cross-account purchases during a wash sale window that your broker didn’t catch.
  4. Prepare a wash-sale adjustment worksheet showing the original loss, the disallowed amount, the adjusted basis, the IRS form code.
  5. Transfer adjusted figures to Form 8949 and Schedule D, making sure your software or preparer applies code “W” and column (g) correctly.

Common ETF Tax-Loss Harvesting Mistakes and Ways to Avoid Wash-Sale Penalties

HDRt5OjqWYuO_17KIZeafw

People trip over the wash sale rule more often than any other tax-loss harvesting issue. The most frequent mistake is repurchasing the same ticker within 30 days because the calendar window is harder to track than it sounds. Another common error is assuming two ETFs that track the same index are automatically safe substitutes. SPY and VOO both track the S&P 500, so swapping one for the other sits in a gray area. Most practitioners accept it, but the IRS could challenge it. A safer move is swapping to a total-market or different large-cap index.

Seven mistakes to watch for:

  • Buying the same security within 30 days after the sale: the classic violation. Wait 31 days to be safe.
  • Buying in a spouse’s account or your IRA during the window: cross-account and household purchases count and can permanently disallow the loss.
  • Using call options or covered calls on the sold security: options are contracts to acquire the stock and can trigger a wash sale.
  • Forgetting automated 401(k) or dividend reinvestment purchases: auto-invest features repurchase the same fund without your active decision.
  • Assuming same-index ETFs from different issuers are always safe: SPY and VOO track identical indexes. The IRS hasn’t ruled, so treat them cautiously.
  • Failing to document your substitution rationale: if audited, you need to show why your replacement wasn’t substantially identical.
  • Triggering wash-sale chains across multiple trades: buying and selling the same security repeatedly within overlapping windows stacks disallowed losses and makes recordkeeping a mess.

Compliance habits that keep you out of trouble: set calendar alerts for 31 days after every loss sale before you allow yourself to repurchase. Export trade confirmations and tax-lot data immediately after each harvest and store them in a year-specific folder. Review your full household trading activity at year-end with your spouse. When in doubt about whether two ETFs are substantially identical, choose a clearly different-index substitute and document your reasoning. If you have large positions, multiple accounts, or complex lot histories, pay a CPA to review your harvesting plan and your draft Form 8949 before you file.

Final Words

Start by marking the 61-day wash-sale window, choose replacement ETFs that aren’t substantially identical, and check every account for cross-trades. Track cost basis, save confirmations, and follow the reporting steps so your paperwork matches Form 8949.

Watch for common traps like IRA buys, spouse accounts, or automatic reinvestments that can disallow a loss.

If you follow the etf checklist for tax-loss harvesting and wash sale rules, you’ll keep more of the tax benefit and stay on solid footing going forward.

FAQ

Q: What is the wash-sale rule and how long is the window?

A: The wash-sale rule disallows a tax loss when you buy a substantially identical security within 30 days before or after the sale, creating a 61-day tracking window that includes the sale day.

Q: Will buying a different ETF trigger a wash sale?

A: Buying a different ETF triggers a wash sale only if the funds are substantially identical; ETFs that track different indexes are usually allowed, while same-index funds are a gray area.

Q: If I buy the same or similar ETF in my IRA after selling in a taxable account, is the loss allowed?

A: Buying the same or similar ETF in an IRA after a taxable sale triggers a wash sale and permanently disallows the loss, because losses tied to retirement account purchases cannot be claimed.

Q: How do I choose a compliant replacement ETF?

A: Choose a replacement ETF that tracks a different index or sector, has different holdings or methodology, and closely matches exposure without mirroring the sold fund’s index or manager style.

Q: What records should I keep for tax-loss harvesting?

A: Keep trade confirmations, tax-lot details, timestamps, broker 1099‑B and year‑end statements, notes on replacement purchases, and saved confirmations to support reporting and audits.

Q: How are disallowed losses reported and handled on tax forms?

A: Disallowed losses are reported on Form 8949 with code W; in taxable accounts the loss is added to the replacement’s basis, while losses tied to IRA purchases are permanently disallowed.

Q: Can trades in my spouse’s account or automatic plan trigger a wash sale?

A: Trades in a spouse’s account and automatic reinvestments can trigger a wash sale if they occur within the 61‑day window, so monitor all related accounts and auto‑investment schedules.

Q: How do settlement dates and calendar year boundaries affect the wash‑sale window?

A: Settlement dates and year boundaries don’t change the 61‑day window; December sales can carry into January and settlement timing may unintentionally put trades inside the window.

Q: What quick checklist should I follow to stay within wash‑sale rules?

A: Quick checklist: identify loss, mark the 61‑day window, confirm a non‑identical replacement, check all accounts, avoid IRA/spouse buys, track cost basis, save confirmations, consult a pro if unsure.

Q: How do I estimate immediate tax benefit from a realized loss?

A: Estimate the immediate benefit by multiplying your allowed loss by your capital gains tax rate; up to $3,000 offsets ordinary income. Example: $2,000 loss at 15% saves about $300.

Q: What common mistakes cause wash‑sale penalties and how can I avoid them?

A: Common mistakes include repurchasing identical ETFs too soon, ignoring cross‑account buys, using options, and poor documentation. Avoid them with calendar alerts, careful substitutions, and saved trade records.

Check out our other content

Check out other tags:

Most Popular Articles