← All guides

ESPP taxes: qualifying vs. disqualifying dispositions

An Employee Stock Purchase Plan lets you buy company stock at a discount — usually 15% off the fair market value. The tax question isn't the purchase; it's the sale. How long you held the shares decides how much of your profit is taxed as ordinary income versus capital gains.

The two holding-period tests

A qualifying disposition requires both:

  1. Sale more than 2 years after the offering date (the start of the purchase period), and
  2. Sale more than 1 year after the purchase date.

Miss either one and the sale is disqualifying. Note the first clock starts at the offering date, not the purchase date — a common source of confusion. Check your dates with the ESPP calculator.

How the gain is split

Say you bought at $85 (a 15% discount off the $100 FMV at purchase) and later sell at $130.

QualifyingDisqualifying
Ordinary income / share$15 (the lesser of the discount and your actual gain)$15 (the full discount)
Capital gain / share$30 (the rest, taxed at long-term capital-gain rates)$30 (short- or long-term depending on holding)

The real difference shows when the stock falls after purchase. If you sell at $90:

  • Qualifying: ordinary income = lesser of $15 discount and $5 actual gain = $5; capital gain = $0.
  • Disqualifying: ordinary income = full $15 discount; capital loss = $90 − $100 = −$10.

The qualifying route can cut your ordinary income dramatically when the stock drops — one reason holding periods matter beyond just the capital-gains clock.

The 1099-B basis trap (read this twice)

Here's where people get double-taxed. Your employer already reported the discount ($15/share in the example) as wages on your W-2 in the year of sale — you paid ordinary income tax on it. But your broker's 1099-B usually reports your cost basis as what you paid ($85), not $85 + the $15 already taxed.

If you copy the 1099-B basis straight onto your return, you pay tax on that $15 again as capital gain. The fix: increase your reported basis by the ordinary-income amount already taxed as wages. The ESPP calculator shows the exact adjustment — in the example above, add $1,500 (100 shares × $15) to your basis.

Brokers are only required to report the unadjusted basis, so this correction is on you (or your tax software — most have an ESPP basis-adjustment workflow; use it).

Quick checklist at sale time

  1. Confirm both holding-period dates before you sell.
  2. Expect the discount on your W-2 as ordinary income in the sale year.
  3. Adjust your 1099-B basis upward by that same discount amount.
  4. Keep your Form 3922 (see how to read Form 3922) — it documents the purchase details you'll need.