Bitcoin tax records
Use the field guide and checklist for the facts every Bitcoin record should preserve.
Enter your email to receive the free PDF checklist.
Read our Privacy Policy. For subscriber questions or corrections, use the Contact & Corrections page.
Bitcoin Tax Software
Most Bitcoin tax-software problems start before the software is opened. A report can only calculate from the records supplied to it - so if acquisition records are missing, transfers are unlabeled, transaction IDs are disconnected, fees are dropped, or ownership context is unclear, the output can look organised while still needing review.
Most Bitcoin tax-software problems start before the software is opened. A report can only calculate from the records supplied to it - so if acquisition records are missing, transfers are unlabeled, transaction IDs are disconnected, fees are dropped, or ownership context is unclear, the output can look organised while still needing review.
The core distinction is simple: most Bitcoin tax-software problems start as record-quality problems; software inherits record quality and cannot fix facts you never preserved. This page pairs each common mistake with a better habit - not to alarm you, but to make the fix obvious and cheap to apply. It is educational only, not tax, legal, or financial advice; rules differ by jurisdiction and change over time. For the scope of the lane, read the Bitcoin tax disclaimer; for the map, start at the hub.
Run these prompts against your own records - each "no" points to a habit below:
If you can answer "yes" to all six, most of the common mistakes below are already handled. Where you cannot, the matching habit is the fix - and it is almost always easier to apply now than to reconstruct later.
A clean Bitcoin record connects three kinds of source: the exchange/account record (purchases, withdrawals, deposits, fees, source-shown values, timestamps), wallet and on-chain history (movement, transaction IDs, addresses, network fees, wallet labels), and your own context (wallet names, purpose notes, ownership context, uncertainty notes). Most mistakes on this page are a failure to connect these three: the exchange may know the acquisition, the wallet may know the movement, the blockchain confirms it happened - only you can preserve the context that ties them together. (For the full field-by-field guide, see Bitcoin tax records.)
The deepest mistake, the one that produces most of the others, is expecting software to be the recordkeeper. It is worth naming directly because it is so easy to fall into: the tool looks capable, the dashboard looks complete, and it is tempting to assume it must be tracking what you did not. It is not. Software can organise and calculate from supplied data, but it cannot know a fact that was never preserved, a wallet that is missing, a purpose with no label, or acquisition context that is absent - and it cannot decide treatment for your situation. → Habit: treat software as downstream of your records. Connect the three sources first (exchange, wallet/on-chain, your labels and notes), then use software to organise and calculate, and review unresolved gaps before trusting output. (For how software specifically falls short, see Bitcoin tax software limitations.)
If one habit on this page prevents more harm than any other, it is this one. When you cannot confirm a fact - whether an old wallet was yours, which acquisition a movement connects to, what a movement was for - the instinct is to fill the gap with a best guess so the record looks finished. That guess is the mistake, because once it is written down as fact it is indistinguishable from a real record, and it can quietly mislead software or a professional later.
The better move is to write "uncertain - needs review" and preserve whatever facts you do have. A clearly-marked gap is honest, it is easy to resolve later, and it tells a reviewer exactly where to look. A hidden guess does none of those things. Marking uncertainty is not a failure of recordkeeping - it is one of its most important disciplines.
The best time to fix a record mistake is before it becomes a software-import problem. After each meaningful Bitcoin event: save the source record, preserve the transaction ID if on-chain, label the wallet or destination, record the fee, write the purpose note, connect withdrawals to receipts, mark uncertainty honestly, and keep the record with the rest of your Bitcoin history. Small close to the event; harder months or years later. The point is not to become a tax expert - it is to preserve facts well enough that software or qualified review has something coherent to work from.
Common Bitcoin tax record mistakes come from missing or disconnected facts. The exchange record, wallet and on-chain history, and your own labels each preserve different parts of the story, and software inherits their quality. Use each mistake as a prevention signal: save the source record, label the wallet, keep the transaction ID, preserve the fee, connect the withdrawal to the receipt, and mark uncertainty instead of hiding it. Records preserve facts; they do not decide treatment.
For the full tax-scope boundary, see the Bitcoin tax disclaimer.
What is the most common Bitcoin tax record mistake? Failing to connect exchange records, wallet history, and your own labels or notes. The exchange may show the purchase, the wallet the later movement, and your labels the purpose and ownership - software may need all three.
Do I still need records if I use tax software? Yes. Software organises and calculates from supplied records; it cannot know facts you never preserved. Clean records make output easier to review; missing records make it less reliable even when the report looks organised.
What records should I keep for each Bitcoin transaction? Date, time, amount, source-shown value if available, fee, source, destination, transaction ID if on-chain, wallet label, purpose note, and any uncertainty. The goal is to preserve facts, not decide treatment.
Why can wallet transfers confuse tax software? A movement may need context software cannot infer - whether the destination was yours, why it happened, which transaction ID supports it, and how it connects to earlier acquisition records. A transfer record preserves what happened; it does not decide treatment.
Is wallet history enough without exchange records? Usually not for a self-custody holder. Wallet history may show movement but not the original acquisition record or source-shown value.
Should I record Bitcoin network fees? Yes. Preserve the fee amount, date, source, transaction ID if relevant, and the event it belongs to. This page does not decide how any fee is treated.
When should missing records go to a qualified professional? When acquisition records are missing, older history must be reconstructed, ownership is unclear, output cannot be explained, business or payment context is involved, or treatment questions exceed a recordkeeping explanation.