CryptoTaxCalc logo CryptoTaxCalc
Filing Season · September 11, 2026 · 10 min read · By CryptoTaxCalc Team

1099-DA vs Form 8949: How to Reconcile the Numbers Before You File

Your exchange says one number, your spreadsheet says another, and the IRS is waiting for both to agree. In the first year of 1099-DA, mismatches are the rule. Here's how to reconcile like an accountant — and what to do if a CP2000 arrives.

Tax documents and IRS notice on a desk during crypto filing season

Image: Illustrative purposes. Reconciliation procedures based on Form 8949 instructions and IRS underreporter program guidance.

You did everything right. Downloaded the CSV, matched the lots, filled out Form 8949. Then the 1099-DA shows up and its proceeds total doesn't match yours — by $84. Or $8,400. Your first instinct is to panic; your second, to nudge your number until it agrees. Both instincts are wrong.

In the first year of a brand-new reporting regime, mismatches are baked in. Exchanges interpret rules differently, fees show up in different columns, and transfers occasionally get mislabeled as sales. The IRS knows this — their Automated Underreporter system isn't looking for perfect arithmetic, it's looking for unexplained gaps. A clean reconciliation worksheet that ties your 1099-DA to your 8949, line by line, is the difference between an accepted return and a CP2000 in August.

If you're still getting oriented on the form itself, start with our Form 1099-DA explainer; if your basis box is blank, the companion piece on reconstructing missing basis has that covered. This guide is purely about the tie-out: making the two sets of numbers tell one story.

1. Why the totals differ — the five legal causes

Before touching a single figure, categorize each difference. Almost every mismatch you'll see is one of these:

#CauseHow it shows up
1Fee presentationForm shows proceeds net of fees; your records show gross
2Aggregation levelExchange reports annual aggregate; you report per-trade
3Timing cutoffsTrade on Dec 31 settles / reports in January
4Mislabeled transfersWallet-to-wallet move appears as a disposition
5Genuine errors or fraudDuplicated rows, hacked-account trades, wrong SSN/TIN

Causes one through three are presentation noise you document and move past. Cause four requires a corrected form. Cause five is the only one that should genuinely scare you — trades on your account you don't recognize might mean compromised credentials, and there's a specific response path below.

2. Build the tie-out worksheet

Create one simple table, one row per form you received:

LineSourceProceedsBasis
A1099-DA — Coinbase$18,420$0 (not reported)
B1099-DA — Kraken$10,200$0 (not reported)
CYour 8949 total (CEX sales)$28,620$19,740
DVariance A+B vs C proceeds$0 — tiedn/a
EPlus: DEX sales (no form, Box C)$6,300$5,100

Two rules make this painless. First, proceeds must reconcile per broker — don't net Coinbase and Kraken against each other, because the IRS matches each form separately. Second, basis never has to match in 2026; the forms don't carry it. Your basis columns are all yours. The tie-out that matters to the matching program is proceeds.

When proceeds tie but your trade-level detail is much longer, consider presenting the bulk of it on an aggregated statement attached to Form 8949 (more on that below). The totals still agree; the paper trail is just organized.

3. The fee trap — gross vs net

This causes more small mismatches than anything else. The tax rule itself is settled: a fee you pay to acquire crypto increases basis; a fee you pay to dispose of it reduces amount realized. What isn't settled is each exchange's display convention on the new form.

Convention one: 1099-DA reports gross proceeds (full USD value the buyer paid), and you deduct your sell fee by reducing proceeds on 8949. Convention two: 1099-DA reports net proceeds (after the fee), and you report the same net figure. If your spreadsheet assumes the opposite convention from the form, every trade is off by its fee amount — small per trade, huge in aggregate.

Fix it by checking one known transaction: pick a sale from January, find the raw trade record and the fee line, and see which number the 1099-DA carries. Align your worksheet to the form's convention, not your preference. Don't force the form number to change — and don't double-deduct the fee by reducing proceeds below a net-basis form.

4. When the form calls a transfer a "sale"

Sending crypto from your exchange account to your hardware wallet is not a disposition — you owned it before and you own it after. The IRS has said this clearly. But in year one of reporting, some broker systems flag outbound transfers as transactions and a few have wrongly issued forms for them.

Here's the response sequence:

  1. Identify the suspect rows by matching proceeds to zero — real sales rarely net to nothing — and by following the destination address on the explorer. If the receiving address is one of yours, it's a transfer.
  2. Request a corrected 1099-DA from the broker in writing, through their tax-document support channel, with the transaction hash and both addresses. Do this early; corrected forms move slowly.
  3. File on time regardless. Don't extend while waiting. Report only actual sales on 8949, and attach a short statement titled something like "Reconciliation of Form 1099-DA, [Broker]" listing the disputed rows and hashes. The statement goes in your filing; it's your contemporaneous explanation if the automated system asks questions.

What you must never do is invent a gain on a non-sale just to match the form. That's paying tax voluntarily to solve a paperwork problem caused by someone else.

5. Aggregating trades without losing the audit trail

If you made 2,000 trades, filing 2,000 rows is allowed but miserable. The Form 8949 instructions let transactions without a broker form (Box C — your DEX swaps, for instance) be reported on an attached statement in the same column format, aggregated:

For the rows that do tie to a 1099-DA, some brokers provide an attachment-ready CSV with a row per transaction; importing their format verbatim is the safest play because the totals match by construction. Your own locally-run tools help here: our CSV batch importer buckets trades into short- and long-term groups and totals each bucket — no account, no upload — giving you aggregated numbers that drop straight onto the statement.

6. If the CP2000 letter arrives anyway

A CP2000 ("we found a discrepancy") is not an audit finding and not a bill you must accept. It's the automated system saying: forms attached to your TIN show $X, your return shows $Y, respond in about 30 days. The response has three doors:

DoorWhenWhat you send
AgreeYou genuinely missed dispositionsSigned response; pay tax, or request an installment agreement
Partially disagreeSome rows valid, some mislabeled or duplicatedCorrected 8949 + evidence per disputed row
DisagreeFraudulent trades, wrong TIN, transfer-only rowsPolice/IC3 report, corrected form, hashes, identity records

Deadlines matter more than perfection here — a documented response sent on time beats a perfect response sent late, because silence gets interpreted as agreement and the proposed tax, penalties, and interest get assessed. If the dollar amount is large or fraud is involved, this is the point to bring in a CPA or enrolled agent; representation on a CP2000 is routine work for them.

7. Trades you don't recognize: the fraud path

With wallet addresses appearing on 1099-DA, a new failure mode shows up: someone else used your exchange account, or the address listed isn't yours. This can mean account takeover, SIM-swap, or a TIN mix-up at the broker. Treat it as identity theft, not a tax dispute:

Separately, assets genuinely stolen from your own wallet have their own tax treatment — our guide to lost and stolen crypto walks through the theft-loss rules, which narrowed considerably under the TCJA for personal-use property.

8. The ten-minute pre-file check

Before you transmit the return, run down this list:

The detailed filing workflow, including income-reporting and state considerations, lives in our step-by-step reporting guide.

The takeaway

Reconciliation is the unglamorous skill that separates a return the IRS accepts from one that earns you a summer letter. Match proceeds by broker, let basis be your own number, document fees and transfers instead of erasing them, and answer any CP2000 on time with the records you already organized. In year one of 1099-DA, the taxpayer with a worksheet wins every time.

Do the tie-out the weekend your last form arrives — not the night before April 15. Corrected forms take weeks, and memory decays faster than exchange support tickets get answered.

What's the strangest mismatch between your 1099-DA and your own records — fees, a phantom "sale," or a number that was just plain wrong? Share it below; the 2026 forms are new for everyone, and your quirk is probably someone else's panic tonight.


References & official sources

📂 Reconcile Trades in Your Browser 📄 1099-DA Explainer
CT

Written by

CryptoTaxCalc Team

A small team of crypto investors and tax researchers. Every guide is cross-checked against primary tax-authority sources (IRS, HMRC, BMF, CRA, ATO) before publication. About the team & all articles →