1099-B Converter Free Preview
By Jakob Johnson ·

Schedule D vs Form 8949: The Definitive Guide for 1099-B Filers

If you're searching "Schedule D vs Form 8949," you're asking the wrong question. They aren't alternatives. You file both — Form 8949 lists every individual transaction from your 1099-B, and Schedule D summarizes the totals. Miss either one and your return is incomplete.

This post explains what each form does, how they relate, and exactly where the numbers from your 1099-B end up. If you'd rather skip the reading and just generate both forms from your PDF, use the dedicated Schedule D + Form 8949 generator — upload, get both files, done in 30 seconds.

Schedule D vs Form 8949: Key Differences

Tired of reading?

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

Try free preview

The short answer: Form 8949 is where every 1099-B transaction gets listed row by row — dates, proceeds, cost basis, and wash-sale codes like W. Schedule D is the one-page summary that rolls those Form 8949 totals into your net capital gain or loss and sends it to Form 1040 Line 7. You file both, not one or the other — Form 8949 proves the detail, Schedule D reports the result.

IRS Schedule D vs. Form 8949: Comparison Table

Form 8949 Schedule D
Purpose Per-transaction detail Year-level summary
Level of detail Every row from your 1099-B Totals by box (A–F)
Source of numbers Your 1099-B transactions Form 8949 totals
Attached to Schedule D Form 1040
Required when You have individual transactions with dates and basis You have any capital gains or losses
Parts Part I (short-term) / Part II (long-term) Part I (short-term) / Part II (long-term) / Part III (summary)
Goes to 1040 line Indirect (via Schedule D) Line 7

The pattern is hierarchical: 1099-B → Form 8949 → Schedule D → Form 1040 Line 7. Each level summarizes the one above it.

Difference Between Schedule D and Form 8949

Form 8949 is the detail (row-by-row transactions). Schedule D is the summary (totals by category). Your 1099-B feeds into Form 8949 first, then Form 8949's totals roll up into Schedule D.

Put another way: Form 8949 proves the math, Schedule D reports the result. The IRS needs both — the proof and the result — for any return with capital gains or losses. The only time you can skip Form 8949 is a narrow exception we cover below, and it doesn't apply to most 1099-Bs.

What Form 8949 Does

Form 8949 is where you list every capital gain and loss transaction individually. Each row has: description of the property, date acquired, date sold, proceeds, cost basis, any adjustments, and the resulting gain or loss.

It's split into two parts:

  • Part I — Short-Term (held one year or less)
  • Part II — Long-Term (held more than one year)

Each part has three boxes (A, B, C for short-term; D, E, F for long-term) based on whether the broker reported basis to the IRS. For a full breakdown of which box applies when, see Form 8949 and Schedule D: what your 1099-B data means.

What Schedule D Does

Schedule D is the capital gains summary attached to your Form 1040. It has two parts that mirror Form 8949:

  • Part I — Short-Term Capital Gains and Losses (rolls up 8949 Part I totals)
  • Part II — Long-Term Capital Gains and Losses (rolls up 8949 Part II totals)

For each part, you enter totals by box type (A/B/C or D/E/F): total proceeds, total cost basis, total adjustments, total gain or loss. Schedule D then combines short-term and long-term into your net capital gain or loss for the year (Part III), which flows to Form 1040 Line 7.

That's the number that actually changes your tax bill. Form 8949's job is to prove it's correct.

Do I Need Both Form 8949 and Schedule D?

Yes, in nearly every case. If your 1099-B has any Box B, C, E, or F transactions — or any Box A/D row with a wash sale (code W), corrected basis (code B), or other adjustment — Form 8949 is mandatory and Schedule D picks up its totals. The one narrow exception: if every 1099-B row is Box A or Box D with zero adjustments, you can enter totals straight onto Schedule D Lines 1a and 8a and skip Form 8949. That shortcut disappears the moment a single wash sale shows up.

Form 8949 Codes: Boxes A–F Explained

Each transaction on Form 8949 lands in one of six boxes, determined by two things: whether it was short-term or long-term, and whether your broker reported the cost basis to the IRS.

Box Part Term Broker reported basis? 1099-B section
A Part I Short-term Yes (covered) "Basis reported to IRS"
B Part I Short-term No (noncovered) "Basis not reported to IRS"
C Part I Short-term Not reported on 1099-B N/A (private sales, some inherited lots)
D Part II Long-term Yes (covered) "Basis reported to IRS"
E Part II Long-term No (noncovered) "Basis not reported to IRS"
F Part II Long-term Not reported on 1099-B N/A

Covered vs. noncovered is the vocabulary your 1099-B uses. Covered means the broker sent the cost basis to the IRS; noncovered means you're on your own. For noncovered lots, you have to compute the basis and prove it. See 1099-B noncovered securities: fixing missing cost basis for how.

Getting the box wrong is one of the most common 1099-B filing mistakes. The box determines which Schedule D line picks up the rollup — a short-term covered sale dropped into Box D (long-term) corrupts both short-term and long-term totals, and the IRS will notice.

Your 1099-B Goes Into Both — Here's the Flow

Picture a 1099-B with three trades. Here's the pipeline end-to-end:

 1099-B (from your broker)
   ├─ Trade 1: AAPL, short-term, $1,000 gain, Box A
   ├─ Trade 2: MSFT, long-term, $500 loss, Box D
   └─ Trade 3: GOOG, short-term, $200 gain (wash sale), Box A

 Form 8949
   Part I (Short-Term)
     Box A: Trade 1 row, Trade 3 row (with wash-sale adjustment code W)
   Part II (Long-Term)
     Box D: Trade 2 row

 Schedule D
   Part I, Line 1a (Box A totals): proceeds, basis, adjustments, gain/loss
   Part II, Line 8a (Box D totals): proceeds, basis, adjustments, gain/loss
   Part III: net capital gain/loss → Form 1040 Line 7

Every number on Schedule D must be traceable back to specific rows on Form 8949, which must match rows on your 1099-B. If they don't reconcile, the IRS computer will kick back a CP2000 notice.

The one shortcut: for Box A and Box D transactions with no adjustments, the IRS lets you enter totals directly on Schedule D Lines 1a and 8a without filing Form 8949 at all. See 1099-B summary totals vs individual rows for when that applies and when it doesn't. Any wash sale, any adjustment to basis, any mismatch with the 1099-B — and you're back to listing every row on Form 8949.

Worked Example: Three Trades End-to-End

Concrete numbers make the form-to-form flow much clearer. Imagine your 1099-B shows three sales for the tax year:

Trade Security Date Acquired Date Sold Proceeds Cost Basis Wash Sale Box
1 100 sh. AAPL 2026-02-10 2026-08-15 $18,500 $16,000 A (short-term, covered)
2 50 sh. MSFT 2024-03-20 2026-09-01 $22,000 $19,500 D (long-term, covered)
3 75 sh. GOOG 2026-04-05 2026-11-12 $12,000 $13,500 $300 disallowed A (short-term, covered, code W)

Step 1 — Form 8949 rows.

Form 8949 Box Description Date Acq. Date Sold Proceeds Basis Code Adjustment Gain/Loss
Part I, Box A 100 sh. AAPL 02/10/2026 08/15/2026 18,500 16,000 0 2,500
Part I, Box A 75 sh. GOOG 04/05/2026 11/12/2026 12,000 13,500 W +300 -1,200
Part II, Box D 50 sh. MSFT 03/20/2024 09/01/2026 22,000 19,500 0 2,500

Trade 3 had a $1,500 economic loss, but $300 of it was disallowed under the wash sale rule. The reportable loss on Form 8949 is $1,200 ($1,500 - $300 disallowed), and the adjustment column shows +$300 with code W.

Step 2 — Form 8949 box totals (the rollup).

  • Part I, Box A (short-term covered): Proceeds $30,500 | Basis $29,500 | Adjustments +$300 | Gain $1,300
  • Part II, Box D (long-term covered): Proceeds $22,000 | Basis $19,500 | Adjustments $0 | Gain $2,500

Step 3 — Schedule D picks up the totals.

Schedule D Line Source Proceeds Basis Adjustments Gain/Loss
Line 1b (Box A totals) Form 8949 Part I Box A 30,500 29,500 300 1,300
Line 8b (Box D totals) Form 8949 Part II Box D 22,000 19,500 0 2,500
Line 7 (Part I net short-term) 1,300
Line 15 (Part II net long-term) 2,500
Line 16 (total capital gain) 3,800

Step 4 — Form 1040.

Schedule D Line 16 ($3,800) flows to Form 1040 Line 7. That's the only number that touches your tax calculation directly. Everything above it is documentation.

Notice the short-term gain ($1,300) is taxed as ordinary income, while the long-term gain ($2,500) gets the preferential capital gains rate. That's why getting the term right on Form 8949 matters — it changes the tax owed, not just the paperwork.

Edge Cases That Don't Fit the Form 8949 → Schedule D Pipeline

A few transaction types intentionally bypass this flow because the IRS treats them differently:

Section 1256 contracts (futures, broad-based index options). These don't go on Form 8949 at all. Futures contracts and broad-based index options like SPX, NDX, and RUT are reported on Form 6781 with the 60/40 long-term/short-term split. The aggregate gain or loss from Form 6781 flows to Schedule D Line 11 (Part II) and Line 4 (Part I), bypassing Form 8949 entirely. If you have a Section 1256 statement from your broker, see the broker-specific guides for active traders.

Mark-to-market (Section 475) elected traders. If you elected Section 475(f) trader-tax-status mark-to-market accounting in a prior year, your trades are reported as ordinary income on Form 4797, not on Form 8949 or Schedule D. Wash sale rules don't apply. Losses are unlimited (not capped at $3,000) but also not subject to long-term capital gains rates. This election has to be in place before the tax year begins.

Crypto on 1099-DA. Starting tax year 2026, crypto exchanges issue Form 1099-DA instead of mixing crypto into 1099-B. The transactions still flow through Form 8949 and Schedule D the same way, but they appear in their own section with the digital-asset designation. See the 1099-DA crypto import guide for the new form's specifics.

Wash sales across accounts and IRAs. If a wash sale occurs because you bought a replacement security in a different account (your IRA, your spouse's account), the disallowed loss isn't just deferred — it's permanently lost when the replacement is in a non-taxable account. The broker can't detect this; you have to manually adjust the basis. See the understanding wash sales walkthrough for the cross-account mechanics.

Inherited and gifted stock. Inherited shares get a stepped-up basis to FMV on the date of death (code D in the adjustment column on Form 8949). Gifted shares carry over the giver's basis (code C). Both go on Form 8949 with the appropriate code in Column (f) and explanatory adjustments in Column (g).

RSU and ESPP basis corrections. When your broker reports the basis as the discounted purchase price (or the strike-price-only basis on RSUs), it's wrong — the correct basis includes the W-2 income amount that was already taxed. You have to manually adjust each row with code B and the corrected basis. See RSU cost basis fix and ESPP cost basis double-counted fix for the full mechanics.

State Tax Returns: Schedule D Counterparts

The federal Form 8949 → Schedule D pipeline is only half the story for most US filers. Forty-three states have a personal income tax, and most of them piggyback on the federal capital gains number (Form 1040 Line 7) — meaning you don't fill out a separate state Schedule D, but your state taxable income inherits the same gain or loss you computed federally.

A few states are different and worth knowing:

  • California (CA): copies the federal Schedule D rollup onto California Form 540, Schedule D. CA does not give preferential treatment to long-term capital gains — they're taxed as ordinary income at CA rates (up to 13.3%). You don't get the federal 0/15/20% breakpoint.
  • New York (NY): starts from federal Schedule D, but if you're a part-year resident or have NY-source vs out-of-state gains, you have to allocate. Most full-year NY residents just pick up the federal number.
  • New Hampshire (NH) and Tennessee (TN): no broad income tax. NH has the I&D Tax on interest and dividends; TN's Hall Income Tax ended in 2021. Capital gains have no state-level entry in either.
  • Texas, Florida, Washington, Nevada, South Dakota, Wyoming, Alaska: no personal income tax. Federal Schedule D is all you file.

If you moved states mid-year, allocate gains by date of sale: trades closed while resident in State A belong to State A; trades closed while resident in State B belong to State B. The federal Schedule D doesn't care; the state schedules do.

Common Mistakes

Filing only Schedule D with no Form 8949. If you have any Box B, C, E, or F transactions, or any adjustments on Box A/D rows, Form 8949 is mandatory. Skipping it looks like you're hiding detail.

Ignoring Form 8949 adjustment codes. Wash sales (code W), nondeductible losses (code L), disallowed losses on related-party sales (code L), and corrected basis (code B) all go in Column (f) with amounts in Column (g). Leave them off and Schedule D's totals will be wrong. The Form 8949 codes lookup table covers every letter and column (g) sign in one scroll; the full adjustment codes reference digs into the mechanics.

Mis-matching box letters. A transaction's box is determined by what the 1099-B reports, not what you wish it reported. Box A means the broker reported basis; Box B means they didn't. Get this wrong and your Schedule D rollup sits in the wrong line.

Double-counting. Each transaction gets reported once. It goes on Form 8949, then its total flows into Schedule D. You don't add the transaction to Schedule D separately.

Forgetting noncovered securities. Noncovered basis (the broker didn't report it to the IRS) goes in Box B or E. You have to compute the basis yourself and prove it.

What This Means in Practice

If you have a clean 1099-B with all-covered, no-adjustment transactions, you can get away with Schedule D alone — the summary-totals shortcut. The moment wash sales, noncovered lots, or basis corrections appear, you owe the IRS a full Form 8949 listing every row.

For most active traders with 100+ transactions, that's a tedious pile of data entry. The point of our converter is to do exactly that rollup: we parse your 1099-B PDF, produce a CSV or TXF with every row tagged to the correct box, and hand you a file your tax software imports directly. The summary totals on Schedule D then come from real, audit-ready detail — not typed approximations.

FAQ

What's the difference between Schedule D and Form 8949?

Form 8949 lists every individual capital-gain transaction row-by-row, with dates, proceeds, cost basis, and adjustments. Schedule D summarizes the totals by category (short-term covered, long-term noncovered, and so on) and carries the net gain or loss to Form 1040 Line 7. Form 8949 is the detail; Schedule D is the summary.

Do I need to file both Form 8949 and Schedule D?

In almost every case, yes. Schedule D is required any time you have capital gains or losses. Form 8949 is required whenever you have individual transactions that need row-level reporting — which includes any Box B, C, E, or F transaction and any Box A/D transaction with an adjustment. Only Box A/D transactions with zero adjustments qualify for the Schedule D summary-totals shortcut.

Can I skip Form 8949 if I have a 1099-B?

Only for Box A and Box D rows (broker reported basis to the IRS) with no adjustments. You enter the totals directly on Schedule D Lines 1a and 8a. Any wash sale, corrected basis, or noncovered lot disqualifies you and puts you back on Form 8949.

Where do 1099-B transactions go on Schedule D?

They don't go on Schedule D directly — they flow through Form 8949 first. Form 8949 totals by box (A/B/C for short-term, D/E/F for long-term) then roll up into Schedule D Part I (short-term) and Part II (long-term). Schedule D Part III combines the two into your net capital gain or loss.

Does Schedule D include short-term and long-term gains?

Yes. Part I handles short-term (held one year or less) and Part II handles long-term (held more than one year). Part III nets them together. The split matters because short-term gains are taxed as ordinary income, while long-term gains get the preferential 0/15/20 percent rate.

Do wash sales go on Form 8949 or Schedule D?

Form 8949. Each wash-sale row goes in Column (f) with code W, and the disallowed loss amount goes in Column (g). The adjustment is already baked into the total that rolls up to Schedule D — you don't add it again at the Schedule D level.

What happens if my Form 8949 totals don't match Schedule D?

The IRS computer will flag it and send you a CP2000 notice asking for a reconciliation. The match has to be exact, down to the dollar, for proceeds, cost basis, adjustments, and gain/loss — and it has to match your 1099-B too. If you're using tax software, it handles this automatically; if you're filing by hand or using summary totals, double-check the rollup before you send it.

What's the order: 1099-B, Form 8949, or Schedule D?

Your broker sends you a 1099-B at the start of the year. You use the 1099-B to fill out Form 8949 row by row. Form 8949's box totals roll up into Schedule D. Schedule D's net gain or loss flows to Form 1040 Line 7. Every step summarizes the step above it, so a mistake in Form 8949 propagates all the way to your tax bill.

Bottom Line

Schedule D and Form 8949 aren't competing options — they're two layers of the same report. Form 8949 is the row-level detail that proves your numbers, Schedule D is the summary that changes your tax bill, and both are built from the same 1099-B you got in the mail.

If you have a large or complicated 1099-B — wash sales, noncovered lots, RSU/ESPP adjustments, hundreds of rows — the work is in getting Form 8949 right. Schedule D follows automatically. Get the detail layer clean and the summary takes care of itself.


Ready to skip the manual entry? Convert your 1099-B free — we extract every row, tag each transaction to the right Form 8949 box, and produce a CSV, TXF, or Excel that's ready for TurboTax, TaxAct, or H&R Block. Your Schedule D rollup will match to the dollar.

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