The ESPP tax form you receive from your employer is Form 3922, which is informational only. When you sell ESPP shares you report the sale on Form 8949 and Schedule D, while the discount appears as wages on your W-2.
That short answer hides the single most expensive ESPP filing mistake. Form 3922 holds the numbers you need to adjust your cost basis so you don't pay tax twice on the discount that's already buried in your W-2 wages. This guide walks every ESPP tax form in order — who sends it, what it reports, whether you enter it, and exactly which columns on Form 8949 keep that discount from being taxed a second time.
Which ESPP tax form do you get for each step?
For an ESPP you get up to five tax forms, but only three ever touch your return: your W-2 carries the discount as wages, Form 1099-B reports the sale, and you reconcile the two on Form 8949 and Schedule D. The fifth, Form 3922, is the informational record your employer files to document each purchase (IRS — About Form 3922).
Here's the chain in plain English. Your employer reports the discount as ordinary income on your W-2. Your employer also issues Form 3922 the first time you transfer or sell shares from a Section 423 plan. When you sell, your broker sends Form 1099-B. You then report each sale on Form 8949, and the totals flow to Schedule D and onto your Form 1040.
Below is the single reference table the walled-garden filing guides never publish cleanly — every ESPP tax form, who issues it, what it reports, and whether you enter it.
| Form | Who issues it | What it reports | Do you enter it? | When it arrives |
|---|---|---|---|---|
| W-2 | Employer | The ESPP discount (bargain element) included in wages, often noted in Box 14 | Yes — it's your income | January |
| Form 3922 | Employer | Grant date, purchase date, FMVs, price paid, shares — for each Section 423 purchase | No — informational only | After your first transfer or sale |
| Form 1099-B | Broker | Sale proceeds and a (usually understated) cost basis | Yes — via Form 8949 | January–February after a sale |
| Form 8949 | You | Each sale, with a cost-basis adjustment if the 1099-B basis is wrong | Yes — you complete it | At filing |
| Schedule D | You | Totals of all capital gains and losses from Form 8949 | Yes — you complete it | At filing |
The pattern to remember: the W-2 and the 1099-B feed Form 8949, and Form 3922 is the cheat sheet that makes those two numbers agree. If you also hold other equity, the same filing logic governs it — see our overview of which IRS forms report each type of equity comp. For a side-by-side of how an ESPP stacks up against grants you don't pay for, read how ESPPs compare to RSUs.
What is Form 3922 and do you have to report it?
Form 3922 is informational, and you do not enter it on your tax return — you only use its figures when you sell the shares. The IRS describes it as the return a corporation files for "each transfer of stock acquired by an employee pursuant to the employee's exercise of an option granted under an employee stock purchase plan described in section 423(c)."
In other words, Form 3922 documents the facts of each ESPP purchase so you (and the IRS) can compute the right tax later. There's no line on Form 1040 where Form 3922 goes. Its job is to store six numbers you'll need at sale time.
"Corporations file Form 3922 for each transfer of stock acquired by an employee pursuant to the employee's exercise of an option granted under an employee stock purchase plan described in section 423(c)." — IRS, About Form 3922
The boxes you'll actually use are:
- Grant (offering) date and the FMV on that date — sets the 2-year clock and the ordinary-income cap for a qualifying disposition.
- Purchase (exercise) date and the FMV on that date — sets the 1-year clock and the disqualifying-disposition spread.
- Price paid per share — your starting cost basis before the W-2 adjustment.
- Number of shares transferred.
Didn't sell this year? You file nothing from Form 3922. A Section 423 ESPP generally creates no taxable event when you buy — the tax happens at sale (IRS — Publication 525). So if you held your shares all year, there's nothing from Form 3922 to enter. Just file it with your records, because you'll need that year's form when you eventually sell.
Keep every year's Form 3922. When you finally sell shares from a 2023 purchase in 2027, you'll need the 2023 form to reconstruct the basis. If you've ever sold stock options early, this informational-then-reconcile pattern mirrors a disqualifying disposition on ISOs.
Where the ESPP discount shows up: your W-2
The ESPP discount — the bargain element — is taxed as ordinary income at your marginal rate and is included in your W-2 wages, often flagged as a memo in Box 14 (IRS — Publication 525). This is the number that does the damage later, because it's already taxed once here before it ever shows up on the 1099-B.
To see how steeply that ordinary-income rate climbs as total comp rises, here's the effective-rate stack — the same marginal rates that apply to your ESPP discount.
Your Real RSU Tax Rate vs What's Withheld
Single filer, California — salary + RSU vesting
| Salary (USD) | RSU vest (USD) | Effective tax rate (%) | Shortfall vs 22% withholding (USD) |
|---|---|---|---|
| 150000 | 50000 | 42 | 4800 |
| 200000 | 100000 | 47 | 12200 |
| 300000 | 150000 | 50 | 19500 |
| 500000 | 200000 | 53 | 28000 |
At $250,000 of total comp in California, the effective rate is roughly 46% against the 22% that's typically withheld on supplemental wages — so a discount taxed at a 32–37% federal marginal rate leaves far less in your pocket than the headline "15% off" suggests. For the two-part mechanics of how ESPP shares are taxed, see our worked ESPP tax examples, and compare it against how RSUs are taxed at vesting.
How much of the discount lands as ordinary income depends on your disposition type:
- Disqualifying disposition (you missed a holding period): the full purchase-date spread — purchase-date FMV minus price paid — is ordinary income on your W-2.
- Qualifying disposition (you held >2 years from grant and >1 year from purchase): the ordinary income is capped at the lesser of your actual gain or roughly 15% of the offering-date price, and the rest becomes long-term capital gain.
Worked W-2 example. You bought 100 shares at $85 when the purchase-date FMV was $140. In a disqualifying disposition, the bargain element is ($140 − $85) × 100 = $5,500, added to your W-2 wages. In the 32% bracket that's about $1,760 of federal tax you owe regardless of what the stock does next. For the same numbers run through qualifying, disqualifying, and price-drop sales side by side, see our worked ESPP tax examples.
How to report an ESPP sale on Form 8949 and Schedule D
You report each ESPP sale on Form 8949, then carry the totals to Schedule D. Form 8949 exists specifically to reconcile the amounts your broker reports on Form 1099-B with what you actually report (IRS — About Form 8949), and that reconciliation is where the ESPP discount gets protected from a second round of tax.
Here's the trap. Your broker's Form 1099-B usually reports only the discounted price you paid as your cost basis, omitting the discount that's already taxed as wages on your W-2 (IRS — About Form 1099-B). File that basis as-is and you pay tax on the discount twice — once as ordinary income, again as an inflated capital gain.
Check every ESPP 1099-B for the missing discount. This is the trap I see most while modeling ESPP sales for EquityTax: the broker reports only the discounted purchase price, so the discount already taxed on your W-2 gets taxed a second time as capital gain unless you correct the basis on Form 8949 with code B in column (f). Your starting numbers come from Form 3922 and your W-2 — never the 1099-B alone. You might owe far more than necessary if you skip this; consult a tax professional if your basis looks off.
The fix is a cost-basis adjustment. Your correct basis = price paid + the ordinary income already on your W-2 (the bargain element). Walk these Form 8949 columns:
- Column (d) — Proceeds: what you sold for. Sold 100 shares at $160 = $16,000.
- Column (e) — Cost or other basis: enter the broker's reported basis from the 1099-B. At $85/share that's $8,500.
- Column (f) — Code(s): enter B to signal the broker's basis is incorrect.
- Column (g) — Amount of adjustment: enter the correction as a negative number — here −$5,500, the discount already on your W-2.
- Column (h) — Gain or loss: proceeds − basis + adjustment = $16,000 − $8,500 − $5,500 = $2,000.
Without the code B adjustment, Form 8949 would show a $7,500 gain instead of the correct $2,000 — overstating your capital gain by $5,500 and costing roughly $825 in extra tax at a 15% long-term rate. Many brokers include a supplemental information statement alongside the 1099-B that already shows the adjusted basis; if yours does, use those figures and confirm them against Form 3922.
Finally, the totals route onto Schedule D: short-term sales (held one year or less) in Part I, long-term sales (held more than one year) in Part II, and the net flows to your Form 1040 (IRS — About Schedule D (Form 1040)). For the parallel option-side mechanics, our ISO disqualifying disposition guide walks the same code B fix, and RSU reporting basics covers the simpler case where basis is the vest-date value.
To put your own purchase through the adjusted-basis math, use our ESPP tax calculator, which computes the corrected basis and the disposition split for you.
State tax on the ESPP discount
The discount taxed federally as wages is also state-taxable in nearly every state with an income tax, because states pile onto your W-2 ordinary income — and high-tax states tax the capital gain at full ordinary rates too. So the same ESPP discount lands very differently depending on where you live.
Here's how much of the same $100K equity gain three states take.
State Tax on the Same $100K RSU Vest
$200K salary, single filer — state tax varies by $9,300+
| State | Incremental state tax on $100K RSU (USD) | Effective state rate (%) |
|---|---|---|
| California | 9300 | 9.3 |
| New York | 6850 | 6.85 |
| Texas | 0 | 0 |
| Washington | 0 | 0 |
The gain that costs about $9,300 in California and roughly $6,850 in New York costs $0 in Texas or Washington. If you're relocating before a big sale, that swing is worth modeling — and remember the bargain element follows the same rules, so a relocation after the purchase date doesn't always move the income out of the high-tax state. For ISO holders who also juggle AMT, Form 6251 (AMT) is a separate filing that ESPP shares from a qualified plan don't trigger.
Run the numbers before you file each ESPP tax form
Before you transcribe a single number onto Form 8949, model the sale so you know whether the basis on your 1099-B is wrong and by how much. The adjustment is mechanical once you have Form 3922 and your W-2 in front of you — the hard part is remembering to make it at all.
Estimate Your ESPP Tax
Use our RSU calculator to estimate the ordinary-income and withholding impact of your ESPP shares.
Try Calculator →Enter your offering-date FMV, purchase-date FMV, price paid, salary, and state to see your adjusted cost basis, the qualifying-versus-disqualifying split, and your estimated tax — the same figures you'll carry onto Form 8949 and Schedule D.
Frequently Asked Questions
Do I need to report Form 3922 if I didn't sell?
No. Form 3922 is informational; you only use its data when you sell the shares. If you held your ESPP stock all year, there's nothing from Form 3922 to enter on your return — just keep it with your records for the year you eventually sell.
Where do I enter Form 3922 on my tax return?
You don't enter it directly. There's no Form 1040 line for Form 3922. Instead, you use its figures — grant date, purchase date, FMVs, and price paid — to set the correct cost basis on Form 8949 when you sell.
What is Form 3922 used for?
It records the details of each ESPP purchase — the dates, the fair market values, the price you paid, and the number of shares — so you can compute the correct basis and figure out whether a later sale is a qualifying or disqualifying disposition.
Why is my ESPP cost basis wrong on the 1099-B?
Because brokers report only what you paid (the discounted price), omitting the discount that's already taxed as wages on your W-2. You must adjust the basis upward on Form 8949 — enter the broker's basis in column (e), code B in column (f), and the correction in column (g).
What tax forms do I get for an ESPP?
Your W-2, Form 3922, and — after a sale — Form 1099-B. The W-2 and 1099-B feed Form 8949, whose totals flow to Schedule D and onto your Form 1040.
How do I adjust cost basis for an ESPP sale?
On Form 8949, enter the reported basis from the 1099-B in column (e), put code B in column (f), and enter the correction (the discount already on your W-2, as a negative) in column (g). Your adjusted basis equals the price paid plus the ordinary income reported on your W-2.
Do I report ESPP income twice?
You shouldn't. The discount is already taxed once as ordinary income on your W-2, and the Form 8949 basis adjustment prevents it from being taxed again as capital gain. Skipping the adjustment is exactly what causes accidental double taxation.
Tax Disclaimer: This content is for educational purposes only. Always consult with a licensed tax professional or certified public accountant before making financial decisions related to equity compensation, tax planning, or investment strategies.