ESPP cost basis adjustment calculator
Work out your corrected basis so you do not pay tax on the discount twice.
ESPPs · Forms & reporting
What is your real cost basis on ESPP shares? Higher than your broker says, almost every time. The discount you already paid income tax on belongs in your basis, and the 1099-B usually leaves it out. This page is the worksheet to find the corrected number so you do not pay tax on that discount a second time.
The inputs you need
Two documents have everything. Have them open before you start.
- Your Form 3922, which your employer sends for the year you bought shares. It lists the offering-date price, the purchase-date price, and the price you paid.
- Your 1099-B from the broker, which shows the basis they reported, usually just the discounted price you paid.
You also need to know whether the sale was qualifying or disqualifying, because that decides how the ordinary income piece is measured.
The math, step by step
Start with the broker's basis
This is the number on the 1099-B, usually the discounted price you actually paid times your shares. It is the floor. Your real basis is this plus the income already taxed.
Find the ordinary income already taxed
This is the piece the broker leaves out, and the sale type sets the formula.
For a disqualifying sale, it is the bargain element at purchase: the purchase-date price minus the price you paid, times your shares. For a qualifying sale, it is the lesser of (a) the actual gain on the sale or (b) the offering-date discount, which is the offering-date price times the plan discount percentage. Pull the prices off Form 3922.
Add it to the broker's basis
Corrected basis equals the broker’s basis plus the ordinary income already taxed. That sum is your true cost basis, and it is what your capital gain should be measured against.
Recompute the gain
Sale proceeds minus the corrected basis is your real capital gain. It will be smaller than the gain the broker’s low basis implied, by exactly the ordinary income amount you added back.
Report the adjustment on Form 8949
List the broker’s reported basis, then use the adjustment column and the correct code to add back the ordinary income piece. Your taxable gain drops to the right number.
The one number to nail
Everything turns on the ordinary income already taxed. That single figure is what the broker omits and what you add back. Get it right and the corrected basis and the smaller gain both fall out of it.
Why this is worth the ten minutes
Skip the adjustment and the discount gets taxed twice: once as income at sale, again as a too-large capital gain. The error is quiet because the numbers look plausible. They are just wrong in the IRS’s favor.
It compounds across every batch
If you buy through the plan every period, the wrong basis can show up on every lot you sell. One bad habit, repeated, overpays year after year. One good habit, checking the basis before you file, fixes all of it.
What this means for you
Pull Form 3922, find the income already taxed, add it to the broker’s basis, and report the adjustment on Form 8949. That is the whole job. For the tax reasoning behind the fix and the two ordinary-income formulas, see qualifying vs disqualifying dispositions, and for the full reporting flow with a worked example, see ESPP reporting with Form 3922 and Form 8949.
If you have sold ESPP shares in past years and never made this adjustment, you may have overpaid, and it may be fixable. Talk it through with me before the next filing season.
More in ESPPs
- Case study: two years of ESPP, two outcomes →
- ESPP reporting: Form 3922, Form 8949, and the basis fix →
- ESPP taxes: qualifying vs disqualifying dispositions, the complete guide →
- How an ESPP works: the complete guide →
- Is maxing out your ESPP worth it →
- The ESPP mistakes that quietly cost you money →
Still have questions about your equity?
Join the community to ask directly, or take the two-minute fit check to see if a planning call makes sense.