How the timing of an ESPP sale changes what you owe
Your employee stock purchase plan let you buy company stock at a discount (plan terms vary, often up to 15%) through payroll. That discount is a real benefit. But when you sell decides how it gets taxed, and the gap between selling too soon and holding long enough can shift a chunk of it from ordinary income treatment to long-term capital-gain treatment, with federal and, where applicable, state taxes in play.
The two dates that matter
A qualified ESPP runs on two clocks. The offering date, when the purchase period starts, and the purchase date, when you actually buy the shares. Whether your sale is a qualifying or a disqualifying disposition depends on how long you hold past both.
A sale is generally treated as qualifying only if you hold the shares more than two years after the offering date and more than one year after the purchase date. Sell before either mark and it is disqualifying.
What each one costs you
With a disqualifying disposition, the discount you got at purchase, the value of the stock on the purchase date minus what you paid, is taxed as ordinary income, the same as salary, regardless of what the stock does afterward. Any further gain or loss from there is capital gain or loss, short-term if you sold within a year of buying.
With a qualifying disposition, less of the benefit is taxed at ordinary rates. Your ordinary income is the smaller of the discount measured at the offering date or your actual gain on the sale. Everything above that is long-term capital gain, taxed at the lower 0, 15, or 20% rates.
| Disqualifying sale, sold too soon | |
| Ordinary income, the purchase-date discount | $1,500 |
| Short-term capital gain on the rest | $3,000 |
| Qualifying sale, held past both marks | |
| Ordinary income, the smaller amount | $1,500 |
| Long-term capital gain on the rest | $3,000 |
Same $4,500 of total profit. In the qualifying case, $3,000 of it moves from ordinary rates to long-term capital gains rates, which for a high earner can cut the tax on that piece by more than a third.
The basis trap that follows
Like RSUs, ESPP sales carry a reporting trap. The ordinary income you recognized is supposed to be added to your cost basis, so you are not taxed on it twice. But the broker's 1099-B often reports only what you paid, leaving that ordinary-income piece out. Copy it straight onto your return and you overpay. The fix is a Form 8949 adjustment, the same reconciliation RSU sellers have to make.
Where it goes wrong
- Selling right after purchase without checking the clock. A sale a few weeks early turns a long-term capital gain into ordinary income. Sometimes waiting a little longer changes the tax meaningfully.
- Assuming qualifying is always better. Holding for the tax break means holding concentrated company stock longer. If the position is a large share of your net worth, the diversification risk can outweigh the tax saving.
- Forgetting the basis adjustment. The ordinary income already taxed belongs in your basis. Miss it and you pay tax twice on the discount.
- Overlooking the ordinary income even in a loss. In a disqualifying sale, the purchase-date discount is still ordinary income even if the stock later fell, which can leave you taxed on income while sitting on a loss.
What to check before you sell
- What are your offering date and purchase date, and where do you sit against the two-year and one-year marks?
- Would waiting a short time convert a disqualifying sale into a qualifying one?
- How concentrated are you in company stock? The tax answer should not override the risk answer.
- Does your basis include the ordinary income you already recognized, so you do not pay tax on it twice?
If you hold ESPP shares and are deciding when to sell, the Gnomon Diagnostic maps your dates, your discount, and your concentration so the timing is a real decision rather than a guess. Start yours at start.gnomonplan.com.
This is general tax information, not advice for your specific situation. Talk with us or your tax professional before acting on it.