Form 8949 and Schedule D Filing Tips

Every year, investors leave money on the table — or trigger unnecessary IRS scrutiny — because they misreport capital gains and losses on Form 8949 and Schedule D. The errors are predictable: wrong box checks, missed wash-sale adjustments, and basis discrepancies that don't match what the broker reported. The practical antidote is a systematic, line-by-line reconciliation process that catches mistakes before you file.
TL;DR: Form 8949 reports every individual sale of a capital asset. Schedule D aggregates those transactions into net gains or losses and applies preferential long-term rates (0%, 15%, or 20%). Getting these two forms right — especially the adjustment codes and box categories — is the difference between a clean filing and an IRS notice.
What Form 8949 and Schedule D Actually Do (And Why Both Exist)
Form 8949 is the transaction-level detail form. Every sale or disposition of a capital asset gets its own line: date acquired, date sold, proceeds, cost basis, and any adjustments. You attach it to Schedule D.
Schedule D is the aggregation form. It pulls subtotals from Form 8949, separates short-term from long-term, nets gains against losses, and determines whether you owe tax at ordinary rates or preferential capital gains rates.
The point is: Form 8949 is where errors happen (wrong basis, missing adjustment codes, incorrect box checks). Schedule D is where those errors compound into the wrong tax bill.
Key terms you need to know:
- Cost basis — your original purchase price plus commissions, fees, and reinvested dividends. This goes in Form 8949, column (e).
- Short-term gain or loss — asset held one year or less, taxed at ordinary income rates (10%–37% for 2025).
- Long-term gain or loss — asset held more than one year (366+ days), taxed at preferential rates of 0%, 15%, or 20% depending on taxable income.
- Wash sale — a disallowed loss triggered when you buy a substantially identical security within a 61-day window (30 days before through 30 days after the sale). The disallowed loss gets added to the replacement security's basis.
- Net capital loss deduction limit — you can deduct up to $3,000 per year ($1,500 if married filing separately) of net capital losses against ordinary income. Excess carries forward indefinitely.
The Box-Check System (Where Most Mistakes Start)
Form 8949 uses a box-check system to categorize every transaction. Getting the wrong box means your form won't reconcile with what the IRS already has from your broker's 1099-B (or the new 1099-DA for digital assets).
Short-term transactions (held one year or less):
| Box | When to Check | Basis Reported to IRS? |
|---|---|---|
| A | 1099-B shows basis was reported to IRS | Yes |
| B | 1099-B shows basis was not reported to IRS | No |
| C | No 1099-B received at all | N/A |
| G | 1099-DA (digital assets), basis reported | Yes |
| H | 1099-DA (digital assets), basis not reported | No |
| I | Digital asset transactions, no 1099-DA | N/A |
Long-term transactions (held more than one year):
| Box | When to Check | Basis Reported to IRS? |
|---|---|---|
| D | 1099-B shows basis was reported to IRS | Yes |
| E | 1099-B shows basis was not reported to IRS | No |
| F | No 1099-B received at all | N/A |
| J | 1099-DA (digital assets), basis reported | Yes |
| K | 1099-DA (digital assets), basis not reported | No |
| L | Digital asset transactions, no 1099-DA | N/A |
Why this matters: boxes G through L are new for 2025, created specifically for digital asset transactions reported on the new Form 1099-DA. If you traded crypto through an exchange in 2025, you'll use these boxes — not the traditional A through F.
The test: look at box 12 on your 1099-B. If it says "basis reported to IRS," you check Box A (short-term) or Box D (long-term). If it says basis was not reported (common for securities acquired before the phase-in dates), you check Box B or E and must supply your own basis.
Covered vs. noncovered securities — this trips up investors who've held positions for years. Securities acquired after these dates are "covered" (basis reported to IRS automatically):
- Equities: January 1, 2011
- Mutual funds and DRIPs: January 1, 2012
- Bonds and options: January 1, 2014
Anything acquired before those dates is "noncovered," meaning you're responsible for calculating and reporting basis yourself (Box B or E territory).
Adjustment Codes (Column f) — The Reconciliation Engine
When your basis or proceeds differ from what the broker reported on the 1099-B, you enter an adjustment code in column (f) and the dollar adjustment in column (g). The three codes you'll encounter most often:
- Code B — basis was not reported to the IRS. You fill in the correct basis yourself.
- Code W — wash sale. You add back the disallowed loss as a positive number in column (g) and increase the replacement shares' basis by the same amount.
- Code D — market discount on a bond.
The point is: adjustment codes exist to explain discrepancies to the IRS. If you skip them, the IRS sees a mismatch between your 1099-B and your Form 8949 — and that mismatch generates automated notices.
Worked Example: Filing Form 8949 and Schedule D
Here's how this works with actual numbers (using a single-filer scenario for 2025).
Phase 1 — The Transactions
You made three stock trades during the year:
| Transaction | Acquired | Sold | Proceeds | Cost Basis | Gain/Loss |
|---|---|---|---|---|---|
| Stock A (long-term) | March 15, 2023 | April 10, 2025 | $15,000 | $10,000 | +$5,000 |
| Stock B (short-term) | September 1, 2025 | November 15, 2025 | $8,000 | $9,500 | −$1,500 |
| Stock C (short-term, wash sale) | June 1, 2025 | August 20, 2025 | $6,000 | $7,200 | −$1,200 (but repurchased within 30 days) |
Phase 2 — Form 8949 Entries
Stock A goes on a Box D page (long-term, basis reported). No adjustment codes needed — proceeds and basis match the 1099-B.
Stock B goes on a Box A page (short-term, basis reported). Straightforward $1,500 loss.
Stock C requires a wash-sale adjustment. You repurchased a substantially identical security within the 61-day window. On the Box A page, you enter code W in column (f) and +$1,200 in column (g). The $1,200 loss is disallowed for now — it gets added to the replacement shares' cost basis.
Phase 3 — Schedule D Aggregation
Short-term results (Schedule D, Part I):
- Stock B: −$1,500
- Stock C: $0 after wash-sale adjustment
- Net short-term loss: −$1,500
Long-term results (Schedule D, Part II):
- Stock A: +$5,000
- Net long-term gain: +$5,000
Combined: +$5,000 long-term gain minus $1,500 short-term loss = net gain of $3,500.
Phase 4 — Tax Impact
Assuming your taxable income (before capital gains) is $85,000 as a single filer:
- The $1,500 short-term loss offsets $1,500 of the long-term gain, leaving $3,500 net long-term gain.
- At $85,000 taxable income, you're in the 15% long-term capital gains bracket (the 15% rate applies from $48,351 to $533,400 for single filers in 2025).
- Capital gains tax: $3,500 × 15% = $525.
If your total MAGI exceeds $200,000, you'd also owe the 3.8% Net Investment Income Tax on the lesser of your net investment income or the amount by which MAGI exceeds the threshold. (In this example, at $85,000, the NIIT doesn't apply.)
The practical point: the wash-sale adjustment on Stock C didn't eliminate the loss permanently — it deferred it. When you eventually sell the replacement shares, their higher basis will produce a smaller gain (or larger loss). But if you miss the wash-sale coding, you'll claim a $1,200 loss the IRS knows is disallowed, and you'll get a notice.
2025 Long-Term Capital Gains Rate Brackets (Reference Table)
| Rate | Single Filer | Married Filing Jointly |
|---|---|---|
| 0% | $0–$48,350 | $0–$96,700 |
| 15% | $48,351–$533,400 | $96,701–$600,050 |
| 20% | Over $533,400 | Over $600,050 |
Two special categories apply higher maximum rates:
- Collectibles (art, coins, stamps): maximum 28% rate on long-term gains, calculated via the Schedule D 28% Rate Gain Worksheet.
- Unrecaptured Section 1250 gain (depreciated real property): maximum 25% rate.
Common Pitfalls (And How to Avoid Them)
1. Ignoring wash-sale rules across accounts. You sell Stock X at a loss in your taxable account and buy it in your IRA within 30 days. The wash-sale rule still applies — the loss is disallowed, but since the replacement is in a tax-advantaged account, you may never recover the disallowed loss. Your broker may not flag cross-account wash sales on the 1099-B.
2. Using the wrong box check. If your 1099-B says basis was reported to the IRS and you check Box B (basis not reported), the IRS's automated matching system flags a discrepancy. Always match the box to what's actually on the 1099-B.
3. Forgetting to carry forward capital losses. If your net capital losses exceed $3,000 in a given year, the excess carries forward indefinitely — but you have to track it yourself using the Capital Loss Carryover Worksheet in the Schedule D instructions. The IRS doesn't send reminders. (This is one of the most common sources of overpaid taxes.)
4. Missing the NIIT threshold. Capital gains push up your MAGI. A large realized gain in one year can push you above the $200,000 (single) or $250,000 (MFJ) NIIT threshold, adding 3.8% on top of your capital gains rate. These thresholds are not indexed for inflation — they haven't changed since 2013, so more taxpayers hit them each year.
5. Not reconciling 1099-B line items. Your broker's reported basis may differ from your actual basis (especially for noncovered securities, gifted shares, or inherited property). Every 1099-B entry needs to be checked against your records — there is no materiality exception.
The New Digital Asset Reporting Rules (2025)
Starting January 1, 2025, brokers and exchanges must report digital asset transactions on the new Form 1099-DA (replacing the inconsistent 1099-B reporting that existed before). Form 8949 now has six new box categories (G, H, I for short-term; J, K, L for long-term) specifically for 1099-DA transactions.
The durable lesson: if you traded crypto, NFTs, or other digital assets through a reporting exchange in 2025, expect a 1099-DA and use the new box categories. If you used a decentralized exchange or self-custodied wallet with no 1099-DA, you still owe tax — you'd check Box I (short-term) or L (long-term) and self-report.
Filing Checklist
Essential (high ROI — prevents most common errors):
- Match every 1099-B and 1099-DA line item to a Form 8949 entry — compare proceeds (column d) and basis (column e) against your records
- Check the correct box (A–F for traditional securities, G–L for digital assets) based on whether basis was reported to the IRS
- Flag all wash sales with code W in column (f) and add back the disallowed loss in column (g)
- Verify your holding period: 366+ days for long-term treatment (count from the day after acquisition to the sale date, inclusive)
High-impact (workflow and accuracy):
- Complete the Capital Loss Carryover Worksheet if prior-year losses exceeded the $3,000 deduction limit
- Calculate whether your MAGI exceeds NIIT thresholds ($200,000 single / $250,000 MFJ) after including capital gains
- For noncovered securities (Box B or E), document your basis calculation and keep records — the IRS doesn't have this information
Optional (good for active traders and crypto investors):
- Use tax-lot identification (specific identification method) to optimize which shares you sell — this requires designating lots at the time of sale
- Reconcile digital asset transactions against blockchain records if your exchange's 1099-DA seems incomplete
- Review whether collectibles gains or Section 1250 gains require the special Schedule D worksheets
Your Next Step
Pull your 2025 1099-B (and 1099-DA, if applicable) and compare each line item against your own transaction records. For every entry where the broker's reported basis differs from your actual basis, note the adjustment code you'll need (B, W, or D) and the dollar amount for column (g). Start with your largest transactions first — that's where mismatches create the biggest tax impact.
Related Articles
Form 1099-B and 1099-DIV Walkthrough
Every year, millions of investors receive Form 1099-B and Form 1099-DIV from their brokers—and every year, a significant number misreport capital gains, misclassify dividends, or miss cost basis er...
FINRA and SEC Disclosure Requirements
Disclosure failures—not exotic fraud, but missed filing deadlines, unapproved communications, and incomplete registration forms—account for a growing share of regulatory enforcement actions against...
Crowdfunding and Reg CF Rules for Individuals
Most investors hear "crowdfunding" and picture Kickstarter campaigns for gadgets. But since May 2016, Regulation Crowdfunding (Reg CF) lets you buy actual equity in private companies—the same asset...