Every December, investors leave thousands of dollars on the table by skipping the single most powerful year-end tax move available to them: tax-loss harvesting. The math is simple, the timing is narrow (you have until Dec 31), and DiviDrip surfaces the candidates for you. Here's the full playbook.
Not tax advice. Always confirm specifics with a CPA — your bracket, state rules, and broker-specific lot accounting all factor in.
What is tax-loss harvesting?
It's the practice of selling losers to offset winners. When you sell a stock for less than you paid, the loss can be deducted against capital gains you've already realized this year. Net less gain → less tax owed.
Worked example:
- You bought 100 shares of AAPL at $150. Sold at $200. +$5,000 long-term gain.
- You bought 100 shares of MMM at $130. Currently worth $100. -$3,000 unrealized loss.
- If you do nothing: you owe 15-23.8% federal on the $5,000 = ~$750-$1,190.
- If you sell MMM and realize the $3,000 loss: it offsets the AAPL gain. Net taxable gain = $2,000. Tax owed ~$300-$476.
- You just saved ~$450-$700 in tax for a few minutes of work.
The wash-sale rule (the one trap)
The IRS doesn't want you faking losses by selling MMM Friday and rebuying it Monday. The wash-sale rule disallows the loss deduction if you buy back the same stock (or a "substantially identical" one) within 30 days BEFORE or AFTER the sale. That's a 61-day window total.
Three ways to play around the rule:
- Wait 31 days. Sell MMM, wait. Day 32, buy MMM back if you still want the position. Risk: you miss whatever the stock does in that month.
- Buy a different stock in the same sector. Sell MMM, buy HON or ITW. Different ticker, similar exposure. Not "substantially identical" per IRS interpretation.
- Buy a sister ETF. Sell SCHD, buy VYM for 31 days, then swap back. Both are quality-dividend ETFs but they track different indexes, so most tax pros treat them as not substantially identical. (Confirm with your CPA — this gets nuanced.)
Wash sales also apply across YOUR accounts (taxable + IRA + spouse's accounts). Selling in your brokerage while your spouse is buying the same ticker triggers the disallowance.
The DiviDrip workflow
The site does the hardest part for you. Here's the 3-step flow:
- December reminder. The TaxHarvestBanner appears on your Portfolio page from Dec 1 to Dec 31. It shows your actual harvestable losses across long-term and short-term buckets. If there's nothing to harvest, the banner doesn't show.
- Open the Tax Lots page. Switch the filter to "Harvest Candidates". This shows ONLY lots that are (a) at a loss and (b) have no buys in the same ticker over the last 30 days — meaning no wash-sale risk. Sorted biggest loss first.
- Pick lots, sell at your broker, mark them in DiviDrip. Execute the sells at your brokerage (Fidelity, Schwab, etc.). When you log the sell back into DiviDrip, tag it with the tax_harvest=true flag — that pulls it into the year-end Tax-Harvest Report you can hand to your CPA in January.
Harvest BEFORE you rebuy, not after
The most common mistake: investors see MMM down and want to dollar-cost average into it. They buy 20 more shares Dec 15. Then on Dec 28 they realize they could have harvested the loss on their original lots — but by then the 30-day clock is running. The newer buy WASHED the older loss.
The fix: harvest FIRST, rebuy LATER. If you want to add to a name and harvest a loss in it, sell the loss lots first, wait 31 days, then add. Or buy a different ticker in the meantime to keep market exposure.
The substitute-holding swap (advanced)
For investors who want to stay invested in the same sector but realize the loss, here are common "not substantially identical" pairs. Confirm any swap with your CPA — the IRS hasn't published a definitive list, so professional judgement matters.
| Sell | Buy (31 days) | Strategy match |
|---|---|---|
| SCHD | VYM, DGRO | Quality dividend / dividend appreciation |
| VTI | ITOT, SCHB | Total US market |
| VOO / SPY | IVV, SPLG | S&P 500 (different fund family) |
| VXUS | IXUS | International ex-US |
| JEPI | JEPQ, DIVO | Covered-call income (different underlying) |
The $3,000 ordinary-income offset
After offsetting all capital gains, any REMAINING net loss can offset up to $3,000 of ordinary income per year. Anything beyond that carries FORWARD indefinitely — there's no expiration on a tax loss carryforward. Big harvest years can shelter ordinary income for decades to come.
FAQ
- What is tax-loss harvesting?
- Tax-loss harvesting (TLH) is the practice of selling investments at a loss to OFFSET capital gains you've realized elsewhere — reducing your current-year tax bill. If you sold AAPL at a $5,000 gain and you also have an unrealized $3,000 loss in MMM, selling MMM converts the paper loss into a deductible loss that knocks your taxable gain down to $2,000.
- What's the wash-sale rule?
- The IRS will DISALLOW your loss deduction if you buy back the same stock (or a "substantially identical" one) within 30 days BEFORE or AFTER the sale. That's a 61-day window total. You can wait it out (31 days minimum), buy a different ticker in the same sector, or buy a sister ETF that's similar but not identical. DiviDrip's Tax Lots page flags exactly which of your lots are wash-sale-safe.
- How much can a tax loss save me?
- Losses offset gains dollar-for-dollar by holding period (short-term losses offset short-term gains first, long-term against long-term). Excess losses up to $3,000/year can offset ordinary income. Beyond that, losses CARRY FORWARD indefinitely. Practical example: a high-income filer who harvests $20,000 of long-term losses against $20,000 of long-term gains saves 15-23.8% federal tax — roughly $3,000-$4,800 in actual money.
- Does DiviDrip automate any of this?
- DiviDrip surfaces the candidates and the wash-sale risks. The "Tax Lots → Harvest Candidates" filter shows you exactly which lots are at a loss AND have no buys in the last 30 days. The December TaxHarvestBanner pops up on the Portfolio page once a year reminding you what's harvestable. The actual sell trade still happens at your broker — DiviDrip doesn't execute trades. Always confirm specifics with a tax pro.
Bottom line
Open DiviDrip in December. If the TaxHarvestBanner pops up, click through to Tax Lots → Harvest Candidates. The site shows you the exact lots that are wash-sale-safe to sell. Execute, then mark them as harvested. Hand the printout to your CPA in January.
Most retail investors leave this money on the table. The ones who don't save hundreds to thousands of dollars per year, year after year. The compounding tax-savings tail is real.
