IRS Forms
IRS Instructions for 8949: Boxes A to L, Column (f) Codes, and Schedule D
The short answer: Form 8949 is where you list each sale of stock, crypto, and other capital assets, reconciling the proceeds your broker reported to the IRS on Form 1099-B, 1099-DA, or 1099-S with what is on your return. Short-term sales go in Part I, long-term in Part II, and each sale is sorted into a box (A through L on the 2025 form) by whether the broker reported your basis. Column (f) holds a code for any adjustment, column (g) holds the dollar amount, and the subtotals carry to Schedule D.
Your consolidated 1099-B arrived, the cost-basis column is blank for half your lots, and your tax software wants Form 8949 filled out line by line. This page walks through the IRS instructions for 8949 in plain language: the two parts, the twelve boxes, the complete column (f) code list with what goes in column (g) for each, when you can skip the form and report straight on Schedule D, and what to do about a sale that never got reported. Every rule below was checked against the IRS's Instructions for Form 8949 (2025 revision, the version used for returns filed in 2026) on October 5, 2026.
If you have never looked at the form itself, the image further down shows what Form 8949 looks like. The checkboxes at the top of each part and the column (f) field are the two spots this guide keeps coming back to.
⏱ The real clock: Form 8949 has no deadline of its own. It files with your Form 1040 by the return due date. If sales were left off a return you already filed, interest on any resulting balance has been running since that return's original due date, and the IRS document-matching program runs automatically whether or not a person ever opens your file.
What Form 8949 does: the matching test your return has to pass
The IRS describes the form in one sentence: 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. Every broker, and as of the 2025 tax year every digital-asset broker through Form 1099-DA, sends the IRS a copy of what it sends you. The IRS computer adds up those reported proceeds and compares them to your Form 1040.
Here is the asymmetry that catches people. The broker reports your proceeds, the gross sale amount, to the IRS in every case. It reports your cost basis only sometimes. So the IRS often knows exactly what you sold for and nothing about what you paid. Form 8949 is where you supply the other half of the math, one lot per row: description, dates, proceeds in column (d), basis in column (e), any adjustment code in column (f) with its amount in column (g), and the gain or loss in column (h).
The subtotals from each part of Form 8949 carry to Schedule D, where your overall gain or loss is figured in aggregate and flows to your return. Schedule D shows the IRS a total. Form 8949 shows it the lot-by-lot detail that proves the total.
Two scope notes before the boxes. Sales of business property generally belong on Form 4797 rather than Form 8949. And if you sold your home and received a 1099-S, the sale may still need to be reported even when the gain is excludable (that is what code H is for). Our guide to owing capital gains after selling a house covers that path.

Form 8949 Parts I and II and boxes A through L
Every sale lands in one box, decided by three questions: how long you held the asset, whether the broker reported your basis to the IRS, and (new for 2025 returns) whether the asset is a digital asset. Part I holds short-term sales, meaning assets held one year or less. Part II holds long-term sales, held more than one year. Within each part, the box tells the IRS how much of your numbers it can check on its own.
Older guides, and older versions of this one, describe six boxes. The 2025 form has twelve. The instructions added boxes G through L for digital assets reported on the new Form 1099-DA, and they say plainly that digital asset transactions should not be reported using box C or F. If your software still only offers A through F, it is running on an old form.
| Part | Box | Asset type | What the broker sent you |
|---|---|---|---|
| Part I (short-term) | A | Stock, securities, other non-digital | 1099-B with an amount shown for cost or other basis |
| Part I (short-term) | B | Stock, securities, other non-digital | 1099-B without an amount shown for basis |
| Part I (short-term) | C | Stock, securities, other non-digital | No 1099-B received (private sales, some property) |
| Part I (short-term) | G | Digital assets (crypto) | 1099-DA with an amount shown for basis |
| Part I (short-term) | H | Digital assets (crypto) | 1099-DA without an amount shown for basis |
| Part I (short-term) | I | Digital assets (crypto) | No 1099-DA received (self-custody wallets, most pre-2025 years) |
| Part II (long-term) | D | Stock, securities, other non-digital | 1099-B with an amount shown for cost or other basis |
| Part II (long-term) | E | Stock, securities, other non-digital | 1099-B without an amount shown for basis |
| Part II (long-term) | F | Stock, securities, other non-digital | No 1099-B received |
| Part II (long-term) | J | Digital assets (crypto) | 1099-DA with an amount shown for basis |
| Part II (long-term) | K | Digital assets (crypto) | 1099-DA without an amount shown for basis |
| Part II (long-term) | L | Digital assets (crypto) | No 1099-DA received |
Your consolidated 1099-B is usually already sorted into these groups. Look for headings like "basis reported to IRS" and "basis not reported to IRS." Use a separate Form 8949 page for each box that applies and check only one box per page. A part-time trader with covered stock lots, noncovered stock lots, and exchange-reported crypto can easily need four pages. That is normal.

When you can skip Form 8949 and report directly on Schedule D
The instructions call this Exception 1, and most people with a plain brokerage account qualify for at least part of their sales. You can leave a transaction off Form 8949 and report it as a summary total on Schedule D if every one of these is true: your 1099-B (or 1099-DA) shows basis was reported to the IRS and shows no adjustments in the wash-sale or disallowed-loss boxes; the "Ordinary" box on the form is not checked; you do not need to adjust the basis or the type of gain the broker reported; and you are not deferring or ending a deferral of gain through a Qualified Opportunity Fund.
Qualifying short-term totals go on Schedule D line 1a and long-term totals on line 8a. Everything else goes on Form 8949. The moment a lot needs a correction (missing basis, a wash sale the broker did not flag, anything that would need a code in column (f)) it has to appear on Form 8949 itself, and the rest of that box can still use the shortcut.
Exception 2 is the one active traders use. Instead of one row per lot, you can attach a statement containing all the same information as Parts I and II in a similar format, enter the combined totals on Form 8949, and put code M in column (f). Most tax software and crypto tax tools generate exactly this attachment.
Form 8949 column (f) codes: the complete list and what goes in column (g)
Column (f) is how you change a broker-reported number while still showing the IRS you started from the broker's figure. You report what the 1099-B said, add the code, and put the dollar adjustment in column (g), so the matching computer can trace every correction. The instructions list eighteen codes. The table below gives each one, when it applies, and what the instructions say to enter in column (g). Amounts in parentheses are negative, which reduce gain; positive amounts increase it.
| Code | When it applies | What to enter in column (g) |
|---|---|---|
| B | The basis shown on your 1099-B (box 1e) or 1099-DA (box 1g) is incorrect | If the basis was not reported to the IRS, enter the correct basis in column (e) and -0- in column (g). If it was reported to the IRS, keep the broker's basis in column (e) and enter the adjustment that corrects the gain or loss |
| T | The type of gain or loss (short-term or long-term) shown on your 1099-B (box 2) or 1099-DA (box 6) is incorrect | Report the sale on the correct part of the form and enter -0- unless another adjustment is needed |
| N | You received a 1099-B, 1099-DA, or 1099-S as a nominee for the actual owner | Any resulting gain as a negative number (in parentheses), or any resulting loss as a positive number |
| H | You sold your main home at a gain and can exclude some or all of the gain | The excluded (nontaxable) gain as a negative number (in parentheses) |
| D | Your 1099-B (box 1f) or 1099-DA (box 1h) shows accrued market discount | The amount from the Worksheet for Accrued Market Discount Adjustment in the instructions |
| Q | You sold qualified small business (QSB) stock and can exclude part of the gain | The exclusion as a negative number (in parentheses) |
| X | You can exclude gain under the rules for DC Zone assets or qualified community assets | The exclusion as a negative number (in parentheses) |
| R | You are electing to postpone gain under a rollover rule | The postponed gain as a negative number (in parentheses) |
| W | You have a nondeductible loss from a wash sale | The nondeductible loss as a positive number |
| L | You have a nondeductible loss other than a wash sale (for example, loss on personal-use property) | The nondeductible loss as a positive number |
| E | Your 1099-B, 1099-DA, or 1099-S did not reflect selling expenses, option premiums, or digital asset transaction costs | Expenses and premiums you paid as a negative number (in parentheses); any option premium you received as a positive number |
| S | You had a loss from the sale, exchange, or worthlessness of small business (section 1244) stock | See the Section 1244 rules in the Schedule D instructions |
| C | You disposed of collectibles | -0- |
| M | You report multiple transactions on a single row (the attached-statement method) | -0- unless another code on the same row requires an adjustment |
| O | You have an adjustment not explained by any other code (including contingent payment debt instruments) | The appropriate adjustment amount |
| P | You are a nonresident alien who sold an interest in a partnership engaged in a U.S. trade or business | Any adjustment resulting from Regulations section 1.864(c)(8)-1 |
| Z | You are electing to postpone gain by investing in a Qualified Opportunity Fund (QOF) | The deferred gain as a negative number (in parentheses) |
| Y | You are reporting gain from a QOF investment that you deferred in a prior year | The previously deferred gain as a positive number |
Three rules about using the codes. First, if more than one code applies to the same row, enter them in alphabetical order with no space or comma between them (the instructions use "BOQ" as the example) and put the net adjustment in column (g). Second, code B is only for basis that was reported to the IRS and is wrong. When the broker simply did not report basis at all (Box B, E, H, or K lots), no code is needed; you enter your correct basis directly in column (e). Third, if a lot seems to need a code you do not recognize, read the instructions rather than guess. The matching computer reads these codes literally.
Codes W, B, M, and H cover the large majority of individual returns. The rest exist for specific elections, and if you have never heard of a Qualified Opportunity Fund or section 1244 stock, you almost certainly do not need Y, Z, or S.
What to do when your 1099-B shows no cost basis
A blank basis box means the broker did not report your basis to the IRS. It never means your basis is zero. But if you do not supply the number, zero is exactly what the IRS assumes, and every dollar of proceeds gets treated as gain.
Basis goes missing for predictable reasons:
- Noncovered securities. Broker basis-reporting rules phased in starting in 2011 for stocks; shares acquired before the rules covered them are "noncovered," so the broker reports proceeds only. These land in Box B or E.
- Transferred assets. Move shares between brokers, or crypto between wallets and exchanges, and the receiving platform often has no record of what you paid. This is the most common reason crypto lots show no basis, and those land in Box H or K.
- Inherited or gifted assets. Basis follows special rules here (generally date-of-death value for inheritances; the giver's basis for gifts, with adjustments). Publication 551, Basis of Assets, is the IRS rulebook, with Publication 550 covering investment income and Publication 544 covering dispositions.
Your job is to reconstruct the real number and enter it in column (e). Sources, in rough order of strength: original trade confirmations, the sending broker's or exchange's transaction history export, old account statements, and bank records showing what you transferred in to buy the asset. For crypto, download the full history from every exchange you have ever used. Platforms shut down, and the history goes with them.
If the broker reported a basis to the IRS that you can prove is wrong, you do not override it silently. You report the broker's figure in column (e), then fix it with code B in column (f) and the correction in column (g). That paper trail is what keeps the correction from looking like a mismatch.
Wash sales on Form 8949: code W
A wash sale is a sale of stock or securities at a loss where you buy substantially identical stock or securities within 30 days before or after the sale. The loss is not deductible in the year of the sale; it is added to the basis of the replacement shares instead. On Form 8949 you still report the sale, enter code W in column (f), and enter the disallowed loss as a positive number in column (g), which brings column (h) back up by that amount.
Brokers flag wash sales within a single account and report the disallowed amount in box 1g of the 1099-B, so most of the time the code and the number come straight off the form. The gaps are yours to catch: a loss in one account and a repurchase in another, in an IRA, or in a spouse's account. The Schedule D instructions say the wash-sale rules apply to stock and securities, and generally to digital assets only when those assets are themselves stock or securities for tax purposes (tokenized securities). Keep notes on anything close to the line.
How crypto reaches Form 8949
Every sale, swap, or spend of crypto that produces a capital gain or loss belongs on Form 8949, one line per disposal, sorted by holding period like any stock. Trading one coin for another counts as a disposal of the first coin. So does paying for something with crypto.
Two things changed for 2025 returns. Reporting: digital-asset brokers now issue Form 1099-DA, so the IRS sees your crypto proceeds the same way it sees stock proceeds, and those sales go in the new boxes G through L rather than C or F. Basis: exchanges still cannot see what you paid for coins deposited from an outside wallet, so a 1099-DA will often show proceeds with no basis (Box H or K), putting the reconstruction burden on your own records. Self-custody disposals with no form at all go in Box I or L.
This page covers the form mechanics only. If you are sitting on years of unreported trades, the fix path and the exposure are different problems; our guide to what happens when you didn't report crypto on your taxes owns that in full. High-volume traders juggling hundreds of lots should also see the day trading tax debt guide for the aggregation and estimated-tax angles.
How Form 8949 flows to Schedule D
Each box gets its own page, and each page has a totals row at the bottom. The instructions direct each box's totals to a specific line of Schedule D so the IRS can see the three groups separately: basis reported, basis not reported, and no form at all.
| Form 8949 box | Schedule D line | What the line represents |
|---|---|---|
| (none; Exception 1 totals) | Line 1a | Short-term sales with basis reported and no adjustments, skipped on 8949 |
| A or G | Line 1b | Short-term, basis reported to the IRS |
| B or H | Line 2 | Short-term, basis not reported to the IRS |
| C or I | Line 3 | Short-term, no 1099-B or 1099-DA |
| (none; Exception 1 totals) | Line 8a | Long-term sales with basis reported and no adjustments, skipped on 8949 |
| D or J | Line 8b | Long-term, basis reported to the IRS |
| E or K | Line 9 | Long-term, basis not reported to the IRS |
| F or L | Line 10 | Long-term, no 1099-B or 1099-DA |
From there Schedule D nets short-term against long-term, applies the $3,000 annual limit on net capital losses against other income, carries any excess loss forward, and sends the result to Form 1040. The companion instructions are at About Schedule D (Form 1040).
What happens if you leave Form 8949 off your return
An omitted Form 8949 does not get caught at filing. It gets caught later, by the Automated Underreporter (AUR) program, which assumes your basis was zero. The sequence is automated and runs in stages:
- Your return processes normally. It may even generate a refund. Document matching happens on a separate track, often more than a year after you file. Silence now proves nothing.
- The AUR match runs. The computer compares every 1099-B, 1099-DA, and 1099-S total reported under your Social Security number against your return and flags the gap.
- A CP2000 notice arrives, proposing additional tax computed on your full proceeds as if you paid nothing for the assets, plus interest and often a 20% accuracy-related penalty. You respond by the date printed on the notice.
- If you don't respond, a CP3219A Notice of Deficiency follows. That is your 90-day window to petition Tax Court before the proposed amount becomes final.
- The balance is assessed and moves to collections: a CP14 bill with roughly 21 days to pay, then escalating collection notices with real enforcement power behind them.
Here is what the zero-basis assumption does to real numbers. Say you sold $18,600 in crypto and stock across the year, a part-time trader's typical volume, and your documented cost basis was $15,900, for a true net gain of $2,700. Your exchange reported basis on only half the lots. If those sales never make it onto Form 8949, the CP2000 proposes tax on gain of $18,600 rather than $2,700, nearly seven times your actual profit.
If the proposed additional tax works out to, say, $4,100 (hypothetical), the 20% accuracy-related penalty adds roughly $820, and interest runs on top from the return's original due date. Respond with a completed Form 8949 documenting the $15,900 basis and the gain drops back to $2,700, the tax to a few hundred dollars, with the penalty typically falling away with it. Same trades; the only variable is whether the paperwork showed your side of the math. You can estimate the penalty and interest exposure with our IRS Penalty & Interest Calculator. If you want to see how the account activity looks from the IRS side, the IRS transcript codes guide explains the entries an AUR case leaves on your account transcript.
Left sales off a return, or already holding a CP2000 about them?
Every month an unreported year sits unfixed, interest keeps compounding on a balance calculated with zero basis. Get the year reviewed free by an experienced tax professional. We will tell you whether to amend, respond, or leave it alone.
How to fix a prior year with a missing Form 8949
The right fix depends on one question: has the IRS contacted you about that year yet?
- No notice yet: amend. File Form 1040-X with the completed Form 8949 and a corrected Schedule D attached. Amending before the AUR match runs means you set the numbers rather than the computer, and it usually heads off the accuracy-related penalty. If the corrected year leaves a balance you cannot pay, our guide to amending a return to reduce tax debt walks the whole path, including the payment options that follow.
- CP2000 in hand: respond to the notice. Do not file an amended return on top of it, which crosses wires inside the IRS. Attach the completed Form 8949 with your basis documentation to the CP2000 response by the printed date. If the corrected numbers still show tax due, see agreeing with a CP2000 you can't pay, and run the balance through our IRS payment plan calculator to see what a monthly arrangement would look like. If the IRS figures are wrong even after your correction, see how to disagree with a CP2000.
- Notice of Deficiency in hand: the 90-day clock is running and the stakes have changed. Get help before the window closes, because after it the zero-basis assessment becomes final and you are fixing it from the collections side. If you plan to call the IRS yourself, our 188-call study of IRS hold times shows which hours get picked up fastest.
How to complete Form 8949, step by step
- Sort every sale into its box. Check each 1099-B or 1099-DA to see whether basis was reported to the IRS, then group your sales: short-term lots in Part I (Box A, B, or C for securities; G, H, or I for digital assets) and long-term lots in Part II (Box D, E, or F; J, K, or L for digital assets). Use a separate Form 8949 page for each box that applies.
- Enter one row per lot. For each sale, fill in the description, the dates acquired and sold, the proceeds in column (d), and the cost basis in column (e), supplying your own documented basis wherever the broker left it blank.
- Apply adjustment codes where needed. Use column (f) for codes such as B (reported basis is incorrect), W (wash sale loss disallowed), or L (nondeductible loss), and put the dollar amount of the adjustment in column (g). Multiple codes go in alphabetical order with no separator.
- Subtotal each part and carry the totals to Schedule D. Total the columns for each box and move the subtotals to the matching Schedule D line (1b, 2, or 3 for short-term; 8b, 9, or 10 for long-term), where your overall capital gain or loss for the year is figured in aggregate.
- Attach statements and keep your basis records. If you aggregated trades on an attached statement with code M, include it with the return. Keep the documentation behind every basis number (trade confirmations, exchange exports, account statements) for at least three years after filing.
The official form, current instructions, and the complete code list are on the IRS's About Form 8949 page. As of October 2026 the current revision is the 2025 Form 8949 and instructions.
When you can handle Form 8949 yourself
Most people can complete Form 8949 on their own. The form is tedious rather than hard. Handle it yourself when your broker reported basis for everything, your software imports the 1099-B directly, and the only wrinkle is a wash sale the broker already flagged. Same answer if you are filing on time with a handful of missing-basis lots you can document from your own records.
Experienced help changes the picture in a narrower set of situations: multiple unfiled or unamended years of trading activity, a CP2000 or Notice of Deficiency already in hand with the response clock running, crypto basis scattered across dead exchanges and self-custody wallets, or a corrected year that still leaves a balance you cannot pay, where the order you fix things in (the reporting first, then penalties, then the balance) changes what you owe. The zero-basis math means the amounts at stake in those cases are usually multiples of the real gain, which is when a review pays for itself. If the balance is large enough that you are weighing the IRS Fresh Start program, start with the review; the reporting fix comes first.
Terms on Form 8949, decoded
- Cost basis: what you paid for the asset, including fees; the number subtracted from proceeds to find your actual gain or loss.
- Proceeds: the gross amount the sale brought in, which is what the broker reports to the IRS in every case.
- Covered vs. noncovered security: covered means the broker is required to track and report your basis to the IRS; noncovered means it reports proceeds only, and the basis is on you.
- Wash sale: selling stock or securities at a loss and buying substantially identical ones within 30 days before or after; the loss is disallowed now and added to the new shares' basis (code W).
- Form 1099-DA: the information return digital-asset brokers issue starting with 2025 sales; it feeds boxes G through L.
- Substitute statement: a broker's consolidated document that stands in for the official 1099-B form; it carries the same reporting weight.
- AUR (Automated Underreporter): the IRS matching program that compares third-party forms like the 1099-B against your return and generates CP2000 notices when they do not line up.
Form 8949 questions, answered
What are the IRS instructions for 8949 in plain English?
List each sale of a capital asset on its own row, with short-term sales (held one year or less) in Part I and long-term sales in Part II. Check the one box per page that matches how the sale was reported to you: A, B, or C for securities and G, H, or I for digital assets in Part I, and D, E, or F plus J, K, or L in Part II. Enter proceeds in column (d), basis in column (e), any adjustment code in column (f) with its amount in column (g), and the gain or loss in column (h). Carry each page's totals to the matching line of Schedule D.
What are the Form 8949 column (f) codes?
The 2025 instructions list eighteen codes: B (reported basis is incorrect), T (type of gain is incorrect), N (nominee), H (home-sale exclusion), D (accrued market discount), Q (qualified small business stock exclusion), X (DC Zone or qualified community asset exclusion), R (rollover of gain), W (wash sale), L (other nondeductible loss), E (selling expenses or option premiums not on the form), S (section 1244 stock loss), C (collectibles), M (multiple transactions on one row), O (any other adjustment), P (nonresident alien partnership interest), Z (Qualified Opportunity Fund deferral), and Y (previously deferred QOF gain). The table above gives what to enter in column (g) for each.
Can I skip Form 8949 and report directly on Schedule D?
Yes, for sales that meet Exception 1 in the instructions: your 1099-B or 1099-DA shows basis was reported to the IRS, it shows no wash-sale or disallowed-loss adjustments, the Ordinary box is not checked, you need no adjustment to the basis or type of gain, and no Qualified Opportunity Fund deferral is involved. Those totals go on Schedule D line 1a (short-term) or 8a (long-term). Any lot that fails one condition goes on Form 8949.
What do I do if my 1099-B shows no cost basis?
You still report the sale, and you supply the basis yourself in column (e). A blank basis box means the broker did not report basis to the IRS; it does not mean your basis is zero. Reconstruct it from trade confirmations, exchange history exports, or account statements. No column (f) code is needed for a lot whose basis was simply not reported. If you cannot document it, the IRS default position is a basis of zero, which taxes your entire proceeds as gain.
Does crypto have to go on Form 8949?
Yes. Every sale, trade, or spend of crypto that produces a capital gain or loss belongs on Form 8949, one line per disposal, sorted by holding period. For 2025 returns, digital assets use the new boxes G, H, and I (short-term) and J, K, and L (long-term), matched to the Form 1099-DA your exchange issues, and the instructions say not to use boxes C or F for them. Exchanges often cannot see what you paid for coins transferred in from other wallets, so keep your own acquisition records.
How is a wash sale reported on Form 8949?
Report the sale as usual, enter code W in column (f), and enter the disallowed loss as a positive number in column (g). The loss is not deductible that year; it is added to the basis of the replacement shares. Brokers report the disallowed amount in box 1g of the 1099-B when the repurchase happens in the same account, so the number usually comes straight off the form.
What happens if I don't file Form 8949 when it's required?
The IRS computer matches the proceeds your broker reported against your return, finds nothing, and treats the gap as unreported income. That usually produces a CP2000 notice proposing tax on your full proceeds with zero basis, plus a 20% accuracy-related penalty and interest. You can still respond with a completed Form 8949 showing your true gain, but you are now working on the IRS timeline instead of your own.
How do I fix a prior-year return that's missing Form 8949?
File an amended return on Form 1040-X with the completed Form 8949 and a corrected Schedule D attached. If the IRS has already sent a CP2000 for that year, do not amend; respond directly to the notice with the Form 8949 instead, by the response date printed on it. Fixing it before the IRS does almost always costs less than waiting for a notice that proposes tax on your gross proceeds.
Your next 24 hours
- Pull your consolidated 1099-B and every 1099-DA or exchange report and mark which lots show basis reported to the IRS and which show it blank. That split decides your boxes and your workload.
- Gather the basis evidence: trade confirmations, exchange exports, old account statements, and the return for any year you think sales were left off.
- If a prior year is unreported or a CP2000 is already sitting on your counter, get a free case review through the 2-minute form at claritytaxrelief.com/#consult or (888) 825-7779. Interest on a zero-basis balance compounds every month it waits. (The IRS's own explainer of the matching notice is at Understanding your CP2000 notice.)
This guide is general information, not tax or legal advice for your specific situation. Eligibility for IRS programs depends on individual facts and circumstances; no outcome is guaranteed.