Kestrel Bay Retirement Advisors helps clients decide when to sell ESPP shares by comparing two numbers: the tax a qualifying sale saves per share and the price drop that would erase it. In a lookback purchase at $68 (85% of an $80 offering-date price) with the stock at $120 on purchase day and a sale at $150, a disqualifying sale creates $52 of ordinary income per share and a qualifying sale only $12.
We wrote this for the long-time ESPP buyer who has never sold a lot and now holds shares from many purchase periods, next to RSUs and options from the same employer. If you already sell each purchase as soon as it lands in your account, the first section is enough for you; the rest of this page is about holding.
The Kestrel Bay Retirement Advisors team wrote this from the tax side first, because that is where ESPP decisions are won or lost. Every dollar below is a hypothetical, and the arithmetic is simple enough to check with a calculator.
What separates a qualifying ESPP sale from a disqualifying one?
A sale qualifies only when two tests are both met: you hold the shares for over two years from the offering date and for over one year from the purchase date. Fail either test and the sale is disqualifying. Both clocks have to run, and the later one controls.
Take the lookback example: you pay $68, the purchase-day price is $120, and you sell at $150. In a disqualifying sale, ordinary income is the purchase-day price minus what you paid, so $120 - $68 = $52 a share. The rest of the gain ($150 - $120 = $30) is capital gain, short-term if you held the shares one year or less after purchase.
In a qualifying sale, ordinary income is the smaller of two amounts: your actual gain ($150 - $68 = $82) or 15% of the $80 offering-date price, which is $12. You report $12 as ordinary income and the remaining $70 as long-term gain.
Notice that the total gain is $82 a share either way. Only the split between ordinary income and capital gain changes, and that split is where the tax difference comes from. Ordinary income can be taxed at up to 37%, while long-term gain tops out lower.
Gwen's 300 shares, worked through with numbers
Hypothetical: Gwen, 52, is a VP of sales at a software company that just went public. Her husband Sam, 53, teaches high school and will have a state pension. Gwen bought 300 ESPP shares at $68 in the first post-IPO purchase. That is $24,000 of stock at the $80 offering price, inside the $25,000 annual limit.
About $2 million of RSUs released for Gwen and Sam in the same year, so assume every extra dollar is taxed at the 37% top federal rate. Short-term gains also carry the 3.8% net investment income tax, which makes 40.8%. Long-term gains are taxed at 20% plus 3.8%, which makes 23.8%. We ignore state tax.
Three months after purchase the stock trades at $150, and the lot qualifies in 15 months. Selling now means $15,600 of ordinary income (300 × $52), taxed at 37% for $5,772, plus a $9,000 short-term gain (300 × $30) taxed at 40.8% for $3,672. Total federal tax is $9,444. A qualifying sale at $150 means $3,600 of ordinary income (300 × $12), taxed at 37% for $1,332, plus a $21,000 long-term gain (300 × $70) taxed at 23.8% for $4,998. Total is $6,330, so waiting saves $3,114, about $10.38 a share.
The table below puts it per share: $31.48 of federal tax if Gwen sells now against $21.10 if she waits. That row is the one to use when you compare lots bought at different prices.
Before Kestrel Bay Retirement Advisors recommends selling any ESPP lot, it writes down the tax on that lot both ways next to the lot's qualifying date. Then the choice is a comparison, not a hunch.
| Item | Disqualifying sale now | Qualifying sale later |
|---|---|---|
| Ordinary income | $15,600 | $3,600 |
| Capital gain | $9,000 short-term | $21,000 long-term |
| Total gain | $24,600 | $24,600 |
| Federal tax | $9,444 | $6,330 |
| Tax per share | $31.48 | $21.10 |
How far can the stock fall before waiting stops paying?
Selling Gwen's lot now leaves $150 - $31.48 = $118.52 a share after tax. That is the number waiting has to beat, and it is lower than most people expect because the $10.38 saving is only a saving if the price holds.
A qualifying sale at price P leaves P - $4.44 (37% of $12) - 23.8% of (P - $80) after tax. That works out to 0.762P + $14.60, and it equals $118.52 at P of about $136.38. Waiting therefore wins only if the stock stays above about $136.38, a drop of roughly 9% from $150, during the next 15 months. A falling price also lowers the tax, which is why the break-even drop is larger than the $10.38 of tax saved.
Here is our opinion. For a stock that went public months ago, a 9% swing can happen in a single earnings week. With Gwen's RSU position already large, we would lean toward selling at least part of the lot now, because 15 months is a long time to carry a stock that already dominates the household.
Our working test: before you hold an ESPP lot for qualifying status, work out its after-tax break-even price. If a fall below that price before the qualifying date would not surprise you (about 9% in Gwen's example), sell now. If it would, hold. Investing involves risk, and you can lose principal. A break-even price does not predict anything.
Mistakes that cost long-time ESPP buyers money
The most expensive one is selling ESPP shares as one block without checking each lot's two dates. Sell a lot one month before it qualifies (when it is already more than a year past purchase) and $40 a share moves from long-term gain to ordinary income. On 300 shares that is $12,000 taxed at 37% instead of 23.8%, or 13.2 points more, which costs $1,584.
Another is assuming a disqualifying sale's ordinary income shrinks if the stock falls. It doesn't. The $52 a share is fixed on purchase day, and a crash only adds a capital loss, of which you can deduct no more than $3,000 a year of net losses against other income.
A third is giving ESPP shares to a donor-advised fund before the qualifying date. A gift to anyone other than a spouse counts as a disqualifying disposition, so Gwen would still report $15,600 of ordinary income on 300 shares. Our page on donating appreciated stock covers how to do it well.
The fourth is reporting the discount as income on your W-2 and then again as gain, because the 1099-B shows only the $68 purchase price as basis. Our article on how RSUs are taxed at vest and sale explains the same basis fix, which applies here too.
Does the answer change with your age or the size of your ESPP balance?
Yes, in four ways. On a small lot, say $5,000, the qualifying-sale saving is often a few hundred dollars. Selling at each purchase and locking in the discount is usually the cleaner choice, and it avoids holding more of one stock.
Someone who has bought every period for 15 years has a different problem. Most lots already qualify, so the questions become which lots go first and how much of the household's net worth should stay in one stock. Only purchases from the last two years still carry the disqualifying risk, and our equity compensation planning and concentrated stock pages cover the bigger question.
At 63 and up, income from a stock sale counts toward the MAGI that sets Medicare premiums two years later, so large sales are better finished before that window.
Close to retirement, the ordinary income from a disqualifying sale lands in the tax year of the sale. A sale in the first lower-income year after the paychecks stop can cost less than one in a peak-earning year, which is one reason we look at withdrawal order and Roth conversions in the same meeting.
How to decide on each ESPP lot, step by step
Do this lot by lot, never for the account as a whole. Kestrel Bay Retirement Advisors uses the same five steps with clients, and the first one is yours.
- Step 1 (you, 20 minutes): download every lot from the plan portal. For each, record the offering date, purchase date, price paid and the stock price on both dates. Form 3922 has these numbers.
- Step 2: calculate ordinary income per share both ways, then the tax both ways at this year's marginal rate. Kestrel Bay Retirement Advisors puts both results in a one-page lot table for the client.
- Step 3: calculate the after-tax break-even price for each lot that hasn't yet qualified, using the method shown for Gwen.
- Step 4: sell first the lots where the tax gap is small or zero (already qualifying, or close to their purchase price). Then decide on the rest by asking whether a drop to the break-even price is plausible.
- Step 5: after the sale, save Form 3922 and the trade confirmation so the cost basis can be corrected at tax time.
Questions to ask an advisor about your ESPP lots
Bring these to the first call. If an advisor can't answer the first two from your own lot history, the rest of the advice is probably generic.
- Which of my lots qualify today, and on what date does each of the others qualify?
- What is the after-tax break-even price for my largest lot that has not qualified yet?
- How do this year's ESPP sales stack on top of the RSU vests already scheduled, and which tax rate does each dollar hit?
- Should I keep enrolling and sell at each purchase, given how much of my net worth is already in this stock?
What to do this week if you hold ESPP shares, and how we can help
One limit first. The comparison covers one lot at assumed federal rates, ignores state tax and assumes rates stay the same next year. It also doesn't answer how much company stock you should hold overall, and for someone with a large RSU position that question usually matters more than a $3,114 tax difference.
Export your lot history from the plan portal and add each lot's qualifying date to your calendar. For any lot that qualifies within six months, calculate the break-even price and set a price alert at that level. Check whether your next ESPP purchase date falls in the same month as an RSU vest, so you don't stack income without planning for it.
Use the request form if you want Kestrel Bay Retirement Advisors to build the lot table with you; we work with clients anywhere in the US on video or by phone, with a $400K investable-assets minimum. This is general education, not tax advice for your situation.
Your questions about when to sell ESPP shares, answered
Do I pay Social Security and Medicare tax on ESPP income?
Usually not. Ordinary income from a qualified ESPP sale, disqualifying or qualifying, isn't subject to Social Security or Medicare payroll tax, and your employer doesn't withhold it on the sale. The income is still taxed at your ordinary rate and may be reported on your W-2, so check the amount against Form 3922.
What happens to my ESPP shares if I leave the company?
Shares already purchased and sitting in your account are yours, and the qualifying clocks keep running. What usually ends is enrollment: the current offering period is typically canceled and your contributions are refunded. Plan rules differ, so read your plan document before your last day.
Is it a bad idea to sell ESPP shares right after purchase?
Not usually. A same-day sale locks in the discount, and the ordinary income is taxed at your rate whether you sell now or hold. If the stock already makes up too much of your net worth, selling at each purchase is often the cleaner choice, even though it forgoes the qualifying-sale tax saving.
This information is general education only and does not account for your specific circumstances, goals or finances. It is not investment, tax or legal advice. Investing involves risk, including the possible loss of principal. Before making any financial decision, consult a qualified professional about your own situation.