FixMyCryptoTax 1099-DA reconciler

Tools / 01 · Free preview · full report $19 early bird, then $29 · Kraken and Coinbase built in, plus supported CSVs with column mapping

1099-DA reconciler

Moved coins from one exchange to another? The exchange you sold on usually doesn't know what you paid, so its Form 1099-DA can show the sale with a blank cost basis. Drop in your exports from both: this page matches the withdrawal on one to the deposit on the other, carries the original purchase date and cost across, and shows every sale that still needs a basis.

Check my files free

Privacy

No account. No API keys. No upload. Your files never leave this browser: the math runs in this tab. Open DevTools > Network to check, or switch off Wi-Fi after the page loads; it still works.

Start with your exchange history

Select an exchange for export instructions. Already have the files? Add them below.

Moved coins between accounts? Include the sending account's history too—even purchases from earlier years. A deposit or transaction hash alone does not establish what you paid.

Check compatibility before you start

Best fit: exchange buys and sells with USD values and transfers between your own accounts. Kraken and Coinbase have built-in parsers; other CSVs need mapping.

Review required: Coinbase Card Spend, Retail Instant Unstaking and other unrecognized transaction types may be left out. Supported Coinbase Convert entries need readable conversion details and a USD value. Mapped swaps/conversions, DeFi, NFTs, margin and derivatives are outside scope.

Try the free preview first. Check import notes and excluded sales before paying. The tool reads exchange CSVs; it does not import your 1099-DA PDF. You enter form totals for comparison.

Export instructions checked October 2, 2026 against the exchange help pages.

Drop your exchange CSVs here

Kraken ledgers.csv and Coinbase transaction history built in · supported CSVs from other exchanges with column mapping · several files are fine · any number of transactions

    How to export your files
    • Kraken: Documents > Exports > Create Export, choose Ledgers (not Trades), all assets, from your first-ever activity to today. Unzip and use ledgers.csv. Times are UTC (Kraken: ledger fields).
    • Coinbase: from Settings > Accounts > Statements, download the transaction history CSV for all time (Coinbase: Tax forms, explained).
    • Any other exchange or wallet: download the full transaction history as CSV (if it comes as .xlsx, open it and save as CSV). Drop it in and map its columns once: date, type, coin, quantity, USD value or price, fee.
    • You can add several files. Files from the same exchange merge into one account, and duplicate rows are dropped.

    Pricing

    Free preview. $19 early bird for the full report.

    $19 early bird until Jan 31, 2027, then $29 per tax year. One flat price, any number of transactions. 14-day refund.

    Get the full report: $19

    Running a trading bot?

    Thousands of trades, one flat price: $19 early bird, then $29. Most crypto-tax software prices by transaction count: entry plans run $49 to $99 for 100 to 300 transactions (Koinly, CoinLedger, CoinTracker and Awaken pricing pages, checked Sep 30, 2026). Here the math runs in your browser, so there's no per-transaction cost to pass on.

    FreeFull report: $19 early bird, then $29
    Import Kraken and Coinbase CSVs, plus supported CSVs with column mappingYesYes
    Automatic transfer matching between exchangesPreview, with confirm/rejectYes
    Gains summary (short/long-term, FIFO/LIFO/HIFO)YesYes
    Missing-basis warnings and fix formYesYes
    Form 8949 export: boxes G-L, columns (a)-(h), codes B/E, CSV + printable statementNoYes
    Per-sale audit trail back to the original buy, across exchangesNoYes
    Compare your 1099-DA totals by boxNoYes
    TransactionsAll imported; first 10 sales listedUnlimited supported sales
    14-day refundn/aYes

    Why I built this

    Starting with tax year 2026, exchanges report cost basis only for coins bought on that same exchange from 2026 on. Anyone who moves coins between exchanges can get a 1099-DA with blanks where the cost should be, and the cost is sitting in the other exchange's export.

    I build software and run an open-source Kraken trading bot in public. FixMyCryptoTax fills those blanks from your own exchange files, without uploading them anywhere and without a per-transaction price.

    John Calloway · jcalloway.dev

    • Your files never leave your browser. The reconciler is JavaScript that runs in this tab: it reads your CSVs with the browser's file reader and does every calculation locally. Nothing is uploaded; the only server calls are the license check (just the key) and anonymous usage labels, never file contents.
    • 14-day refund. Not what you needed? Reply to your Gumroad receipt within 14 days for a full refund.
    • Software, not tax advice. It does math on files you provide. You choose the settings and file your own return.
    • See a sample report · Terms · Privacy

    Not tax advice. This is software that does math on files you provide. You choose the method and you file your own return. We don't see your data and can't review it. Check every number against your 1099-DA and ask a tax professional if you're unsure. Rules cited below were checked on Sep 30, 2026.

    Why transferred coins lose their basis

    For tax year 2026, brokers must report cost basis on Form 1099-DA, but only for covered digital assets: ones "acquired after 2025 … in an account for which the broker provided custodial services" (IRS, Instructions for Form 1099-DA, revised Apr 30, 2026). Coins you bought on Kraken and moved to Coinbase weren't acquired in your Coinbase account, so they're noncovered there. Coinbase says that for noncovered assets "the cost basis section will be shown as blank with the 'noncovered' box checked" (Coinbase Help). Blank isn't zero: on Form 8949 you "enter the correct basis of the property in column (e)" (IRS, Instructions for Form 8949).

    How the matching works

    • Automatic: an unambiguous pair with the same coin, the deposit arrives 0 to 6 hours after the withdrawal, and it's at most 1% smaller (the difference is the network fee). These thresholds are our judgment, not an IRS rule.
    • Suggested: competing transfer matches, or the same coin within 72 hours and up to 5% apart. You confirm.
    • Carried over: the coins that leave follow your lot method (FIFO by default) and arrive with their original purchase date and cost. We add the basis of the network-fee units to the coins that arrived rather than treating the fee as a sale; we found no IRS instruction on this point, so ask a professional if the amounts matter.
    • Unmatched withdrawals are treated as moves to your own wallet (not taxable). Unmatched deposits need a basis from you.
    • Per account: basis is tracked account by account, not pooled across exchanges (IRS, final broker regulations). Long-term means held more than one year. Proceeds are net of fees (i1099da, box 1f).

    What the full report does

    • Form 8949 rows. Digital-asset sales go in boxes G, H or I (short-term) and J, K or L (long-term); "do not use box C [or F]" for them (IRS, Instructions for Form 8949, 2025). Covered rows keep "the basis shown on that form"; a different correct basis goes in column (g) with code B. Noncovered rows get "the correct basis of the property in column (e)". Fees the form didn't reflect go in (g) as a negative number with code E. A sale that mixes short- and long-term lots is split into two rows.
    • Box I/L. If an exchange didn't send you a 1099-DA, tick that for the account and its rows move to I or L.
    • Blocked, not guessed. A sale with unknown basis or acquired date is left out of the export and listed, never filled with $0.
    • Audit trail. Each sale lists the lots it used and the original buy behind each lot, including the withdrawal and deposit that moved it between exchanges. Keep it with your records.
    • 1099-DA comparison. You type each form's totals by box; the report shows which numbers differ, by how much, and the usual reason (fees not deducted, a missing file, a stablecoin sale left off under the optional $10,000 rule in the i1099da, a covered basis that needs code B).
    • Refund. 14 days, full refund: reply to your Gumroad receipt. Support covers the software only, never what to put on your return.

    Limits of the preview

    • Kraken ledgers and Coinbase transaction history are built in, USD prices only. Their parsers are built from the documented export columns (as tracked by the open-source BittyTax project), not yet checked against every real export: if a file isn't recognized, tell us the header row (never send the data).
    • Other exchanges go through column mapping: buys, sells, transfers in and out, and income with USD values. Conversions and swaps between two coins, non-USD values and fees paid in a third coin are skipped with a note. There are no built-in presets for other exchanges yet: we only add one when the exchange documents its CSV columns.
    • Kraken crypto-to-crypto trades need the amountusd column; without it they're skipped with a note. Margin, futures, DeFi and NFTs aren't handled.
    • No wash-sale adjustments: the 1099-DA wash-sale box covers tokenized securities only (IRS i1099da).
    • The sample files are synthetic: invented ids and amounts in each exchange's documented column format. The sample's 1099-DA totals are invented too.

    Questions

    Is the 1099-DA checker free?

    Yes. The preview is free: reading your files, transfer matching, gains by lot method, the missing-basis list and the first 10 sales. The full report (Form 8949 export, audit trail and 1099-DA comparison) is $19 with the early-bird price until January 31, 2027, then $29 per tax year, with a 14-day refund.

    Are my files uploaded anywhere?

    No. Your CSVs are read and processed in this browser tab. The license check sends only the license key. Basic usage events contain labels and count ranges, never your transaction rows or financial amounts.

    Which exchanges does it read?

    Kraken ledgers.csv and the Coinbase transaction history CSV are built in. Other CSVs can be mapped for buys, sells, transfers and income with USD values. Mapped swaps, conversions and third-coin fees are not supported. Review all import notes before paying.

    Why does my 1099-DA show a blank cost basis?

    Brokers report basis only for covered digital assets: ones acquired after 2025 in an account where the broker provided custody. Coins you transferred in, or bought before 2026, are noncovered and can show a blank basis. (IRS, Instructions for Form 1099-DA)

    Do I report a blank cost basis as $0?

    No. For a sale reported without basis, enter the correct basis of the property in Form 8949 column (e), and keep the records that support it. (IRS, Instructions for Form 8949)

    Is there a transaction limit?

    No. One flat price per tax year, any number of transactions.

    Is this tax advice?

    No. It is software that does math on files you provide. You choose the lot method and you file your own return.

    Lots of DeFi, NFTs or 10+ wallets? This tool is built for exchange CSVs. Koinly handles those. We earn a commission if you sign up through this link.

    More guides: all crypto-tax guides and tools · Coinbase 1099-DA · Does Kraken report to the IRS? · 1099-DA missing cost basis