Column (f) on Form 8949 accepts a single letter — or a combination of letters — and that letter changes the meaning of your entire entry. Pick the wrong one and you're either under-reporting income or triggering an IRS notice. Pick the right one and the adjustment in column (g) flows to Schedule D cleanly.
Most tax software hides this complexity behind a wizard ("Is your cost basis incorrect? Was this a wash sale?"), but sometimes the wizard picks wrong, or you need to understand what the code actually means to verify TurboTax's choice. This post is a complete reference to every adjustment code the IRS accepts on Form 8949, with examples and the situations where each applies.
What Columns (f) and (g) Actually Do
Form 8949 has nine columns, but the two that matter for adjustments are:
- Column (f) — Code. A letter (or letters) telling the IRS why you're adjusting the numbers on this row from what the broker reported.
- Column (g) — Amount of adjustment. A dollar amount that changes the gain or loss from what the raw proceeds minus cost basis would calculate.
A positive number in column (g) increases the gain (or decreases the loss). A negative number decreases the gain (or increases the loss). The code in column (f) explains why.
If column (f) is blank, no adjustment is being made and column (g) should be blank or zero.
The Complete Code Table
From the IRS Form 8949 instructions:
| Code | Meaning | Most common use |
|---|---|---|
| B | Basis reported to IRS is incorrect | RSU / ESPP adjustments, broker error |
| T | Broker reported short/long-term classification is incorrect | Misclassified holding period |
| N | Nominee — you received a 1099-B but someone else owned the asset | Custodial accounts, joint ownership |
| H | Sold a main home; exclude qualifying gain | Home sale exclusion |
| D | Accrued market discount on a debt instrument | Bond adjustments |
| Q | Qualified small business stock exclusion | Section 1202 QSBS sales |
| X | Qualified opportunity zone investment deferral | OZ fund investments |
| R | Rollover gain on an empowerment zone asset | Empowerment zone |
| W | Wash sale loss disallowed | Most common adjustment |
| L | Nondeductible loss (related party, personal use) | Related party sales |
| E | Selling expenses or option premium not reflected | Commissions, option premiums |
| S | Loss from sale of small business stock | Section 1244 ordinary loss |
| C | Collectibles (28% rate gain) | Art, coins, precious metals |
| O | Any other adjustment requiring an explanation | Catch-all |
| M | Multiple transactions reported as totals (summary entry) | Summary totals |
You can combine codes when more than one applies. The IRS accepts multi-letter combinations like BW, TO, or EL.
The Most Common Codes Explained
Code W — Wash Sale Loss Disallowed
By far the most common adjustment code. Used when a loss on the sale was disallowed under the wash sale rule (IRC §1091) because you bought a substantially identical security within 30 days before or after the loss sale.
- Column (g) value: the amount of the loss being disallowed (entered as a positive number)
- Broker typically pre-populates this when reporting the 1099-B
See our deep dive on wash sales on Form 8949 for the full treatment.
Code B — Basis Is Incorrect
Used when the cost basis reported to the IRS on your 1099-B is wrong and you're adjusting it.
- Most common scenario: RSU or ESPP sales where the broker reported $0 basis because of the IRS rule that prevents including the compensation income
- Column (g) value: the difference between your correct basis and the broker's reported basis, as a signed number
If the reported basis was too low (typical RSU case), your correct basis is higher, which means gain should be lower — column (g) is negative. If the reported basis was too high, column (g) is positive.
See our RSU cost basis wrong guide for the step-by-step.
Code T — Holding Period Is Incorrect
The broker classified a transaction as short-term but it should have been long-term (or vice versa). Rare, but happens when brokers incorrectly track the acquisition date after transfers, corporate actions, or partial exercises.
- Column (g) value: often zero (you're just changing the classification, not the dollar amount)
- You enter the transaction in the correct Form 8949 box (A vs D, B vs E) and use Code T to signal the override
Code N — Nominee
You received a 1099-B for a sale, but you weren't the actual owner of the asset. Common in:
- UTMA / UGMA custodial accounts where the 1099-B comes to you but the minor is the owner
- Joint accounts where only one holder receives the 1099-B but the gain should be split
You'll need to file Form 1099-B (yes, issue your own) to allocate the gain to the real owner. Code N flags the adjustment in your own return to zero out the piece that isn't yours.
Code E — Selling Expenses or Option Premium
Used when your reported proceeds or cost basis didn't include commissions, fees, or option premiums that should be factored in.
- Example: you sold 100 shares for $10,000 gross but paid a $25 commission. The 1099-B might report $10,000 as proceeds, but the effective proceeds are $9,975. Use Code E with a $25 negative adjustment.
- Second example: you wrote a covered call for $200 premium, it was assigned, and the assignment premium wasn't rolled into the stock sale proceeds. Use Code E to add the $200.
Modern 1099-Bs usually include commissions in proceeds automatically. Code E is mostly needed for option premium adjustments and unusual broker reporting gaps.
Code L — Nondeductible Loss
You're reporting a loss that's not deductible under IRS rules. Most common scenarios:
- Sale of personal-use property (your car, jewelry) at a loss
- Related party sale under Section 267 (sold to a family member at a loss)
- Loss on the sale of a personal residence (unless a disaster)
Column (g) is positive (increases the gain / eliminates the loss) — you're adding back the disallowed portion.
Code M — Multiple Transactions (Summary)
Used when you're entering summary totals for many transactions rather than listing them individually. TurboTax auto-applies this when you use the summary entry flow.
Column (g) is typically zero unless you're also applying a different adjustment on top of the summary.
See our summary totals in TurboTax guide.
Multi-Letter Combinations
When more than one adjustment applies, enter the codes together with no spaces:
- BW — Basis was incorrect AND there was a wash sale (common with RSUs in the same year as a wash sale on the same stock)
- BO — Basis incorrect and a non-standard adjustment (you'd explain the "other" portion in a statement)
- EL — Selling expense adjustment and nondeductible loss (related party sale with commission)
- TO — Holding period change plus other adjustment
Column (g) in multi-code entries should be the net of all the adjustments being applied. Some tax software asks you to enter each code with a separate adjustment amount and computes the net automatically.
Auto-Applied vs Manual Codes
TurboTax and other tax software apply some codes automatically based on imported 1099-B data and user responses:
- W — applied automatically when a wash sale is detected in the import or reported on the 1099-B
- B — applied when you check the "cost basis is incorrect" box
- M — applied when you use summary entry
- D — applied for bond adjustments the broker reports
Other codes require manual selection through the "enter adjustment" flow:
- N, H, L, E, T, S, C, O, Q, X, R
If you know you need one of the manual codes, use the "I need to enter adjustments" path in TurboTax rather than the standard transaction entry.
Worked Examples
Example 1 — RSU with basis adjustment:
- Proceeds: $10,000, Reported basis: $0, Holding period: short
- Your adjusted basis: $9,500 (FMV at vest from supplement)
- Code: B
- Column (g): −$9,500 (negative, reducing the reported $10,000 gain to $500)
- Reported gain: $500
Example 2 — Wash sale:
- Proceeds: $5,000, Basis: $5,500, Loss: −$500
- $300 of the loss was disallowed under the wash sale rule
- Code: W
- Column (g): $300 (positive, reducing the loss from $500 to $200)
- Reported loss: $200
Example 3 — Combined RSU basis and wash sale on same lot:
- Proceeds: $8,000, Reported basis: $0
- Adjusted basis: $9,000 (creates a $1,000 loss)
- $400 of that loss is a wash sale
- Code: BW
- Column (g): −$9,000 (from B) + $400 (from W) = −$8,600
- Reported loss: $600
Example 4 — Nondeductible related party loss:
- Proceeds: $4,000, Basis: $5,000, Loss: −$1,000
- Sold to a brother, Section 267 related party rule disallows the loss
- Code: L
- Column (g): $1,000 (positive, eliminates the entire loss)
- Reported loss: $0
FAQ
Which code do I use if my broker reported a wash sale but I disagree?
If you think the broker's wash sale is incorrect, contact the broker first and ask for a corrected 1099-B. If they won't correct it, you can use Code O (other) with an attached explanation, but this invites IRS scrutiny. Usually it's easier to accept the broker's reporting unless there's a clear factual error.
Can I use a code not on the IRS list?
No. The IRS only accepts the codes listed in the Form 8949 instructions. If none fit, use Code O and attach a written explanation.
Does TurboTax show me the adjustment code it applied?
Yes, in the worksheet view (not the interview view). Look at the Form 8949 worksheet for each transaction to see column (f) and (g).
What if I have a wash sale on an RSU sale with an RSU basis adjustment?
That's a BW combination code. Apply both adjustments in the same row. TurboTax's wizard handles this if you check both the "cost basis is incorrect" box and the "wash sale" box for the same transaction.
Do I have to use codes at all?
No. If the 1099-B data is correct as reported, you don't need any adjustment codes. Leave columns (f) and (g) blank and the gain or loss is computed from the raw proceeds minus basis.
Where can I see the IRS's official explanation of each code?
IRS Form 8949 instructions, available as a free PDF at irs.gov. Look for the "Adjustment codes" table in the instructions — it's updated each tax year.
Bottom Line
Form 8949 adjustment codes exist because the raw proceeds-minus-basis math doesn't always equal the correct taxable gain or loss. The common codes — W for wash sales, B for incorrect basis, M for summary entry — cover 95% of real filings. The rarer codes handle edge cases like related party sales, nominee situations, and small business stock.
When in doubt, enter the transaction through TurboTax's wizard and verify in the worksheet view that the code it picked matches what you expect. If the wizard picks the wrong code, the manual "enter adjustments" path lets you override it.
Have 1099-B transactions with multiple adjustments you need to flag? Convert your 1099-B PDF free — extract every transaction including wash sales and original basis, then apply the right adjustment codes cleanly in TurboTax. Faster than the wizard, fewer mistakes.