CryptoTaxCalc logo CryptoTaxCalc
Record-Keeping · September 30, 2026 · 13 min read · By CryptoTaxCalc Team

I Spend 15 Minutes a Week on Crypto Tax Records. Here's the Exact System.

My first crypto tax year took a brutal reconstruction weekend in January. My last one took an evening on the sofa. Nothing changed about my trading — what changed was a plain spreadsheet and a Friday routine. Here's the whole system, including the one column each of the seven countries actually cares about.

A plain spreadsheet system for tracking crypto trades, cost basis and fair market value

Image: Illustrative purposes. Record-keeping expectations drawn from IRS Publication 551 and Form 8949 instructions, HMRC Cryptoassets Manual record-keeping guidance, §23 EStG documentation practice, CRA folio S5-F3-C1, ATO CGT record-keeping rules, NTA cryptoasset reporting and Indian VDA/TDS provisions.

January 2022, I sat down to do my first ever crypto tax return and made the classic discovery: I had a portfolio screen that told me I was up 40%, and approximately zero documents that told a tax office how. Eleven months of trades across two exchanges, one coin-to-coin phase I'd forgotten, a wallet transfer, and a handful of staking drips. I spent a weekend piecing it together from email receipts and squinting at exchange dashboards that had since redesigned themselves.

I never want that weekend back. So I built the least glamorous piece of infrastructure in crypto: a boring spreadsheet and a recurring calendar event. It takes about fifteen minutes on a Friday evening, an hour at month-end, and filing season now takes one evening.

This isn't a template sales pitch. It's the exact system, free, and it's deliberately country-agnostic at the collection stage — because whether you file in Austin, Aberdeen or Adelaide, crypto tax record keeping starts with the same five facts.

The five facts every record needs

A tax office doesn't care about your P&L chart. For each event it needs to answer five questions: when did it happen, what moved, how much moved, what was it worth in real money, and what did it cost you. Everything else — FIFO, the British pool, Canadian averaging — is just a different way of slicing these five facts later.

Column What goes in it Why it matters
Timestamp (UTC) Date and exact time, one timezone everywhere Holding clocks, same-day rules and FMV all depend on it
Platform & type Exchange/wallet; buy, sell, swap, send, receive, income Separates disposals from non-taxable self-transfers
Sent / received Asset ticker and units on each leg A coin-to-coin trade has two legs, both priced
Fee + currency Amount and what coin paid it Fee in crypto is often its own micro-disposal
Fiat value & proof FMV in your home currency, tx hash or order ID The taxable number, and the evidence behind it

Two rules about the sheet itself. Timestamps stay in UTC, every single row — mixing timezones will quietly corrupt holding-period buckets. And the sheet is append-only. I never delete a row; if something turns out to be wrong, I add a correction note. Tax records are a ledger, not a whiteboard.

Friday evening: fifteen minutes

Every Friday, phone timer on, I do five things:

1. Append the week's fills. I open each exchange app and email the weekly activity statement to myself, then add any rows the export won't capture cleanly. This is usually two or three rows — buys, a sell, maybe a swap. If it was a wild week, ten. The point of doing it weekly is that I remember what each trade was. In January I won't.

2. Label the non-trades. Wallet-to-wallet moves, exchange-to-hardware-wallet deposits, bridge transfers get marked SELF-TRANSFER with the receiving address. This row is the most valuable documentation in the whole system — it's what stops coins arriving at a new venue from looking like free income. More on that in the transfer guide.

3. Log anything that arrived for free. Staking reward, airdrop, learn-and-earn, a referral kickback, card cashback paid in bitcoin — fair market value on arrival, in my currency, no exceptions. That number is income this year and basis next year, and the platforms paying them report them. An unlogged airdrop is the single dumbest letter you can invite.

4. Note the gas. If I was on-chain, I write down the fee amount and the coin it was paid in. A heavy DeFi week generates a surprising number of tiny disposals, and India especially gives almost nothing back for these — but you can't claim or ignore what you didn't record.

5. Screenshot the weird one. Anything a CSV can't explain — an OTC deal, a lost recovery, a manual settlement, a fork snapshot — gets a screenshot in that week's folder with a one-line note. Weird events are maybe 2% of activity and 90% of audit questions.

Month-end: one hour, reconciliation

The weekly routine records events. The monthly routine catches lies I told myself.

I export the month's CSV from every venue and reconcile it against the sheet: does the ending balance on the exchange match my running holdings? Are there any rows on their side missing on mine? Gaps usually come from three places — dust sweeps, staking auto-compounding, and trades I made on my phone while "not trading." I fill the gaps while the month is fresh.

Then I download the monthly CSVs into a folder structure like 2026/09/coinbase.csv and leave them alone forever. This is the cheap insurance against the thing that actually destroys crypto records: platforms. Exchanges prune old exports, APIs change, and exchanges occasionally die. If the worst case arrives, the basis reconstruction guide is the emergency room — my monthly downloads are the gym membership that keeps you out of it.

One more monthly job: check for coins or platforms at risk. If an exchange is making the news for the wrong reasons, I export its entire history that day, not after the withdrawals freeze.

The one column your country secretly demands

The raw five facts are universal, but each filing country slices them differently. I keep a small "method" note at the top of the sheet so I never collect the wrong granularity:

Country Basis method your records must support
USPer-lot records for FIFO or specific ID (HIFO), plus wallet-level transfer trails for 1099-DA reconciliation
UKSection 104 pool: total cost and quantity per asset, plus same-day and 30-day buy flags around every sale
GermanyEvery purchase as a dated tranche — acquisition date decides the 365-day (or longer staking) exemption
CanadaRunning ACB per asset with fees folded in; flags for spouse/affiliated purchases inside the 61-day loss window
AustraliaParcel-level dates for the 12-month 50% discount, and clear identification if you choose parcels
JapanAll values in yen at transaction time, supporting moving- or total-average cost, applied consistently
IndiaAcquisition cost per VDA and the 1% TDS statements; income-event FMV, since almost nothing else is deductible

Notice what this means for the weekly buy. A Londoner and a Torontonian mostly need totals; a Berliner and a New Yorker need every individual date. Same spreadsheet, different columns doing the heavy work. If you ever move countries — and plenty of people do — having all five facts at full granularity means the sheet survives the move. The tax-residency piece is mapped in the moving-abroad guide.

The three supporting files that sit beside the sheet

Income ledger. Every token that arrived without being bought, on its own tab. Airdrops are where people get caught, because the temptation is to wait until the token is sold. Wrong twice over: the income event happens on receipt at that day's value, and the same value becomes basis. I also keep referral bonuses and crypto cashback here.

Basis-receipts folder. Anything that wasn't a normal exchange buy lives here: P2P trades, OTC purchases, coins bought with cash at an ATM, gifts received, inherited coins. Each gets a file with date, amount, price, source and the counterparty record. Without this, such coins have a one-way ticket to zero basis.

DeFi and NFT notes. A plain sentence per position: what I put in, when, what token I got back, when I unwound. Liquidity entries, LP tokens, wrapping and bridging are the events software mislabels most, and a human note written the week it happened beats forensic reconstruction by a mile. The event taxonomy is in the DeFi guide.

How long to keep all this

Longer than feels reasonable, because crypto gets held for years and the purchase evidence only matters at sale. My rule of thumb, by filing country:

Country My keep-it-until rule
US7 years (3-year audit window, 6 for big omissions; no limit if you never filed)
UK6 years after the filing deadline; HMRC can reach 20 for deliberate behaviour
Germany10 years; tax certificates and acquisition proofs for long-held coins, longer
Canada6 years from the end of the tax year
Australia5 years from lodgment (ATO expects CGT records for the whole hold)
Japan5 to 7 years depending on filing type; I keep 7
India6 years from the end of the assessment year; longer where foreign assets exist

Digital storage costs nothing. I keep the entire folder encrypted, duplicated in two places, and I re-export anything stranded on a platform I've stopped using. Acquisition records for a coin you still hold should be kept until the retention window for the year you sell it closes — which for a five-year hold is a six-year-plus minimum by itself.

January: the payoff

When filing season opens, my sheet is already complete. The work splits into two: getting the official exports one more time, and running the math. I reconcile the year's disposals to the platform statements, check that each SELF-TRANSFER landed somewhere, and make sure the income ledger total matches what staking platforms say they paid.

Then the CSV goes into the batch calculator on the homepage. It parses the file locally in my browser tab — nothing is uploaded, which matters to me precisely because this sheet contains my entire financial life — and automatically buckets every disposal into short- and long-term for US/Australian-style rules, or into the inputs the pooled and averaged countries need. Spot-checking a handful of rows by hand against the single-trade calculator is my final sanity check. The full walkthrough from CSV to filed return is the reporting guide.

If the numbers are simple, that's the whole job. If they're not — DeFi-heavy year, cross-border move, a 1099-DA that doesn't reconcile — the same organized folder is what makes a professional's quote a few hundred instead of a few thousand. Specialists charge for reconstruction, not review.

Start tonight with three rows

You don't need to backfill five years this evening. Open a blank sheet, put the five columns in, and log this week's activity before Friday. Download one exchange's full history while you're logged in. That's fifteen minutes, and it closes the barn door before any more horses wander off.

Records are the only tax strategy that works in every country, survives every reform, and never gets retroactively denied. The best tax-loss harvest in the world is worthless if you can't prove what you paid.

What's the messiest part of your own records — old exchanges, DeFi, or the wallet hops? Tell me and I'll fold the best questions into the system.

General information, not tax advice. Retention windows are practical minimums and can be longer for unfiled years, business activity or foreign assets. When in doubt, keep it and ask a professional in your filing country.

FAQ

What records do I need to keep for crypto taxes?

For every transaction, keep the date and time (UTC), the platform or wallet, the type of event (buy, sell, swap, transfer, income), the asset and amount sent, the asset and amount received, any fee and the currency it was paid in, the fair market value in your fiat currency at that moment, and the transaction hash or an exchange record. For income events such as staking, airdrops, mining and referral bonuses, log fair market value on arrival because that figure is both your income and your future cost basis. Keep separate records of transfers between your own wallets, because those are not taxable but are the evidence that connects old basis to a new venue.

Can I track my crypto taxes in a plain spreadsheet instead of paid software?

Yes, and many people should. A plain spreadsheet with one row per event is enough to support FIFO or specific-identification reporting in the US, the HMRC Section 104 pool in the UK, averaged ACB in Canada, parcel records in Australia, dated tranches in Germany and the averaging calculations in Japan. The spreadsheet is the source of truth; a calculator or software package then does the math. Spreadsheets stop being comfortable somewhere past a few hundred transactions a year or once you add DeFi, bridges and multiple chains, where labeling and automatic imports earn their keep.

How long should I keep crypto tax records?

Keep them longer than the normal window because assets can be held for years and sold much later. Practical minimums: seven years in the US (the standard audit window is three years, six with substantial omission, and returns can be questioned indefinitely if never filed), six years in the UK after the filing deadline, ten years in Germany, six years in Canada, five years in Australia, five to seven years in Japan, and six years in India — longer where foreign assets are involved. The safest habit is to keep acquisition records until at least the retention window for the year in which you eventually sell the asset, not just the year you bought it.

What if my crypto exchange closed and I lost my transaction history?

Reconstruct from four sources: blockchain explorers for on-chain movements, bank and card statements showing fiat on-ramps and off-ramps, email confirmations and old PDFs from the exchange, and any CSV exports you downloaded before it closed. Historical price services supply fair market value for dates you can identify. This is exactly why the system exports CSVs every quarter rather than trusting the platform to keep them forever; collapsed exchanges and pruned API history are common, and a $0-basis 1099-DA or an HMRC enquiry is when you will be glad the folder existed.

Do I need to log transfers between my own wallets?

Yes. Moving crypto between wallets or exchanges you own is not a disposal and creates no tax, but it is the single most common cause of broken cost basis: when coins arrive at a new venue, that venue has no idea what you paid for them, and US brokers may now report them with $0 basis. A transfer log with the date, amount, sending and receiving address or account, transaction hash and the original purchase record ties the deposit back to your real cost. A gas fee paid in crypto during the transfer is itself a small disposal in several countries and deserves its own row.

📂 Import My CSV Locally 📖 More Tax Guides
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, NTA) before publication. About the team & all articles →