Taxes Long-form guide

W-2 Box 12 Code V: Fixing Cost Basis on Form 8949

Box 12 Code V is already in your W-2 wages. Here is how to fix the understated basis on Form 8949 so you are not taxed twice on the same stock.

CC
Author

Cristian Corrales

Founding editor of finbarrow. Math-first analysis of US personal finance, anchored to primary sources (CFPB, FDIC, FRB, IRS, FICO, FINRA, SEC, NCUA).

Published · Last reviewed · 5-minute read
Editorial illustration of a stock-option pay stub beside an IRS Form 8949 with a corrected cost-basis figure, representing a W-2 box 12 Code V adjustment

Few tax forms produce a quieter, costlier mistake than a W-2 with an entry in box 12 next to the letter V. The income is reported correctly, the broker’s paperwork looks tidy, and the numbers on the 1099-B appear to add up — and yet, if you copy that 1099-B straight onto your return, you will almost certainly pay tax twice on the same dollars. The trouble is that the two documents describing your stock-option sale do not talk to each other. Your employer already taxed the option spread as wages, but your broker, in most cases, never heard about it. Reconciling the two is the entire job of Form 8949, and it is far less complicated than the panic it tends to cause.

The short answer: Box 12 Code V is the income you recognized when you exercised a nonstatutory stock option — one of the thirty-plus Box 12 codes on the W-2 — and it is already baked into your box 1 wages. Your real cost basis in those shares is the exercise price you paid plus that Code V amount. Brokers, however, usually report only the cash exercise price as your basis on the 1099-B, which understates basis and overstates your gain. You fix this on Form 8949 by entering the broker’s figure in column (e), flagging it with adjustment code B in column (f), and subtracting the omitted compensation in column (g) as a negative number in parentheses — which restores your true basis and removes the double tax.

What Code V actually represents

A nonstatutory stock option, often abbreviated NQSO, lets you buy company shares at a fixed strike price. When you exercise, the difference between the share’s fair market value that day and the price you actually paid is treated as ordinary compensation, exactly as if it had landed in your paycheck. Your employer runs that spread through payroll, which is why it shows up inside box 1 wages and, in most cases, boxes 3 and 5 as well. Box 12 Code V — labeled “Income from exercise of nonstatutory stock option(s)” — simply itemizes how much of your wages came from that event. The key point to internalize is that this money has already been taxed at ordinary rates. Nothing about the option spread is waiting to be taxed again.

Why the 1099-B basis is wrong

Here is where the two documents diverge. Your broker knows what you paid in cash to exercise the option, but generally does not know about the compensation your employer added to your wages. Under the cost-basis reporting rules, the broker is typically required to report only that cash exercise price as your basis. The result is a 1099-B that shows a basis lower than what you truly have in the shares, and therefore a capital gain larger than what you actually earned. That phantom gain is, dollar for dollar, the Code V income you already paid ordinary tax on. Left uncorrected, it gets taxed a second time as a capital gain.

Tracing the numbers

A concrete example makes the mechanics obvious. Suppose you exercise options on 1,000 shares with a strike price of $10, and the fair market value at exercise is $30. The spread is ($30 minus $10) times 1,000 shares, or $20,000 — and that $20,000 is your Code V figure, already sitting in box 1.

Now say you do a same-day sale at $30, so your proceeds are $30,000. Your broker’s 1099-B reports a cost basis of just $10,000, because that is the cash you paid at the strike. On paper, the form shows a $20,000 capital gain. But you have already been taxed on that exact $20,000 as wages. Your true basis is the $10,000 strike plus the $20,000 of compensation, which equals $30,000. Subtract that real basis from your $30,000 in proceeds and your actual capital gain is zero. The entire reported “gain” was an artifact of the missing basis — and Form 8949 exists precisely to erase it.

Entering it on Form 8949: columns (e), (f), and (g)

The IRS Instructions for Form 8949 are explicit about how to handle a 1099-B basis that was reported to the agency but is wrong. You do not simply overwrite the figure. Instead, you “enter the basis shown on Form 1099-B… in column (e), even though that basis is incorrect,” and then “correct the error by entering an adjustment in column (g).” The flag that tells the IRS an adjustment is coming is adjustment code B, which you place in column (f). When the reported basis was too low — as it always is in this situation — the instructions direct you to “enter the result… in column (g) as a negative number (in parentheses).” That negative adjustment equals the omitted Code V amount, and it pulls your overstated gain back down.

Walking the example through the columns: column (e) shows the broker’s $10,000 basis, column (f) carries code B, and column (g) reads ($20,000). The corrected gain comes out to $0, which is the right answer. One detail worth checking is the holding period. A same-day or otherwise short-term sale belongs in the short-term Part I of Form 8949; shares you held more than a year go in the long-term Part II.

The software gotcha catches a lot of careful people. When you import a 1099-B, tax software will not add the Code V to your basis on its own — it has no way to know the broker’s figure is incomplete. You have to reach for the program’s “the cost basis is incorrect or missing” flag, or manually enter the corrected basis yourself. Whatever you do, do not accept the imported broker basis as-is, because that is the path straight to a doubled tax bill.

The practical takeaway

If your W-2 has a number in box 12 next to Code V, treat your 1099-B with suspicion before it ever reaches your return. The fix is a single line of arithmetic — exercise price plus Code V equals your real basis — and a single adjustment on Form 8949 to make the paperwork match reality. For a fuller map of how investment sales, basis adjustments, and option income interact across a return, the taxes hub gathers the related guides; and if your option shares were collectibles or otherwise touch the higher-rate rules, the 28% rate gain worksheet walkthrough covers that wrinkle. The cost of getting Code V wrong is real money you already earned. The cost of getting it right is five minutes and one negative number in parentheses.

Sources

Frequently asked

Quick answers

What does Code V in W-2 box 12 mean?

Code V reports the income from exercising a nonstatutory stock option. That spread is already included in your box 1 wages, so it has already been taxed as ordinary compensation.

Why is my 1099-B cost basis wrong for stock options?

Brokers often report only the cash exercise price as basis and leave out the Code V compensation. That understates your basis and overstates your gain, which is why Form 8949 needs an adjustment.

What adjustment code do I use on Form 8949?

Use code B in column (f) when the basis on your 1099-B is incorrect. Then enter the correction in column (g) as a negative number in parentheses, because the reported basis was too low.

How do I avoid being taxed twice on Code V income?

Add the Code V amount to your exercise price to get your true basis. Reporting that corrected basis on Form 8949 removes the double tax, because the compensation was already in your wages.


Educational content only. finbarrow is an independent editorial publication, not a licensed financial advisor, broker, tax preparer, or attorney. Verify rates and terms with the issuer or relevant regulator. See disclaimers and funding disclosures.

← Back to Taxes