ESPP Cost Basis Adjustment: Fix the 1099-B Basis on Form 8949

An ESPP cost basis adjustment adds the discount your employer already taxed as wages back onto the purchase price your brokerage reported, so you aren’t taxed a second time on the same money when you sell. Brokerages report only what you paid out of pocket in Box 1e of Form 1099-B. The compensation piece of the discount, which flowed through your W-2, is missing from that figure. You correct it on Form 8949 using adjustment Code B.1Internal Revenue Service. Instructions for Form 8949

Why the 1099-B Basis Is Too Low

When you sell ESPP shares, the brokerage sends a 1099-B showing your sale proceeds and a cost basis in Box 1e. For ESPP shares that basis figure is almost always just the discounted price you paid. The brokerage has no reliable way to know how much of the discount your employer treated as compensation or when it hit your W-2, so it leaves that piece out.1Internal Revenue Service. Instructions for Form 8949

If you copy the 1099-B numbers straight onto your return, the IRS sees a larger capital gain than you actually had. You end up paying capital gains tax on income that already went through payroll as ordinary wages. The fix is to raise the basis by the compensation amount so the gain reported matches the gain that actually happened.

The raw numbers you need come from Form 3922, which your employer files for every ESPP share transfer under a qualified plan. It shows the offering date, the purchase date, the price you paid, and the fair market value on both dates.2Internal Revenue Service. Instructions for Forms 3921 and 3922 Those four figures determine the ordinary income and the corrected basis.

Finding the Compensation Amount to Add

The correct basis always equals what you paid plus whatever amount was included in your income as compensation. Where you find that compensation number depends on how long you held the shares before selling.

Disqualifying Dispositions

You have a disqualifying disposition when you sell before satisfying both holding periods: two years from the offering date and one year from the purchase date.3Office of the Law Revision Counsel. 26 USC 423 – Employee Stock Purchase Plans Most quick sales fall here.

The ordinary income is the full spread between what you paid and the fair market value on the purchase date. Your employer picks that up in your W-2 wages for the year of sale, usually in Box 1 and sometimes broken out in Box 14. If it’s there, you have your number.

Qualifying Dispositions

Hold the shares past both the two-year and one-year marks and the sale is a qualifying disposition. The ordinary income shrinks to the lesser of two amounts: the actual gain on the sale, or the discount built into the offering price (offering date fair market value minus the price you paid).3Office of the Law Revision Counsel. 26 USC 423 – Employee Stock Purchase Plans The rest of the profit is long-term capital gain.

Here is the catch that trips people up. For qualifying dispositions, employers are not required to add the ordinary income to your W-2, and many don’t. You still owe tax on it. Calculate it yourself from Form 3922 and report it as wages on Schedule 1 (Form 1040), Line 8k.4Internal Revenue Service. Publication 525 – Taxable and Nontaxable Income Then use that same amount for the basis adjustment on Form 8949. Skipping the Schedule 1 step means the compensation income never gets reported at all.

Sold at a loss? There’s no ordinary income to add, because the “actual gain” side of the lesser-of test is zero or negative. Your basis stays at the purchase price and the loss is a capital loss.

When the Lookback Changes the Math

Many qualified plans use a lookback: the purchase price is 85% of the stock’s fair market value on either the offering date or the purchase date, whichever is lower.5eCFR. 26 CFR 1.423-2 – Employee Stock Purchase Plan Defined If the stock rose between those dates, your effective discount is much larger than 15%, and the compensation amount for a disqualifying disposition grows with it. Don’t assume the ordinary income is just 15% of anything; use the actual purchase date fair market value from Form 3922.

Disqualifying Disposition, Worked Through

Suppose the offering date fair market value was $80, the purchase date fair market value was $100, and you paid $68 (85% of $80). Six months later you sell at $110.

  • Ordinary income: $100 minus $68 = $32 per share, on your W-2
  • Adjusted basis: $68 paid plus $32 compensation = $100
  • Capital gain: $110 minus $100 = $10 per share, short-term

The 1099-B reports basis of $68 and a gain of $42. Without the adjustment you would pay capital gains tax on the full $42, even though $32 of it already ran through payroll as wages.

Qualifying Disposition, Worked Through

Same plan: offering date value $80, purchase price $68. You hold past both required dates and sell at $150.

  • Actual gain: $150 minus $68 = $82
  • Offering date discount: $80 minus $68 = $12
  • Ordinary income: lesser of $82 or $12 = $12 per share
  • Adjusted basis: $68 plus $12 = $80
  • Long-term capital gain: $150 minus $80 = $70 per share

If instead you sold at $75, the actual gain is $7. Ordinary income becomes the lesser of $7 or $12, which is $7. Basis is $68 plus $7 = $75. Capital gain is zero.

Entering the Correction on Form 8949

Form 8949 is where you reconcile the incorrect broker figures with the correct ones. Enter the sale as the 1099-B reports it: acquisition date, sale date, proceeds, and the wrong basis from Box 1e in Column (e). You’ll fix it in the adjustment columns rather than overwriting the reported basis.1Internal Revenue Service. Instructions for Form 8949

In Column (f), enter Code B. That code tells the IRS the basis reported to them was incorrect.1Internal Revenue Service. Instructions for Form 8949 In Column (g), enter the difference between the reported basis and your correct adjusted basis as a negative number. The negative sign pulls the inflated gain in Column (h) back down to the true gain.

Working the disqualifying example above: the brokerage reported basis of $68, your correct basis is $100, so Column (g) shows ($32). Column (h) then reads $110 minus $68 minus $32 = $10.

Each ESPP lot sold during the year gets its own row on Form 8949, because purchase dates, prices, and fair market values differ from one purchase period to the next. The totals from Form 8949 carry to Schedule D and then to Form 1040.

Watch for Wash Sales

The wash sale rule can quietly complicate the adjustment if you sell any ESPP shares at a loss and acquire substantially identical stock within 30 days before or after the sale. That window catches many ESPP participants because plans commonly purchase shares every month or every quarter.6Office of the Law Revision Counsel. 26 USC 1091 – Loss From Wash Sales of Stock or Securities

When it triggers, the loss is disallowed and added to the basis of the replacement shares instead. Company stock inside a 401(k), vesting RSUs of the same stock, and dividend reinvestment purchases can all count as replacement acquisitions. On Form 8949, wash sale losses use Code W in Column (f); if you need both a basis correction and a wash sale adjustment on the same transaction, enter both codes and combine the amounts in Column (g).1Internal Revenue Service. Instructions for Form 8949

Records to Keep

Save Form 3922, purchase confirmations, 1099-Bs, and any W-2 documentation of ESPP income for at least three years after you file the return that reports the sale. The three-year window runs from the filing date.7Internal Revenue Service. How Long Should I Keep Records

Practically, hold Form 3922 from the day it arrives. If you’re waiting out the holding periods for a qualifying disposition, that means keeping it for at least two years before the sale plus another three after filing. Without those records, reconstructing the ordinary income and defending the adjusted basis in an IRS notice becomes far harder than it needs to be.