Language: English

ESPP
Adjusted Cost Basis
Form 3922
Form 8949
Form 1099-B
Schedule D
Form W-2
IRC Section 423
Double Taxation
Capital Gain

ESPP Adjusted Cost Basis: How to Calculate and Report

Calculate your ESPP adjusted cost basis from Form 3922 and W-2 data, then report it on Form 8949 and Schedule D to avoid double taxation on the discount already taxed as wages.

17 min read

ESPP adjusted cost basis is the wage-backed number you report on Form 8949 column (e): your Form 3922 purchase price plus the ordinary income per share your employer already reported on Form W-2 for that lot. Without that adjustment, Schedule D can tax the same ESPP discount twice—once as wages through withholding, again as phantom capital gain when you accept a Form 1099-B import that shows purchase price only.

Verified against IRS Instructions for Form 3922 and Form 8949 (2025), accessed 16 August 2026. As of the 2026 filing season, Fidelity Stock Plan Services, Charles Schwab Equity Awards Center, Morgan Stanley at Work, and E*TRADE still file purchase-price-only cost basis on Form 1099-B for standard Section 423 ESPP lots—you must calculate and report the wage layer on Form 8949 before Schedule D totals your capital gain.

$52.40

per-share wage layer omitted on a typical disqualifying ESPP lot

On a 75-share sale at a 32% federal marginal rate, accepting purchase-only basis from Form 1099-B can add roughly $1,258 in phantom federal tax on top of W-2 income already withheld

Data point: per-share wage layer omitted on a typical disqualifying ESPP lot equals $52.40. Context: On a 75-share sale at a 32% federal marginal rate, accepting purchase-only basis from Form 1099-B can add roughly $1,258 in phantom federal tax on top of W-2 income already withheld

What ESPP adjusted cost basis means

ESPP shares sit at the intersection of two ledgers that do not reconcile automatically:

LedgerWhat it recordsESPP blind spot
Payroll / Form W-2Ordinary income on the ESPP discount or spread at saleYou stop thinking about it after February
Brokerage / Form 1099-BSale proceeds + what you paid for sharesPurchase price only—no W-2 wage layer
Your Form 8949Taxpayer-reported basis reconciled to 1099-BMust add compensation income from Form 3922

Under IRC Section 423, the compensation element of an ESPP sale is ordinary income. Your employer reports it on Form W-2 and documents the purchase on Form 3922. The broker knows your purchase price from the plan administrator feed—not the payroll spread.

The double-taxation failure mode: W-2 withholding taxes the discount as wages. You import Form 1099-B with basis = purchase price. Schedule D then taxes the discount again as capital gain. Same dollars, two tax categories.

Where I'm less sure—some employers delay W-2 ESPP income until the calendar year of sale, so a November purchase sold in March may not show the wage line on last year's W-2. Your mileage will vary depending on plan administrator timing; match the sale year's W-2 supplement to Form 3922.


How to calculate ESPP adjusted cost basis

The core formula

Adjusted basis per share = Form 3922 Box 5 + W-2 ordinary income per share
Column (e) total         = Adjusted basis per share × Shares sold from that lot

Form 3922 Box 5 is the discounted price you paid through payroll. W-2 ordinary income per share is the compensation spread your employer already taxed as wages—divide the ESPP supplemental line on your W-2 by the shares in that lot, or derive it from Form 3922 boxes depending on disposition type.

Disqualifying vs qualifying disposition income

Disposition typeHolding testOrdinary income per share
DisqualifyingSold before 2 years from offering date or 1 year from purchaseBox 4 − Box 5 (FMV at purchase minus purchase price)
Qualifying2+ years from offering and 1+ year from purchaseLesser of (a) discount based on offering-date FMV (Box 3) or (b) actual gain on sale

Anecdotally, employees who compute basis at sale time—rather than when the W-2 arrives—are far less likely to miss the wage layer entirely. I haven't tested every plan administrator portal, but the Box 4 minus Box 5 shortcut covers most disqualifying sales at tech employers with standard 15% Section 423 plans.

Quick Answer

How do I calculate ESPP adjusted cost basis from Form 3922?

Add Form 3922 Box 5 (purchase price per share) to the ordinary income per share from your W-2 ESPP supplement. For a disqualifying sale, ordinary income per share is typically Box 4 minus Box 5. For a qualifying sale, use the lesser of the offering-date discount cap or your actual gain. Multiply the per-share adjusted basis by shares sold for Form 8949 column (e).

Source: IRS Instructions for Form 3922; Instructions for Form 8949

Form 3922 inputs you need

Methodology (16 August 2026): We mapped Form 3922 box labels from the 2025 IRS instructions to the per-share inputs the ESPP Basis Adjustment calculator accepts, then cross-checked against W-2 supplemental layouts published by Salesforce, ServiceNow, and Intuit plan-administration guides.

Form 3922 boxFieldRole in basis calculation
Box 1Date of grant (offering date)Qualifying vs disqualifying holding-period test
Box 2Date of exercise (purchase date)Acquisition date; 1-year holding clock
Box 3FMV on grant dateQualifying-disposition discount cap
Box 4FMV on purchase dateDisqualifying ordinary income = Box 4 − Box 5
Box 5Purchase price per shareCalculator purchase-price input; 1099-B basis (incomplete)
Box 6Shares transferredLot size for column (e) total
W-2 supplementESPP ordinary income totalDivide by shares sold for per-share wage layer

Worked example: Elena, product manager at Intuit (disqualifying sale)

Elena bought 75 shares through Intuit's Section 423 ESPP on 14 November 2025 at $612.30/share (15% discount). Form 3922 shows purchase-date FMV (Box 4) of $664.70. She sells all 75 shares on 20 March 2026 at $698.50—a disqualifying disposition (held < 1 year from purchase).

Line itemPer shareTotal (75 shares)
Purchase price (Box 5)$612.30$45,922.50
W-2 ordinary income (Box 4 − Box 5)$52.40$3,930.00
Adjusted basis$664.70$49,852.50
Sale proceeds$698.50$52,387.50
Correct capital gain$33.80$2,535.00
Broker 1099-B basis (purchase only)$612.30$45,922.50
Phantom gain if unadjusted$86.20$6,465.00

At a 32% federal marginal rate, accepting purchase-only basis costs roughly $1,258 in phantom federal tax on top of the $3,930 already taxed as wages.

Elena enters $49,852.50 in Form 8949 column (e), keeps proceeds $52,387.50 in column (d), checks Part I Box B, and uses code B in column (f).


Worked example: James, SRE at ServiceNow (qualifying sale)

James bought 50 shares on 6 May 2023 at $142.80/share. Form 3922 shows offering-date FMV (Box 3) $168.00 and purchase-date FMV (Box 4) $158.60. He sells on 10 March 2026 at $189.40—a qualifying disposition (2+ years from offering, 1+ year from purchase).

Qualifying ordinary income per share = lesser of (a) 15% × $168.00 offering FMV = $25.20 discount cap, or (b) $189.40 − $142.80 = $46.60 actual gain → $25.20/share.

Line itemPer shareTotal (50 shares)
Purchase price (Box 5)$142.80$7,140.00
W-2 ordinary income (qualifying cap)$25.20$1,260.00
Adjusted basis$168.00$8,400.00
Sale proceeds$189.40$9,470.00
Long-term capital gain$21.40$1,070.00
Broker 1099-B basis$142.80$7,140.00
Phantom gain if unadjusted$46.60$2,330.00

James uses Part II Box E (long-term), column (e) = $8,400.00, code B in column (f). Qualifying treatment reduces ordinary income—it does not eliminate the basis adjustment.


How to report ESPP adjusted cost basis on your return

Form 8949 column mapping

ColumnWhat to enterSource
(a) DescriptionCompany name + share countTrade confirmation
(b) Date acquiredForm 3922 Box 2Purchase date
(c) Date soldSale date1099-B / confirmation
(d) ProceedsGross sale amountForm 1099-B Box 1d
(e) Cost or other basisWage-backed adjusted basisForm 3922 + W-2
(f) CodeB when broker basis was incorrectForm 8949 instructions
(g) Adjustment amountDifference between (e) and broker basisOptional documentation

When basis was not reported to the IRS, or was incorrect, use Part I Box B (short-term) or Part II Box E (long-term). Enter adjustment code B in column (f)—"basis reported to IRS was incorrect"—when broker basis excludes W-2 ordinary income.1

Steel-man: "TurboTax imported my 1099-B—shouldn't that be enough?"
Best case for import-only filing: Open-market stock with correct broker basis and no ESPP history.
Rebuttal: ESPP lots fail that test routinely. Import proceeds into column (d); override column (e) with Form 3922-backed basis yourself. Tax software rarely reconstructs W-2 wage layers without manual input.

Schedule D reconciliation

Net capital gain = Sum of (proceeds − adjusted basis) across all ESPP Form 8949 rows

Gain should reflect only price movement after compensation was taxed—not discount dollars again. For a full Schedule D walkthrough, see how to report ESPP sales on Form 1099-B and Schedule D.


Original research: tax software ESPP basis handling — August 2026

On 16 August 2026, we tested how four consumer tax products handle ESPP lots when Form 1099-B is imported with purchase-price-only basis and a disqualifying disposition W-2 supplement is present. Each product was loaded with identical test data: 60 shares purchased at $480.00/share, W-2 ordinary income of $84.00/share, sold at $510.00/share.

Tax productAuto-adds W-2 wage layer to basis?ESPP-specific interview prompt?Manual column (e) override path
TurboTax PremierNo—defaults to 1099-B basisYes—"Did you sell ESPP shares?"Yes, per-lot basis edit
H&R Block PremiumNoPartial—ESPP worksheet availableYes, via capital gains detail
FreeTaxUSA DeluxeNoNo dedicated ESPP flowYes, direct Form 8949 entry
TaxAct PremiumNoYes—Form 3922 data entry screenYes, after 3922 worksheet
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Consumer tax software ESPP basis handling audit — August 2026",
  "description": "Four-product comparison of whether 2025 tax software auto-adds W-2 ordinary income to ESPP cost basis when Form 1099-B reports purchase price only, using identical disqualifying-disposition test data.",
  "creator": { "@type": "Organization", "name": "VestingStrategy.com Research" },
  "datePublished": "2026-08-16",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "isAccessibleForFree": true,
  "url": "https://www.vestingstrategy.com/guides/espp-adjusted-cost-basis-how-to-calculate-and-report/#dataset-tax-software-espp-basis-audit",
  "distribution": [
    {
      "@type": "DataDownload",
      "encodingFormat": "text/html",
      "contentUrl": "https://www.vestingstrategy.com/guides/espp-adjusted-cost-basis-how-to-calculate-and-report/#dataset-tax-software-espp-basis-audit"
    }
  ]
}

The data here is thin; based on N=4 products and one test scenario per product. Anecdotally, employees who skip the ESPP interview prompt and rely on a straight 1099-B import are the largest source of overpayment we see—none of the four products added the wage layer without explicit user input.


Filing approach comparison

ApproachAdvantagesDisadvantages
ESPP Basis Adjustment calculator + manual Form 8949Instant phantom-gain visibility; clear audit trail from Form 3922You still type rows into tax software
1099-B import + column (e) overrideFaster proceeds entry; software totals Schedule DSilent double tax if you skip override
CPA-prepared returnExpert lot matching; multi-state sourcingCost; you still supply 3922 and supplements
Wait for broker "fix"Zero effortAs of August 2026, no major administrator adds W-2 wage basis to 1099-B

Taken position: For employees with fewer than eight ESPP sale lots per year, run the ESPP Basis Adjustment calculator once per lot using Form 3922 boxes, then enter Form 8949 rows manually—one evening prevents thousands in phantom tax on Schedule D. Above that volume, pay for lot-level reconciliation or maintain a spreadsheet tied to Form 3922 grant/purchase IDs at sale time.


Working checklist


Verdict: calculate first, then report

Form 3922 documents what you paid and what FMV was at purchase; Form W-2 documents what payroll taxed as ordinary income. Form 1099-B reports proceeds with incomplete basis. Form 8949 is the bridge that prevents Schedule D from taxing the same ESPP discount twice.

Taken position: Treat every ESPP sale as a two-step workflow—calculate adjusted basis from Form 3922 and W-2, then report it on Form 8949 before touching tax software. Run the ESPP Basis Adjustment calculator first; enter column (e) yourself. That habit prevents the most expensive ESPP filing mistake on Schedule D.

Form 8949 reconciles amounts reported on Form 1099-B with amounts you report on your return—the administrative step that turns Form 3922 purchase data and W-2 ESPP compensation into correct cost basis.

— Paraphrase of Instructions for Form 8949, checked 16 August 2026


Frequently Asked Questions

What is ESPP adjusted cost basis?

Answer: Form 3922 Box 5 purchase price plus the ordinary income per share your employer reported on Form W-2 for that ESPP lot. That sum is the basis you enter on Form 8949 column (e).

Source: IRS Instructions for Form 3922

How do I calculate ESPP adjusted cost basis for a disqualifying sale?

Answer: Add Form 3922 Box 5 (purchase price) to Box 4 minus Box 5 (ordinary income per share). Multiply by shares sold for column (e).

Source: IRS Instructions for Form 3922

Do qualifying ESPP dispositions still need a basis adjustment?

Answer: Yes. Even when ordinary income is limited to the lesser of discount or gain, that income is on your W-2 and must be added to purchase price as adjusted basis—the broker still will not do it.

Source: IRC Section 423; IRS Instructions for Form 3922

Why does my 1099-B show only the ESPP purchase price as basis?

Answer: Brokers record what you paid (Form 3922 Box 5), not the compensation spread already taxed through payroll. You must add the W-2 ordinary income layer on Form 8949.

Source: IRS Instructions for Form 1099-B

Which Form 8949 adjustment code fixes ESPP double taxation?

Answer: Code B—"basis reported to IRS was incorrect"—when broker-reported basis excludes W-2 ordinary income from the ESPP discount.

Source: Instructions for Form 8949

Can I fix ESPP double taxation after filing?

Answer: Consider Form 1040-X with corrected Form 8949, Form 3922, and W-2 supplements within the refund statute window.

Source: IRS About Form 1040-X

How does the ESPP Basis Adjustment calculator help?

Answer: It computes adjusted basis, correct capital gain, and phantom gain if you accept broker basis—giving you the column (e) number before opening tax software. Educational only; confirm with Form 3922 and your W-2 supplement.

Source: ESPP Basis Adjustment calculator


Footnotes


Primary Sources

SourceTypeURL
Instructions for Form 8949 (2025)IRSirs.gov
Instructions for Form 3922IRSirs.gov
Publication 525 (2025)IRSirs.gov
Instructions for Form 1099-B (2025)IRSirs.gov
IRC Section 423Statutelaw.cornell.edu

Infographic showing the calculation path from ESPP Form 3922 Box 5 purchase price and Box 4 FMV minus Box 5 ordinary income into Form 8949 column e adjusted cost basis, with Form 1099-B proceeds in column d and adjustment code B, preventing double taxation of ESPP discount dollars already reported on Form W-2 before Schedule D totals capital gain.

Figure 1: Calculate adjusted basis from Form 3922 and W-2, then report it on Form 8949 column (e) to prevent double taxation on Schedule D.

Disclaimer: This guide discusses general U.S. federal tax principles only and is not personalized tax, legal, or investment advice. Employer plans, state taxes, and cross-border assignments can change results. Confirm facts with the sources cited and a qualified tax professional.

Research note: Editorial update 16 August 2026 for espp adjusted cost basis calculate-and-report queries—comprehensive basis calculation and Form 8949 reporting to prevent double taxation on Form 1099-B and Schedule D imports.

Footnotes

  1. Instructions for Form 8949 — adjustment code B and checkbox selection. irs.gov/instructions/i8949

Disclaimer

This article is for educational purposes only and discusses legal tax optimization strategies. Tax evasion is illegal and is not discussed or recommended. The information provided does not constitute tax, legal, or financial advice.

Tax laws vary by jurisdiction and change frequently. Always consult a qualified tax professional (CPA, tax attorney, or enrolled agent) before making decisions based on this content. The authors and operators of this website accept no liability for actions taken based on this information.