Filed
/
Library
/
Individuals

Form 8949: reporting 1099-B sales box by box

Form 8949 is the IRS form taxpayers use to list each sale or exchange of a capital asset and reconcile it with the Form 1099-B, 1099-DA or 1099-S they received. Its totals flow to Schedule D, and columns (f) and (g) carry adjustments such as wash sales.

On this page
“Use Form 8949 to reconcile amounts that were reported to you and the IRS on Form 1099-B or 1099-S (or substitute statement) with the amounts you report on your return.” IRS, About Form 8949

Who has to file Form 8949, and which box applies?

Form 8949 is filed with Schedule D by any taxpayer that sold or exchanged a capital asset, including individuals, estates, trusts, partnerships, S corporations and corporations, according to the Instructions for Form 8949 (2025). The form reconciles what a broker reported on Form 1099-B, Form 1099-DA or Form 1099-S with what the return reports. Proceeds from the form always go in column (d), and when the form shows basis was reported to the IRS, that basis always goes in column (e). Any correction runs through columns (f) and (g).

Each Part I or Part II page carries one checkbox, and only transactions of that type go on that page. For 2025 the instructions add boxes G to L for digital asset transactions reported on Form 1099-DA, and boxes C and F can no longer be used for digital assets. Exception 1 lets a taxpayer skip Form 8949 for sales where basis was reported to the IRS and nothing needs adjusting, entering totals directly on Schedule D line 1a or 8a.

Form 8949 boxHolding periodWhat goes thereSchedule D line
A (G for digital assets)Short term, Part IBasis shown and reported to the IRS1b
B (H)Short term, Part IBasis not shown, or shown but not reported to the IRS2
C (I)Short term, Part INo Form 1099-B or 1099-DA received3
D (J)Long term, Part IIBasis shown and reported to the IRS8b
E (K)Long term, Part IIBasis not shown, or shown but not reported to the IRS9
F (L)Long term, Part IINo Form 1099-B or 1099-DA received10

Where does each Form 1099-B box go on Form 8949?

Every numbered box on a 2025 Form 1099-B that feeds Form 8949 maps to one column or one checkbox. Boxes 1a to 1e fill columns (a) to (e), box 1f and box 1g become adjustments in column (g) with codes D and W, and boxes 2, 5 and 12 decide which Part and which checkbox the sale belongs on. The broker's “Applicable checkbox on Form 8949” entry (code A, B, D, E or X) is a hint, and code X means the broker doesn't know the holding period, so the preparer uses the client's records.

Form 1099-B boxWhat it showsForm 8949
1aDescription of propertyColumn (a)
1bDate acquired (may be blank if box 5 is checked)Column (b), or “VARIOUS”
1cDate sold or disposed ofColumn (c)
1dProceedsColumn (d)
1eCost or other basisColumn (e); an error is fixed with code B, not by editing the basis on a box A or D row
1fAccrued market discountCode D in (f), worksheet amount in (g)
1gWash sale loss disallowedCode W in (f), positive amount in (g)
2Short-term, long-term or OrdinaryPart I or Part II; code T if the type is wrong
3Collectibles or QOFCollectibles take code C with -0- in (g)
5Noncovered securityBox B or box E
12Basis reported to the IRSBox A or box D

Box 4 backup withholding goes on the return as tax withheld, and boxes 8 to 11 for regulated futures and section 1256 contracts go to Form 6781, not Form 8949, per the 2025 recipient instructions.

How do Form 8949 adjustment codes work?

Form 8949 column (h) is column (d) minus column (e), combined with any adjustment in column (g), and column (f) holds the code that explains the adjustment. The Instructions for Form 8949 (2025) require codes in alphabetical order with no spaces (for example “BOQ”) and a single net amount in column (g) when more than one code applies. Negative adjustments go in parentheses.

Code B has two treatments. On a box A or box D row, where basis was reported to the IRS, the preparer keeps the broker's basis in column (e) and enters the correction in column (g) using the Worksheet for Basis Adjustments. On a box B or box E row, the preparer enters the correct basis in column (e) and -0- in column (g). Code W is always a positive amount equal to the disallowed loss. Code E covers selling expenses or option premiums the form doesn't reflect, and code M marks a summary row under Exception 2.

CodeUse it whenColumn (g)
BBasis in box 1e is wrongCorrection (box A or D rows); -0- on box B or E rows
DBox 1f shows accrued market discountWorksheet amount
ESelling expenses or option premiums aren't reflectedNegative for costs paid
LNondeductible loss other than a wash salePositive
MSeveral transactions reported on one row-0- unless another code applies
TBox 2 shows the wrong type of gain or loss-0- if nothing else changes
WWash sale loss is disallowedPositive, the disallowed loss
OAny other adjustmentAs needed
Common miss: stock option basis
For compensatory options granted after 2013, the basis on Form 1099-B won't include income the client already reported on Form W-2 at exercise. Without a code B adjustment, that income is taxed twice: once as wages and again as capital gain.

What does a Form 8949 calculation look like?

For example, Priya's 2025 consolidated Form 1099-B shows four sales. ABC: 100 shares held four months, box 12 checked, proceeds $5,000, basis $6,200, box 1g $400. LMN: 40 shares from a nonqualified stock option exercised two months earlier, box 12 checked, proceeds $3,100, box 1e $2,000, and her W-2 included $1,000 of exercise income, so correct basis is $3,000. XYZ: 50 shares bought in 2019, box 12 checked, proceeds $9,000, basis $4,000, no adjustments. DEF: 200 shares bought in 2008, box 5 checked, proceeds $12,000, box 1e blank, and her records show $7,500 of basis.

StepForm lineGain (loss)
ABC: $5,000 minus $6,200, plus $400 code W8949 Part I, box A, (h)($800)
LMN: $3,100 minus $2,000, minus $1,000 code B8949 Part I, box A, (h)$100
Box A totals carried to Schedule DSch. D 1b($700)
XYZ: no adjustment, Exception 1Sch. D 8a$5,000
DEF: $12,000 minus $7,500 from client records8949 Part II, box E; Sch. D 9$4,500
Net long-term gainSch. D 15$9,500
Net capital gainSch. D 16$8,800

Priya's $400 wash sale loss isn't lost. It is added to the basis of the replacement ABC shares, which a broker reports in box 1e when it sells them. Leaving out the code B line on LMN would overstate her gain by $1,000.

What do reviewers check on Form 8949?

A reviewer checking Form 8949 confirms six items, each tied to the Instructions for Form 8949 (2025) or the Schedule D instructions. The broker statement is the first document to pull, because column (d) proceeds and, for covered securities, column (e) basis have to match it line for line, and any difference has to be explained by a code in column (f). The second is the client's own basis record for anything in box B or box E, since nothing on the 1099-B supports that number.

Proceeds tie to the 1099-B
Column (d) totals by checkbox match box 1d totals on each broker statement.
Instructions, Purpose of Form
Checkbox follows box 12 and box 5
Box 12 checked goes to box A or D. Box 5 checked goes to box B or E.
Instructions, Part I and Part II
Reported basis isn't overwritten
On box A and D rows, column (e) equals box 1e and any correction is a code B amount in column (g).
Instructions, columns (f) and (g)
Wash sales carry code W
Every box 1g amount shows up as code W with a positive column (g) entry.
Instructions, code W
Option income is in basis
Shares from compensatory options include the W-2 income from exercise.
Instructions, column (e)
Exception 1 is used only when allowed
Schedule D line 1a or 8a holds only covered sales with no box 1f, 1g or Ordinary flag.
Instructions, Exception 1

Gains on Form 8949 also feed Form 8960 line 5a for clients above the net investment income tax threshold. For how box 1e and box 1g are built, see Form 1099-B box 1e and wash sales.

Every line checked against the documents the client sent

Filed reads the client's Forms 1099-B, 1099-DA and 1099-S, W-2s and basis records, then checks every row of Form 8949 against them. Anything that doesn't tie comes back as a review item with a citation to the source.

Book a demo
Example review item
Wash sale adjustment missing on Form 8949

Form 1099-B shows $1,240 in box 1g for 300 sh. QRS, but Form 8949, Part I (box A) reports the full $1,240 loss with columns (f) and (g) blank. Confirm whether code W and a $1,240 adjustment belong on this row.

Source: 2025 Form 1099-B, box 1g

Common questions

Do I have to file Form 8949 if all my basis was reported to the IRS?

Form 8949 isn't required for sales where Form 1099-B shows basis was reported to the IRS, boxes 1f and 1g are blank, the Ordinary box isn't checked and no other adjustment is needed. Under Exception 1, those totals go directly on Schedule D line 1a (short term) or line 8a (long term). Collectibles and QOF deferrals don't qualify.

What does code W mean on Form 8949?

Code W on Form 8949 means part or all of a loss is disallowed under the wash sale rules. The disallowed amount goes in column (g) as a positive number, usually the figure in Form 1099-B box 1g. If the correct amount differs from the broker's figure, the preparer enters the correct amount and explains a smaller figure in an attached statement.

What is the difference between box A and box B on Form 8949?

Box A and box B on Form 8949 both hold short-term sales reported on Form 1099-B. Box A is for sales where the broker reported basis to the IRS, shown by a checked box 12. Box B is for sales where basis wasn't reported, usually noncovered securities with box 5 checked. Boxes D and E are the long-term equivalents.

Camron Momeni, CPA
About the author
Camron Momeni, CPA
VP of Tax Experience

Camron Momeni, CPA, has more than 18 years of public accounting and tax startup experience, including 14 years as a CPA serving firms from the Big Four to solo practitioners. He prepared and reviewed returns across partnerships, S corporations, C corporations, exempt organizations, estates and trusts, and as a product manager at Crowe he built K1 Aggregator and C-TRAC, now sold as 990Tracker. At Filed he is VP of Tax Experience, leading customer success, onboarding and solutions engineering.

LinkedIn profile