September 11, 2026 · BriMindInvest Research Team · 11 min read · Tax Strategy
Every stock, ETF, or crypto sale you make in a taxable account has to show up on your tax return — and the IRS wants it on two specific forms: Form 8949 and Schedule D. Here's exactly how they work, how they connect, and how to avoid the mistakes that trigger IRS notices.
Form 8949 ("Sales and Other Dispositions of Capital Assets") is where every individual sale gets its own row: what you sold, when you bought it, when you sold it, what you received, what your cost basis was, and any adjustment needed. Think of it as the itemized receipt.
Schedule D ("Capital Gains and Losses") is the summary page. It totals up everything from your Form(s) 8949 — separately for short-term and long-term — nets your gains against your losses, applies the $3,000 ordinary-income offset if you have a net loss, and carries the final number to Form 1040. If you have zero adjustments across the board, Schedule D can sometimes pull totals directly from your 1099-B without an 8949 at all (see the FAQ below).
1099-B (what your broker reports) → Form 8949 (your itemized, corrected version of it) → Schedule D (the totals) → Form 1040 (your actual tax bill).
Form 8949 has three parts for short-term sales (Part I, boxes A/B/C) and three for long-term (Part II, boxes D/E/F). You'll often need multiple copies of the form if your sales span more than one box.
| Box | Holding period | Basis reported to IRS? | Typical case |
|---|---|---|---|
| A | Short-term (≤ 1 yr) | Yes — covered | Most stock/ETF sales via a US broker |
| B | Short-term (≤ 1 yr) | No — noncovered | Old shares or transferred-in positions |
| C | Short-term (≤ 1 yr) | Not on a 1099-B | Crypto, private stock, no 1099-B issued |
| D | Long-term (> 1 yr) | Yes — covered | Most stock/ETF sales via a US broker |
| E | Long-term (> 1 yr) | No — noncovered | Old shares or transferred-in positions |
| F | Long-term (> 1 yr) | Not on a 1099-B | Crypto, private stock, no 1099-B issued |
Say you bought 50 shares of a stock for $4,000 on March 3, 2025, and sold all 50 shares for $5,500 on November 12, 2026. Your broker reported this as a covered, long-term sale (Box D). Here's how it lands on Form 8949:
| Column | What it means | This example |
|---|---|---|
| (a) Description | What you sold | 50 sh. XYZ Corp |
| (b) Date acquired | Purchase date | 03/03/2025 |
| (c) Date sold | Sale date | 11/12/2026 |
| (d) Proceeds | What you received | $5,500 |
| (e) Cost basis | What you paid | $4,000 |
| (f)/(g) Adjustment | Code + amount, if any | None needed |
| (h) Gain/loss | (d) − (e) + (g) | $1,500 gain |
Since the position was held more than a year, this $1,500 gain flows into the long-term section of Schedule D and is taxed at 0%, 15%, or 20% depending on your total taxable income — not at your ordinary income rate.
Most sales need no adjustment at all — column (h) is simply proceeds minus basis. But these codes come up often enough to know:
| Code | Meaning | Effect on gain/loss |
|---|---|---|
| W | Wash sale — loss disallowed | Adds back the disallowed loss (positive adjustment) |
| B | Basis reported to you was wrong | Corrects the basis you actually paid |
| O | Multiple codes apply to one transaction | See attached explanation statement |
| T | 1099-B shows type not matching this box | Reclassifies short/long-term as needed |
| H | Home sale — gain qualifies for exclusion | Excludes some or all of the gain (see §121) |
For the full list of adjustment codes (there are over a dozen for edge cases like Section 1256 contracts and installment sales), see the IRS Instructions for Form 8949 — link at the bottom of this guide.
The IRS treats crypto as property: every sale, swap, or purchase made with crypto is a taxable event reported on Form 8949, exactly like a stock sale. New broker-level Form 1099-DA reporting for crypto exchanges is phasing in starting with the 2025 tax year, but initially reports proceeds only — most exchanges do not yet report your cost basis to the IRS. That means you should keep your own transaction records (or use a crypto tax-lot tool) and expect to report these sales in Box C or F ("not reported on a 1099-B") until basis reporting catches up.
Form 8949 and Schedule D aren't optional paperwork — they're how the IRS reconciles what your broker told them against what you report, and mismatches are one of the most common triggers for automated notices. The good news: for the vast majority of investors with covered, unadjusted transactions, tax software (or a downloadable 8949 attachment from your broker) does the heavy lifting automatically.
The places that actually require your attention are the exceptions: noncovered basis you have to supply yourself, wash sales that cross accounts your broker can't see, employer stock basis adjustments, and crypto sales without broker-reported basis. Get those right and the rest of the form is arithmetic.
Connect your real brokerage account and our Portfolio Analysis tool tracks every realized short- and long-term gain, flags wash sales, and estimates your tax bill — free for 14 days, no credit card required.
14-day free trial · No credit card required · Cancel anytime