Before importing crypto CSVs, clean the file first: standardise dates, fix missing columns, remove duplicates, label transfers correctly and reconcile every wallet and exchange. Crypto Record-Keeping & CSV Tools matter because a bad import can create false disposals, broken cost basis data and misleading capital gains.
A clean CSV is not the goal. A reconciled transaction history is the goal.
Workflow at a glance- Export every source in CSV format.
- Standardise dates, symbols and fee fields.
- Remove duplicates and label internal transfers.
- Check balances against each statement or wallet.
- Import only the cleaned file into your tax tool.
1. Export every source in order
Start with the exchange, then move to wallets, then DeFi records. That order matters because exchange exports usually give you the cleanest base file, while wallet and DeFi data often need more correction.
Pull the source files first
Download CSVs from every exchange account, including dormant ones, and export wallet histories where possible.
Record what each file contains
Give each file a plain name that includes the source, account and date range, and note whether it covers spot trades, staking, airdrops, withdrawals or deposits.
Keep one source, one file set
Do not merge sources before you know what each file contains, because that prevents one bad export from contaminating every other source.
2. Standardise the CSV before import
Open the CSV in a spreadsheet tool and check the columns before importing anything, because dates, amounts, symbols, fees and transaction types must all follow one format.
Fix dates and time zones
Convert all dates to one format, keep time stamps where available, and avoid mixing UK and US date formats in the same workbook.
Normalise assets and fees
Use one naming rule for each asset and record fees consistently, including the token and fiat value where possible.
Check the required columns
Most tools expect fields such as date, asset, quantity, fiat value, fee and transaction type, so use this quick check before import:
- Every row has a date that the software can read.
- Every asset symbol matches a recognised coin or token.
- Every fee is entered once, not twice.
- Every transfer has both the send side and the receive side, where possible.
3. Match transfers and remove duplicates
Identify transfers between your own wallets before you import anything, because internal transfers should not be treated as taxable disposals if they are matched correctly across the send and receive side.
Find duplicates first
Sort by date, asset, amount and transaction hash where available, then delete only true duplicates and not separate events that merely look similar.
Label internal transfers
Mark transfers as internal when assets move between your own wallets or exchange accounts, and leave unmatched rows unresolved until you can reconcile them.
Check disposal events only once
Look for sales, swaps and crypto-to-crypto trades, then make sure each appears once and only once, while staking rewards, airdrops and referral bonuses stay in the right bucket.
Internal transfers must be matched before tax calculations, or they can look like taxable disposals and inflate gains.
4. Reconcile sources before import
Check that each cleaned file agrees with the wallet or exchange balance it came from, because reconciliation means the numbers in the CSV match the source statement and your actual holdings.
Compare opening and closing balances
Check the first and last balances in each export and compare them with what you held in the wallet or exchange at the same dates.
Trace missing movements
Search for deposits or withdrawals that never completed in the CSV, and use blockchain transaction history where you need a hard cross-check.
Decide between free and paid tools
Free tools work best when you have a small number of transactions, one or two exchanges, and little or no DeFi, while paid tools are better once you have multiple wallets, staking, airdrops, bridging or years of trading data.
5. Check DeFi, staking and airdrops
Tag DeFi activity separately before import, because swaps, liquidity pool moves, bridge transfers, staking rewards and airdrops can all be treated differently in tax reporting.
Tag staking correctly
Record staking rewards on the date received, with the token amount and the fiat value at receipt, and note any automatic compounding.
Separate swaps from transfers
A swap is not the same as a transfer, so mark these carefully and do not let the software treat a technical movement as a disposal.
Record airdrops and bonuses
Keep airdrops, referrals and bonuses in a separate category with date, token, source and fiat value, and add a note where the value is unclear.
For DeFi, the best record is not the prettiest one. It is the one that still makes sense after a month of activity.
If you want the short answer, clean the file, reconcile the balances, then import only when each event type is labelled. That sequence works for most users in England, and it saves the most time when the history is messy. If the history includes several wallets, DeFi bridges or staking rewards, a paid tool is usually the safer choice because it gives better handling of categorisation and fewer manual corrections later.
Questions & answers
What is the best free crypto record keeping CSV tool?
A free tool is best when you have a small number of trades, one exchange and little DeFi. It should let you import CSVs, spot duplicates and export a usable report without charge.
Can I import exchange CSVs straight away?
Yes, but only if the file already has consistent dates, asset names, fees and transaction types. If it does not, clean it first or the import may create wrong balances.
How do I deal with internal wallet transfers?
Match the send and receive sides as internal transfers, not disposals. If one side is missing, leave it unresolved until you can reconcile it with the wallet address or exchange statement.
Do I need paid crypto tax software?
Not always. Free tools can work for low volume, but paid tools are usually better once you have multiple wallets, staking, airdrops or several years of history.
What file errors break CSV import most often?
Wrong date formats, missing columns, duplicate rows and mixed transaction types are the most common problems. Fee rows and time zones also cause trouble more often than people expect.
Should I reconcile balances before or after import?
Before import. If balances do not match first, the software may calculate gains from a wrong starting point and the error will carry through the whole report.
How long does CSV clean-up usually take?
Simple exchange files may take 10 to 20 minutes each. Complex histories with DeFi, staking and multiple wallets can take much longer, especially when transfers are not labelled.
This method does not add much value if your records are already reconciled and validated, or if you do not use exportable CSVs at all. It is also less useful when you only need a broad tax explanation, rather than a file-by-file preparation workflow.
Finish with an audit-ready file
Save the cleaned workbook, the raw exports and a short note explaining any manual edits, then keep the final file name dated and fixed.
Clean first, import second, reconcile last: that order prevents most crypto tax errors before they start.
A practical crypto record keeping checklist makes the whole process easier to repeat at tax time. For exchanges, keep the full trade history, deposits, withdrawals, fees and account statements for each tax year, plus any CSV exports that show spot trades, margin activity or staking income. For wallets, save the transaction history, address labels, bridge records and notes for self-transfers so wallet reconciliation is possible later. For DeFi, keep protocol names, transaction hashes, LP entries, swaps, airdrops and screenshots or notes where the on-chain data is hard to read.
If the records are organised this way, HMRC records become much easier to defend because each disposal, transfer and reward can be traced back to a source file rather than guessed from an incomplete export.
A reliable CSV import workflow starts with the raw exchange exports, not the tax tool. First, open every file and check for missing columns, inconsistent date formats, duplicate transactions and blank fee fields. Next, standardise date formatting to one convention, align asset symbols so BTC, XBT or wrapped versions are not mixed up, and normalise fees into a consistent structure. Then consolidate files by source, keeping internal transfers separate until both sides are matched.
A simple example is a transfer from Binance to a self-custody wallet: the send-side withdrawal and receive-side deposit should be linked before import, otherwise the software may treat the movement as a taxable disposal and distort cost basis and capital gains.
Free crypto record keeping tools can be enough for a small portfolio, but they usually struggle once the transaction history gets messy. If you have a few hundred trades, one or two exchanges and limited wallet activity, a free CSV import tool may handle basic fee normalisation, duplicate detection and simple tax reporting. Once you move into higher volume, multiple wallets, DeFi bridging, staking rewards or years of trade history, a paid platform is usually better because it can automate wallet reconciliation, handle more edge cases and reduce manual fixes.
For example, a trader with 5,000 rows across four exchanges will usually benefit more from a paid tool than someone with 40 spot trades and a single exchange export.