RSU cost basis on Form 8949 must include the vest fair market value already taxed as wages on your Form W-2—not the $0 figure your broker prints on Form 1099-B. When you file Schedule D using broker basis alone, the IRS automated matching program compares your return to 1099-B data, sees phantom capital gain, and mails a CP2000 notice proposing additional tax on income you already paid through withholding. The fix is administrative: correct column (e) on Form 8949, document the adjustment with code B in column (f), and keep your equity tax supplement beside your return.
Verified against IRS Instructions for Form 8949 (2025) and Publication 525, accessed 28 June 2026. As of the 2026 filing season, the IRS Automated Underreporter (AUR) program still matches Form 1099-B proceeds and broker-reported basis against taxpayer Schedule D detail—employees who accept $0 RSU basis or strike-only ISO basis on import remain the largest CP2000 cohort we see in equity-compensation support threads.
87%
of equity-compensation CP2000 proposals in our sample traced to $0 or strike-only 1099-B basis
Based on categorizing 46 anonymized r/tax and employer-equity forum threads from January–May 2026 where posters shared CP2000 text mentioning 1099-B stock sales
Why CP2000 notices hit RSU and ISO sellers
A CP2000 notice is not an audit in the field-agent sense—it is a proposed change letter generated when IRS matching sees a gap between what a third party reported and what you filed. For stock sales, the matching engine compares:
| Data source | What IRS sees | RSU / ISO blind spot |
|---|---|---|
| Broker Form 1099-B | Proceeds + broker cost basis | $0 for RSUs; strike only for many ISO lots |
| Your Form 8949 / Schedule D | Capital gain you reported | May mirror broker $0 if software imported blindly |
| Employer Form W-2 | Compensation income at vest or disqualifying exercise | IRS knows wages exist—but matching does not auto-net them against 1099-B |
The IRS does not automatically subtract W-2 RSU wages from 1099-B proceeds. You must bridge payroll and brokerage on Form 8949 before totals reach Schedule D.1 When you skip that step, the AUR program proposes tax on the full proceeds minus broker basis—a classic double-taxation pattern.
For ISO-specific payroll mechanics, pair this guide with ISO qualifying vs disqualifying disposition and equity compensation reporting forms.
RSU cost basis on Form 8949: the CP2000 prevention step
When RSUs vest, IRC Section 83 treats the settlement FMV as wages. Your employer reports it on Form W-2; your broker later sells shares and files Form 1099-B with proceeds—but basis is what you paid, which is $0.
RSU adjusted cost basis (Form 8949 column e) = Vest FMV per share × Shares sold
Capital gain = Proceeds (column d) − Adjusted basis (column e)
| Form 8949 column | RSU filing rule | CP2000 risk if wrong |
|---|---|---|
| (d) Proceeds | Match 1099-B exactly | Low—brokers report proceeds reliably |
| (e) Cost basis | Vest FMV × shares sold | High—$0 basis triggers phantom gain |
| (f) Adjustment code | Code B when broker basis omits W-2 layer | High—blank code invites AUR mismatch |
| (g) Adjustment amount | Dollar gap between broker basis and wage-backed basis | Documents the correction |
What RSU cost basis goes on Form 8949 to avoid a CP2000 notice?
Enter vest FMV per share multiplied by shares sold in column (e)—the same FMV your employer reported as W-2 wages at settlement. Use adjustment code B in column (f) when the broker's 1099-B shows $0 or incomplete basis. Keep proceeds in column (d) matching the broker statement.
Where I'm less sure—some plan administrators delay W-2 recognition until the calendar year of settlement when vest dates straddle December 31, so a late-December vest may land on next year's W-2. Your mileage will vary depending on administrator timing; always match the settlement year's equity supplement to the sale lot.
Taken position: For employees with fewer than six RSU sale lots per year, manually override column (e) after running the RSU Tax Basis Adjuster—one evening of lot matching prevents a CP2000 letter that can take months to resolve. Blind 1099-B CSV import is faster upfront and expensive downstream.
ISO sales: disqualifying dispositions and basis gaps
ISOs create a parallel CP2000 path. If you sell before meeting both holding periods (two years from grant, one year from exercise), you have a disqualifying disposition under IRC §421(b). The bargain element—FMV at exercise minus strike—becomes ordinary income on Form W-2. Your broker's 1099-B typically reports strike price only as basis, omitting the spread already taxed as wages.
ISO basis (disqualifying disposition) = FMV at exercise per share × Shares sold
ISO basis (qualifying disposition) = Strike price per share × Shares sold
| Disposition type | W-2 ordinary income | Correct Form 8949 basis | Broker 1099-B basis (typical) |
|---|---|---|---|
| Qualifying | None from spread | Strike price | Strike price—usually aligned |
| Disqualifying | Spread at exercise | FMV at exercise | Strike only—understated |
For qualifying ISO sales, CP2000 friction is rare because broker basis and tax law align. Disqualifying ISO sales mirror RSU failure mode: W-2 shows spread, 1099-B shows strike, AUR proposes tax on the phantom spread again.
Steel-man: "The IRS already has my Form 3921 from exercise—won't matching connect the dots?"
Best case for automated reconciliation: Form 3921 data might inform a human reviewer eventually.
Rebuttal: AUR matching in 2026 still keys primarily on 1099-B vs Schedule D totals, not automatic Form 3921 netting. You must document basis on Form 8949 with code B and attach Form 3921 plus W-2 in any CP2000 response.
Anecdotally, ISO sellers who exercise and sell in the same calendar year within a disqualifying window see CP2000 letters more often than holders who meet qualifying periods—partly because W-2 spread and 1099-B sale land in the same tax year and the mismatch is numerically large.
Worked example: Elena, senior PM at Adobe (RSU sale)
Elena vests 200 RSUs on 15 March 2025 at $412.30/share ($82,460 on W-2). After sell-to-cover withholding, 134 net shares reach her brokerage. She sells 100 shares on 2 October 2025 at $445.80/share.
| Line item | Per share | Total (100 shares) |
|---|---|---|
| Vest FMV (correct basis) | $412.30 | $41,230.00 |
| Sale proceeds | $445.80 | $44,580.00 |
| Correct capital gain | $33.50 | $3,350.00 |
| Broker 1099-B basis | $0.00 | $0.00 |
| Phantom gain if unadjusted | $445.80 | $44,580.00 |
If Elena imports 1099-B without adjusting Form 8949, AUR sees $44,580 of gain versus broker data showing $0 basis—often generating a CP2000 proposing roughly $8,900–$16,500 in additional federal tax depending on bracket assumptions, on top of the $82,460 already taxed as wages.
Elena's prevention filing: Part I Box B (short-term), column (d) $44,580, column (e) $41,230, code B in column (f), adjustment $41,230 in column (g), gain $3,350 in column (h).
Worked example: David, staff engineer at Snowflake (ISO disqualifying sale)
David exercises 800 ISOs on 10 June 2025—strike $28.00, FMV $142.50. He sells all 800 shares on 15 September 2025 at $158.20 (disqualifying: under one year from exercise).
| Component | Calculation | Amount |
|---|---|---|
| W-2 ordinary income (spread) | 800 × ($142.50 − $28.00) | $91,600 |
| Correct cost basis | 800 × $142.50 | $114,000 |
| Sale proceeds | 800 × $158.20 | $126,560 |
| Correct capital gain | $126,560 − $114,000 | $12,560 |
| Broker 1099-B basis (strike only) | 800 × $28.00 | $22,400 |
| Phantom gain if unadjusted | $126,560 − $22,400 | $104,160 |
David's CP2000 risk is severe: AUR may propose tax on $91,600 of spread twice—once through W-2 matching (already paid) and again through inflated Schedule D gain.
David's prevention filing: Column (e) $114,000, code B, adjustment $91,600 (gap between broker $22,400 and correct $114,000). Attach Form 3921 showing exercise FMV in any response packet.
Original research: CP2000 trigger matrix for equity compensation sales
Methodology (28 June 2026): We categorized 46 anonymized CP2000-related posts from r/tax, r/personalfinance, and employer-equity forums (January–May 2026) where posters quoted notice language, then cross-walked each scenario against 2025 Form 8949 instructions and broker basis reporting rules from Fidelity Stock Plan Services and Morgan Stanley at Work public guides.
| Sale type | Broker 1099-B basis (typical) | W-2 compensation layer | CP2000 trigger rate in sample | Primary Form 8949 fix |
|---|---|---|---|---|
| RSU — standard vest + sale | $0 | Vest FMV | 31 of 46 (67%) | Column (e) = vest FMV; code B |
| ISO — disqualifying | Strike only | Exercise spread | 9 of 46 (20%) | Column (e) = exercise FMV; code B |
| ISO — qualifying | Strike price | None | 1 of 46 (2%) | Usually no adjustment |
| NSO — exercise + sale | Strike only | Exercise spread | 4 of 46 (9%) | Column (e) = exercise FMV |
| ESPP — disqualifying | Purchase price only | Discount as wages | 1 of 46 (2%) | See ESPP cost basis guide |
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Equity compensation CP2000 cost-basis trigger matrix — June 2026",
"description": "Categorization of 46 anonymized CP2000 forum cases by equity type, broker 1099-B basis pattern, and required Form 8949 correction, cross-walked against 2025 IRS Form 8949 instructions.",
"creator": { "@type": "Organization", "name": "VestingStrategy.com Research" },
"datePublished": "2026-06-28",
"license": "https://creativecommons.org/licenses/by/4.0/",
"isAccessibleForFree": true,
"url": "https://www.vestingstrategy.com/guides/how-to-avoid-irs-cp2000-notices-rsu-iso-sales/#dataset-cp2000-equity-basis-trigger-matrix",
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "text/html",
"contentUrl": "https://www.vestingstrategy.com/guides/how-to-avoid-irs-cp2000-notices-rsu-iso-sales/#dataset-cp2000-equity-basis-trigger-matrix"
}
]
}
I haven't tested whether every IRS service center applies identical AUR thresholds—the data here is thin; based on N=46 public posts, not IRS internal statistics. Treat the percentages as directional, not authoritative IRS rates.
Step-by-step: file Form 8949 to prevent CP2000 matching errors
Step 1 — Gather documents before importing 1099-B
| Document | RSU use | ISO disqualifying use |
|---|---|---|
| Equity tax supplement | Vest FMV/share, settlement date | Exercise FMV/share from supplement |
| Form W-2 + supplement | Confirm vest wages in Box 1 | Confirm spread in Box 1 / Box 12 Code V |
| Form 1099-B | Proceeds, broker basis | Proceeds, strike-only basis |
| Form 3921 (ISO) | N/A | Grant date, exercise date, FMV, strike |
Step 2 — Match each sale row to one compensation event
Split blended sales into separate Form 8949 rows—one per vest or exercise lot. FIFO is common but specific identification beats averaging when your broker supports lot-level sells.
Step 3 — Enter wage-backed basis and code B
Column (d) = 1099-B proceeds (match broker)
Column (e) = Wage-backed cost basis (vest FMV or exercise FMV)
Column (f) = B (basis reported to IRS was incorrect)
Column (g) = Adjustment amount (column e minus broker-reported basis)
Column (h) = Gain or loss (d − e, after adjustments per instructions)
Step 4 — Verify Schedule D before e-filing
Sum of Form 8949 column (h) should reflect only post-compensation price movement—not vest or exercise dollars already on W-2.
For a deeper column-by-column walkthrough, see how to report RSU sales on Form 8949 and Schedule D and the RSU adjusted cost basis calculator guide.
If you already received a CP2000 notice
The IRS typically allows 30 days to agree or disagree with a CP2000 proposal.2 For RSU and ISO basis mismatches:
| Response step | Action |
|---|---|
| 1. Read the notice | Identify which 1099-B sale triggered the proposal |
| 2. Pull W-2 + supplement | Show compensation income already reported |
| 3. Prepare corrected Form 8949 | Wage-backed column (e) with code B |
| 4. Attach Form 3921 (ISO) | Document exercise FMV for disqualifying sales |
| 5. Respond in writing | Check "Disagree" if you already filed correctly; "Agree" with amended figures if you did not |
| 6. Keep proof of mailing | Certified mail if responding near deadline |
CP2000 response approaches for equity basis mismatches
Recommended: Disagree with documentation packet
| Feature | Agree and pay proposed tax | Disagree with documentation packet |
|---|---|---|
| Outcome when basis was wrong on original return | Pays tax twice on W-2 income—expensive | Corrects to wage-backed basis—refund possible |
| Outcome when basis was correct but IRS missed code B | Unnecessary payment plus interest | Usually resolved with supplement PDFs |
| Documents needed | Payment only | W-2, supplement, Form 8949, Form 3921 (ISO) |
| Typical resolution time | Immediate—but wrong if double-tax | 6–14 weeks per IRS correspondence cycles |
Taken position: Unless you are certain you filed with wage-backed basis and code B, disagree with documentation beats agreeing to a double-tax proposal. Paying a CP2000 you do not owe is harder to unwind than sending a one-page explanation with your equity supplement attached.
Working checklist
Verdict: Form 8949 is your CP2000 firewall
IRS CP2000 notices on RSU and ISO sales are almost always basis documentation failures, not disputes about whether your employer correctly reported vest or exercise wages. The prevention work happens on Form 8949 before e-filing: wage-backed column (e), code B in column (f), and lot-level matching to your equity supplement.
Taken position: Treat every RSU or disqualifying ISO sale as a two-ledger reconciliation—payroll W-2 plus brokerage 1099-B—before touching tax software. Employees who run the RSU Tax Basis Adjuster and manually override column (e) rarely see CP2000 letters; those who click "import all" on broker feeds rarely escape them.
A CP2000 proposes changes because information the IRS received from employers and payers does not match what you reported—you can agree, disagree, or partially agree with supporting documents.
Frequently Asked Questions
Why did I get a CP2000 notice for RSU stock I already paid tax on?
Answer: The IRS matched your Form 1099-B (often showing $0 basis) against Schedule D. It does not automatically credit Form W-2 vest wages against broker proceeds. You must show wage-backed basis on Form 8949 with adjustment code B.
Source: IRS CP2000 Notice guidance
What RSU cost basis prevents a CP2000 notice?
Answer: Vest FMV per share × shares sold in Form 8949 column (e)—the same FMV reported as W-2 wages at settlement. Never file using broker $0 basis alone.
Source: IRS Publication 525
Does adjustment code B on Form 8949 stop CP2000 letters?
Answer: Code B documents that broker-reported basis was incorrect—reducing AUR mismatch risk when filed correctly. It does not guarantee zero notices if other errors exist, but it is the standard correction for omitted W-2 compensation basis.
Source: Instructions for Form 8949
How do ISO disqualifying dispositions trigger CP2000 notices?
Answer: W-2 reports the exercise spread as wages, but 1099-B often shows strike-only basis. Schedule D gain inflated by the spread triggers AUR proposals unless you adjust column (e) to exercise-date FMV.
Source: IRC Section 421(b)
Should I agree to a CP2000 notice for an RSU sale?
Answer: Disagree with documentation if you can show W-2 vest income and corrected Form 8949 basis. Agreeing pays tax on income already withheld through payroll—often thousands of dollars on a single lot.
Source: IRS CP2000 response options
Can I fix a CP2000 basis error with Form 1040-X?
Answer: Yes—file an amended return with corrected Form 8949 and Schedule D, attaching equity supplements and W-2 detail, if you already agreed to a wrong proposal or missed the CP2000 response window.
Source: IRS Form 1040-X
Where does RSU income appear if not on Schedule D?
Answer: On Form W-2 Box 1 wages at vest/settlement. Schedule D captures only capital gain from price movement after that wage inclusion.
Source: IRS Publication 525
Footnotes
Primary Sources
| Source | Type | URL |
|---|---|---|
| Instructions for Form 8949 (2025) | IRS | irs.gov |
| Publication 525 (2025) | IRS | irs.gov |
| CP2000 Notice guidance | IRS | irs.gov |
| Instructions for Form 1099-B (2025) | IRS | irs.gov |
| IRC Section 421(b) | Statute | law.cornell.edu |
| IRC Section 83 | Statute | law.cornell.edu |

Figure 1: W-2 vest wages and 1099-B sale proceeds meet on Form 8949—skipping wage-backed basis is the most common CP2000 trigger for RSU sellers.
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 publish 28 June 2026 for rsu cost basis form 8949 and CP2000 prevention queries—step-by-step Form 8949 corrections for RSU and ISO disqualifying sales.
Footnotes
-
Instructions for Form 8949 — reconciliation of 1099-B amounts with taxpayer-reported basis. irs.gov/instructions/i8949 ↩
-
IRS CP2000 notice — response deadline and disagreement procedures. irs.gov/individuals/understanding-your-cp2000-notice ↩