The hard part of crypto tax filing is almost never the calculation. It is that the records needed to do the calculation were never kept, and reconstructing three years of activity in the week before a deadline is unpleasant, expensive and error-prone.
This covers what to keep and how to organise it. Tax rules differ by country and change; confirm the treatment in your jurisdiction with a qualified adviser before filing.
Whatever the local rules, the underlying question is usually the same: for each disposal, what did you acquire, when, for how much, and what did you receive when you disposed of it? That means every transaction needs six fields:
Value in local currency at the time is the field people omit and the one that cannot be reconstructed casually later. Record it as you go.
Exchange exports cover only what happened on that exchange. They typically miss:
| Gap | Consequence |
|---|---|
| Transfers to your own wallet | Looks like a disposal; often taxed as one in error |
| On-chain activity outside the exchange | Entirely absent from the record |
| Network fees | Missing from cost basis |
| Closed or failed exchanges | History unrecoverable after shutdown |
| Cost basis on deposits | Shows the arrival, not what you paid originally |
That fourth row is the one that catches people out. Download a full export from every exchange you use annually, whether or not you need it. Several defunct exchanges took their users' transaction history with them.
Moving Bitcoin between two wallets you control is not a disposal, but it looks identical on-chain to sending it to someone else. If you cannot demonstrate that both addresses are yours, the transfer may be treated as a disposal — a potentially expensive misclassification.
Keep a simple register of every address and wallet you control, with the date it was created and what it is for. Understanding how Bitcoin transactions work helps here, because change outputs routinely confuse people reading their own history: sending 0.1 BTC from a 0.5 BTC input produces a 0.4 BTC output back to you, which is not a second payment.
Round nothing. Bitcoin divides to eight decimal places, and rounding errors accumulate across hundreds of transactions into discrepancies you then have to explain. Many people find it easier to record small amounts in satoshis — a satoshi calculator converts between the two on a fixed rule of 100,000,000 sats per BTC, which avoids decimal-place mistakes in a spreadsheet.
Crypto-to-crypto trades are typically disposals even though no local currency moved. Spending Bitcoin on goods is a disposal. Mining and staking rewards are usually income at receipt and establish a cost basis for later disposal. Gifts, forks and airdrops each have their own treatment. The rules vary; the common thread is that "I never converted to cash" is rarely a defence, and an overview of Bitcoin taxes is a reasonable orientation before a conversation with an adviser.
Thirty minutes at the end of each quarter: export from every venue, append to one spreadsheet, note the local-currency value, reconcile against wallet balances. Four sessions a year replaces the annual reconstruction, and it is the only version of this that stays accurate.

Reuters, the news and media division of Thomson Reuters, is the world’s largest multimedia news provider, reaching billions of people worldwide every day, Sign up for our free daily newsletter: thomson@reutersmarkets.com