1099-B Converter Free Preview
By Jakob Johnson ·

Form 8949 and Schedule D: What Your 1099-B Data Means

Your broker sends you a 1099-B. The IRS wants Form 8949 and Schedule D. Here's how the data flows from one to the other.

The Chain: 1099-B to Form 8949 to Schedule D

Tired of reading?

Upload your 1099-B PDF and get CSV/TXF in 30 seconds. Free preview, $4.99 to download.

Try free preview

Think of it as a pipeline:

  1. 1099-B — your broker reports every sale to you and the IRS
  2. Form 8949 — you list each transaction with proceeds, cost basis, and adjustments
  3. Schedule D — you summarize the totals from Form 8949

Schedule D is what actually gets attached to your tax return. Form 8949 is the supporting detail.

Form 8949: The Six Boxes (A Through F)

Form 8949 has two parts, each with three "boxes" depending on how the transaction was reported. Every row on the form sits in exactly one box — the box tells the IRS whether the broker already filed matching data and, if so, how much of it. Getting the box right matters because summary-entry rules and wash-sale treatment depend on it.

Box A — Short-Term, Basis Reported to IRS

The most common box. Covered short-term transactions where your broker sent a 1099-B to the IRS and that 1099-B included the cost basis. If you trade a regular taxable brokerage account at Schwab, Fidelity, or Robinhood, the bulk of your transactions land here. You can usually skip listing Box A rows individually on Form 8949 and use summary totals on Schedule D instead — as long as there are no adjustments.

Box B — Short-Term, Basis NOT Reported to IRS

Noncovered short-term transactions. The broker sent a 1099-B to the IRS but did not include cost basis (or is reporting basis you're not certain about). Common with stocks transferred between brokers, older lots where pre-2011 rules applied, or specific asset classes like single-name bonds. Every Box B row must be listed individually on Form 8949 — see our noncovered securities guide for how to fill in the basis yourself.

Box C — Short-Term, Form 1099-B Not Received

You sold a short-term asset but never received a 1099-B. Rare for typical brokerage activity, but it shows up with private-company stock, small over-the-counter trades, and some options positions. You're on the honor system to report it — and the IRS expects you to.

Box D — Long-Term, Basis Reported to IRS

The long-term analogue of Box A. Covered long-term transactions with basis reported. Same summary-entry rules apply: if there are no adjustments, you can roll Box D into a Schedule D summary line.

Box E — Long-Term, Basis NOT Reported to IRS

Long-term noncovered. Same idea as Box B but for assets held more than one year. Old stock from pre-2011 acquisitions (basis reporting wasn't required before then) often lands here, as do transferred-in lots where the receiving broker doesn't have reliable basis.

Box F — Long-Term, Form 1099-B Not Received

The long-term counterpart of Box C — you had a long-term sale but no 1099-B was issued. See the Box F deep dive below; this is where worthless stock, some crypto reporting, and private-company exits most often sit.

Form 8949 Box F: Long-Term Noncovered (When to Use It)

Box F confuses people because the requirement ("no 1099-B received") is unusual for mainstream brokerage activity. But several legitimate scenarios funnel into Box F every year, and putting the transaction in the wrong box is one of the easier ways to trigger an IRS matching notice (or miss a loss you were entitled to). Here's when Box F actually applies:

  • Worthless securities. A company you held long-term went to zero and no sale actually happened — no broker issued a 1099-B because there was no transaction. The IRS still lets you claim the loss, but it goes on Box F. See our guide to worthless stock and private-company shares on Form 8949 for the documentation requirements.
  • Private-company stock sales. You sold shares in a company that doesn't have a broker relationship — direct buybacks, tender offers handled by a transfer agent, or secondary market sales through platforms that don't issue 1099-Bs.
  • Some crypto dispositions before 1099-DA rules kick in. If you held crypto long-term and the exchange didn't issue a 1099-B (or issued only a 1099-MISC), the long-term sale belongs in Box F. See our crypto 1099-DA import guide for the new reporting landscape.
  • Over-the-counter bond sales where the broker didn't file 1099-B reporting.
  • Certain trust or estate distributions where the beneficiary sells an asset without receiving their own 1099-B.

Box F requires listing each transaction individually — you can't aggregate into a summary line because the IRS has no matching data to compare against. You still compute proceeds, cost basis, and gain/loss the same way; the box is just flagging "IRS has no 1099-B on file for this one."

"Schedule 8949" vs Form 8949 vs Schedule D — Clearing the Confusion

One of the most common search terms people type is "Schedule 8949" — which doesn't exist. The IRS doesn't publish anything called Schedule 8949. People land on that phrase because they're mentally bundling three things that show up on the same return:

  • Form 8949 — the actual IRS form where each capital-gain transaction is listed line by line
  • Schedule D — the IRS schedule that summarizes Form 8949 totals and combines them with other capital-gain items
  • "Schedule 8949" — an informal phrase people use when they mean "the 8949 + Schedule D filing bundle"

If you searched for "Schedule 8949," you're almost certainly looking for one of these three things:

  1. How to fill out Form 8949 line by line — covered in the column-by-column breakdown below.
  2. How Form 8949 feeds into Schedule D — that's what this post covers.
  3. Which adjustment codes (B, W, T, etc.) to use in column (f) — see the quick Form 8949 codes lookup table or the deeper adjustment codes reference.

The filing flow is fixed: 1099-B → Form 8949 → Schedule D → Form 1040 Line 7. There's no standalone "Schedule 8949" in that chain. Your broker reports transactions to you; you report each transaction on Form 8949; Schedule D adds them up; Form 1040 grabs the net number.

What Each Form 8949 Column Actually Holds

The form has eight columns, labeled (a) through (h). Each maps to data your broker already collected — but the form adds structure and, in a couple of places, its own vocabulary.

Column (a) — Description of property. The name or description of what you sold. Typically the ticker plus share count: "100 sh AAPL" or "50 sh VTSAX."

Column (b) — Date acquired. The original purchase date. Determines whether the sale is short-term (held one year or less) or long-term (held more than one year).

Column (c) — Date sold or disposed. The trade date of the sale.

Column (d) — Proceeds. Gross amount received from the sale, before commissions and fees.

Column (e) — Cost or other basis. What you originally paid, including purchase commissions. For covered lots the broker reports this to the IRS; for noncovered lots you supply it yourself.

Column (f) — Adjustment code. A letter telling the IRS why the reported numbers need modification. Most common: W (wash sale), B (basis reported by broker is incorrect), H (sale of main home exclusion). Many transactions have no code at all.

Column (g) — Adjustment amount. The dollar figure of the adjustment signalled by column (f). For a wash sale, it's the disallowed loss entered as a positive number. For a basis correction, it's the signed difference between the true basis and the broker-reported basis.

Column (h) — Gain or loss. Final calculated result: proceeds minus basis, plus or minus any adjustment. This is the number that rolls up to Schedule D.

How Each 1099-B Field Maps

1099-B Field Form 8949 Column
Description / security name Column (a)
Date acquired Column (b)
Date of sale Column (c)
Proceeds Column (d)
Cost or adjusted basis Column (e)
Wash sale loss disallowed Column (g) with code W in (f)
Net gain or loss Column (h)

The mapping is nearly one-to-one. The main thing Form 8949 adds is the adjustment code in column (f). Your 1099-B may say "wash sale" in plain language; the form wants the letter W. For a one-screen scan of every letter, see the Form 8949 codes lookup table; for the full mechanics and worked examples, see the adjustment codes reference or our interactive Form 8949 code lookup tool.

Wash Sales on Form 8949

A wash sale happens when you sell at a loss and buy the same (or substantially identical) security within 30 days before or after. The IRS disallows the loss for the current year — it gets deferred to the basis of the replacement shares, not eliminated.

On Form 8949, a wash sale is reported with code W in column (f) and the disallowed loss in column (g) as a positive number. If you had a $500 loss but $200 was disallowed, you'd show W in (f), 200 in (g), and −$300 in (h).

Wash sales are one of the most common sources of Form 8949 errors because people either forget them or misread how the adjustment flows through the columns. See our wash sales on Form 8949 walkthrough for the edge cases (sold all shares, multiple reopens, cross-account triggers).

Schedule D: The Summary

Schedule D takes the totals from each Form 8949 box:

  • Line 1a: Total short-term from Box A
  • Line 1b: Total short-term from Box B
  • Line 8a: Total long-term from Box D
  • Line 8b: Total long-term from Box E

The net short-term gain/loss and net long-term gain/loss are then combined for your total capital gain or loss.

Why This Matters for Tax Software

When you import a TXF file into TurboTax, each transaction is tagged with the correct code:

  • Code 321 = Short-term (goes to Form 8949 Part I)
  • Code 323 = Long-term (goes to Form 8949 Part II)

The tax software handles the Box A/B/D/E categorization automatically based on whether the cost basis was reported to the IRS.

The $3,000 Capital Loss Limit

If your total capital losses exceed your capital gains, you can deduct up to $3,000 of net capital loss against ordinary income ($1,500 if married filing separately). Losses beyond that carry forward to future years.

This is calculated on Schedule D, Lines 16 and 21. Getting your 1099-B data right is essential for this calculation.

Difference Between Schedule D and Form 8949

The difference between Schedule D and Form 8949 is straightforward: Form 8949 is the line-by-line detail; Schedule D is the summary. Every individual stock or option sale from your 1099-B gets reported on Form 8949 with proceeds, cost basis, and gain or loss. Schedule D then takes the totals from Form 8949 and combines them with other capital-gain items (K-1 distributions, capital gain dividends, carryover losses from prior years) to compute your overall capital gain or loss for the year.

You file both. Form 8949 is the supporting schedule that justifies the numbers on Schedule D. Schedule D itself is what flows to Form 1040 line 7 — ultimately determining whether your investment activity adds to your taxable income or reduces it via the $3,000 capital loss limit.

Schedule D vs. Form 8949 isn't an either/or question — they're two layers of the same report. If you have any 1099-B activity, both forms get filed.

Schedule D vs Form 8949 at a Glance

Form 8949 Schedule D
Purpose Line-by-line detail of every capital-asset sale Summary of gains/losses for the year
What you list Each individual sale — proceeds, basis, gain/loss, adjustments Totals per Form 8949 box + carryover + other capital items
Line count As many rows as you have transactions ~20 lines total, with subtotals per holding period
Totals or detail Detail only (though summary totals allowed for covered-no-adjustment lots) Totals and net amounts
Flows to Schedule D (box totals roll up) Form 1040 Line 7
Required when Any transaction has an adjustment (W, B, T, etc.) or is noncovered Always, if you had any capital gains or losses

The table is mechanical: pick a row of your 1099-B, it goes on Form 8949 first. Sum all your Form 8949 rows by box, the totals go on Schedule D. Sum Schedule D Parts I and II, the net number goes on Form 1040.

A Worked Example: 3 Trades From 1099-B to Schedule D

Say your 1099-B has three transactions — all short-term, all covered (Box A), all reported basis correctly to the IRS:

Ticker Acquired Sold Proceeds Basis Gain/loss
AAPL 2024-03-15 2024-09-22 $2,100 $1,500 +$600
NVDA 2024-02-05 2024-11-18 $4,800 $3,200 +$1,600
TSLA 2024-04-10 2024-10-02 $1,900 $2,300 −$400
Totals $8,800 $7,000 +$1,800

On Form 8949 Part I, each row goes on its own line in Box A (short-term, basis reported). Three rows, three adjustments of zero (column g blank), three entries in column (h).

On Schedule D Part I, you have two options:

  • Summary mode (since all Box A with no adjustments): Line 1a gets the totals — $8,800 proceeds, $7,000 basis, $0 adjustments, $1,800 gain — without listing individual rows on Form 8949 at all.
  • Full mode (safer if you want every row itemized): Line 1b gets the Form 8949 Box A totals.

Either way, Schedule D Line 7 (net short-term) shows +$1,800. If you have no long-term activity, that $1,800 flows to Schedule D Line 16 (the overall net), and from there to Form 1040 Line 7 as your net capital gain.

Now add one wash sale to the picture — say the TSLA loss of −$400 was disallowed because you rebought TSLA 20 days later. On Form 8949, the TSLA row gets Code W in column (f), +$400 in column (g), and the gain/loss in column (h) becomes $0. Summary mode no longer works (Code W is an adjustment), so you must list all three rows on Form 8949 and reference the Form 8949 totals on Schedule D Line 1b instead. New net: +$2,200.

Common Mistakes Mixing Schedule D and Form 8949

Three errors cost filers real money every season:

  1. Using summary mode when you shouldn't. If any Box A or D row has an adjustment (wash sale, basis correction, code T), the whole box loses summary-mode eligibility. One wash sale means every row in that box must go on Form 8949. People miss this and the IRS auto-notice (CP2000) flags the discrepancy months later.
  2. Filing Form 8949 without Schedule D. Form 8949 is a supporting schedule — it does nothing on its own. The totals must land on Schedule D to reach your 1040. TurboTax and TaxAct generate Schedule D automatically from Form 8949 imports; if you're filing by hand, you have to remember to attach both.
  3. Skipping Form 8949 because "all my trades are covered." Technically correct for summary mode — but you still file Schedule D. Saying "I don't need Form 8949 so I won't file anything" misses the Schedule D requirement entirely.

If you just want both documents generated cleanly from your 1099-B, see the Schedule D vs Form 8949 converter landing — one upload produces both.

FAQ

Schedule D vs. Form 8949 — which do I need?

Both. Form 8949 lists each individual transaction (every stock, ETF, or option sale) and Schedule D summarizes the totals. The IRS requires both whenever you have capital gain or loss transactions — Schedule D references Form 8949 line totals, so you can't file one without the other.

What is the difference between Schedule D and Form 8949?

Form 8949 is the detail report — one line per transaction with proceeds, cost basis, holding period, and adjustments. Schedule D is the summary that aggregates Form 8949 totals (short-term Box A/B/C, long-term Box D/E/F) and computes your net capital gain or loss for the year. Form 8949 backs up Schedule D; Schedule D backs up Form 1040.

Do I file both Schedule D and Form 8949?

Yes, in almost all cases. Schedule D is mandatory if you have any capital gain or loss to report on your 1040. Form 8949 is the supporting schedule that backs up Schedule D's totals. The one common exception: covered transactions (Box A or D) with no adjustments can be reported as summary totals on Schedule D without listing each row on Form 8949 — but you still file Schedule D itself.

Does every 1099-B transaction need to be on Form 8949?

Not always. If a transaction is covered (Box A or Box D — basis reported to IRS) and has no adjustments, you can roll it into a summary line on Schedule D and skip Form 8949 for that row. But noncovered transactions (Box B, E, C, F) and any transaction with adjustments — wash sales, code corrections, missing basis — must be listed individually on Form 8949 with the appropriate adjustment code.

Is Schedule D the same as Form 8949?

No. Schedule D is the summary form that totals your capital gains and losses; Form 8949 is the detail form that lists each individual sale. You file both — Schedule D references the totals from Form 8949. The informal phrase "Schedule 8949" is a mash-up of the two; there is no IRS form actually called "Schedule 8949."

Can I file Schedule D without Form 8949?

Only in one narrow case: every transaction is covered (Box A or D, basis reported to the IRS) and none have adjustments. Then Schedule D lines 1a and 8a accept summary totals directly. If even one row needs a wash-sale code, basis correction, or code T/B/W, that whole box must be listed line-by-line on Form 8949.

What goes on Schedule D vs Form 8949?

Individual transactions go on Form 8949 — ticker, dates, proceeds, basis, adjustments, gain/loss — one row per sale. Totals per Form 8949 box go on Schedule D, which also nets short-term against long-term, adds capital-gain dividends (Line 13), subtracts prior-year carryover losses (Line 14), and computes the final capital-gain number that flows to Form 1040 Line 7.

Get It Right the First Time

Errors on Form 8949 trigger IRS matching notices (CP2000). The IRS receives your 1099-B data directly from your broker and compares it to what you report. Mismatches — even small ones — generate automated letters.

Using a clean conversion, whether CSV for your CPA or TXF for tax software, eliminates transcription errors and ensures your Form 8949 matches what the IRS already has on file.

JJ

By Jakob Johnson

Writes guides on 1099-B tax filing, broker import issues, and Form 8949 / Schedule D reporting for 1099-B Converter.

Ready to convert your 1099-B?

Upload a PDF and get CSV, TXF, and Excel in seconds. Free preview — $4.99 to download.

Convert — Free Preview, $4.99 to Download