Receiving Bitcoin as payment raises a clear tax question. Which GBP value counts for tax and when must it be reported?
Many freelancers assume crypto is taxed only on sale, which leads to incorrect Self Assessment entries and HMRC queries.
Freelancers & Self-Assessment with BTC: Freelancers paid in Bitcoin must declare the GBP value of BTC received as self‑employment income at the market rate when received. They pay Income Tax and NICs via Self Assessment and keep time‑stamped records. Any later disposal may trigger Capital Gains Tax reported on SA108.
Summary of the process
Follow this ordered checklist from receipt to Self Assessment filing. Each item is an action to do now.
- Record receipt: timestamp, tx_id, wallet, GBP rate source.
- Issue invoice showing BTC and GBP value at receipt.
- Log fees and net GBP income in ledger.
- Report GBP income on SA103 for the tax year.
- If disposed later, calculate CGT on SA108 using pooled cost.
Capture the exact receipt moment and a reputable GBP rate. This fixes taxable income.
Record timestamp, transaction ID, wallet address, BTC amount, GBP exchange rate and rate source. Save network fees separately and note custody type: private keys or exchange custody.
Use an exchange screenshot or API CSV with timestamp. Alan White has seen HMRC accept exchange CSVs from 2021 and 2023 when timestamp and tx_id match.
Save every record in a folder named by tax year. This avoids mixing years when preparing the return.
This step normally takes 10 to 20 minutes per receipt.
A missed fee entry here commonly causes an HMRC adjustment.
How to capture the timestamp
Use the blockchain explorer timestamp or the exchange transaction timestamp. Save a screenshot and export CSV.
Ensure every saved record clearly shows a UTC timestamp. Note the source of that timestamp: exchange CSV row or block explorer URL.
If payment arrives at an exchange, download the transaction CSV row that shows timestamp and GBP conversion if present. If it lands in a private wallet, use the block explorer entry and the exchange mid‑market rate at that UTC.
HMRC requires verifiable timestamped records. The record must be traceable to the tx_id and the rate source.
Choose the GBP rate source
Use a major exchange rate from Coinbase, Kraken or Binance, or use a mid‑market rate. Record source name, rate and UTC.
Do not value BTC at conversion instead of at receipt. This common error causes underreporting of income and HMRC enquiries.
Step 2: issue an HMRC‑compliant invoice showing BTC and GBP
Produce an invoice that shows BTC and the GBP equivalent at the receipt timestamp. The invoice becomes primary evidence for turnover on Self Assessment.
Include Tx ID and wallet address on the invoice to link it to the blockchain entry. Doing so reduces auditor friction and speeds any enquiry.
Use the template below; it is complete and ready to copy.
Invoice template
INVOICE # [INV-2026-001]
Date/time (UTC): [2026-03-15 14:12:05]
Freelancer: [Name], UTR: [xxxxxxx], Address: [Address]
Client: [Client name and address]
Description: [Design services – March 2026]
Amount: 0.025 BTC
Rate at receipt: £48,000 per BTC (Source: Coinbase, 2026-03-15 14:12:05 UTC)
GBP equivalent: £1,200
Network fees: 0.0005 BTC / £24
Net received (GBP): £1,176
Transaction ID: [txid...]
Wallet address (receiving): [bc1...]
Payment terms: [7 days]
Notes: VAT treatment depends on the supply and VAT registration. If VAT applies, show VAT separately on the bitcoin invoice.
Replace the blanket 'No VAT charged' note with wording that records VAT when applicable.
Fields that HMRC checks
HMRC checks invoice date/time, GBP equivalent, rate source and transaction ID. Missing fields reduce the invoice weight in an enquiry.
Retention period: HMRC typically asks for records covering the last 6 years for Self Assessment enquiries; keep invoices and ledgers for at least 6 years.
An invoice missing the tx_id is a common cause for longer enquiries.
Example: a client pays 0.05 BTC when the mid‑market valuation is £30,000/BTC at 2026-03-15 10:00 UTC. The invoice shows 0.05 BTC and Rate: £30,000 (Coinbase). GBP equivalent £1,500. Transaction ID and receiving wallet are recorded. A network fee of 0.0005 BTC (≈£15) is noted.
Declare £1,500 as turnover on SA103 for income tax and NICs. Allowable expenses include the network fee and any exchange conversion fee.
If converted immediately and the exchange pays £1,470 after a £15 conversion fee, record both the bitcoin invoice and the exchange sale row. This lets HMRC reconcile invoice, tx_id and exchange export.
Keep a running ledger with one row per blockchain or exchange event. The ledger is the single source of truth for Self Assessment.
Below are recommended CSV headers and two example rows to copy into accounting software or Excel.
Ledger CSV headers and examples
CSV headers:
date_time_utc,tx_id,wallet_address,direction,crypto,crypto_amount,gbp_rate_source,gbp_rate,gbp_value,fees_crypto,fees_gbp,counterparty,notes
Example rows:
2026-03-15 14:12:05,txid123,bc1...,in,BTC,0.025,Coinbase,48000,1200,0.0005,24,ClientCo,Invoice INV-2026-001
2026-09-10 09:05:12,txid789,bc1...,out,BTC,0.025,Kraken,60000,1500,0.0006,36,ExchangeSale,Sold 0.025 BTC
The ledger shows both income at receipt and later disposal for CGT.
Reconcile wallet balances monthly against the ledger. If an exchange holds funds, export the monthly CSV and match tx_id and amounts.
A frequent blocker occurs when the freelancer uses multiple exchanges and forgets to tag which exchange provided the rate for each row.
Mini‑calculator formulas to use in bookkeeping: taxable GBP income at receipt = crypto_amount × GBP_rate_at_receipt − fees_gbp. Pooled cost per unit = sum of GBP costs of acquisitions divided by total crypto units in the pool. Taxable gain = disposal_proceeds_gbp − (units_sold × pooled_cost_per_unit) − disposal_costs_gbp.
Always record exchange rate source, timestamp and tx_id beside each numeric row. These consistent entries make reconciliation, SA103 reporting and SA108 calculations auditable and simple.
Step 4: report BTC income on self assessment
Enter the GBP value of BTC receipts as turnover in the tax year on the self-employment pages (SA103). Report income in the usual turnover box.
Deduct allowable business expenses to calculate taxable profit. Class 2 and Class 4 NICs apply if profits exceed thresholds.
If BTC was paid as salary under PAYE, the employer should have reported it. Then report under employment income instead.
Mapping to SA103
Report total turnover including GBP equivalents of BTC receipts in Box 1 (turnover). Provide a breakdown in business records if HMRC requests it.
If HMRC requests supporting evidence, provide the invoice stack and the ledger CSV in date order.
Step 5: calculate CGT on disposals and complete SA108
Calculate gain using the pooled cost basis and report on SA108 when you dispose of held BTC. Record disposal date rate and the original cost basis.
Use ledger entries to produce proceeds (GBP at disposal) and allowable costs (GBP cost basis from receipt). The difference is the gain or loss.
If gains exceed the annual exempt amount, tax applies at 10% or 20% depending on income band for basic or higher rates.
Worked example
Receipt: 0.05 BTC at £40,000 equals £2,000. This was declared as turnover and taxed in 2024/25. Later sale: sold 0.05 BTC at £60,000 equals £3,000. Gain equals £1,000.
Assume the annual exempt amount was £12,300 in recent years. If total gains in the year exceed the exempt amount, the freelancer reports on SA108.
Pooling rules in brief
Use HMRC pooling rules for crypto. Same-day rules and the 30-day window affect the pool. The ledger must show acquisition dates and amounts clearly.
Practical SA108 walkthrough: when a previously taxed piece of crypto is disposed of, produce three clear GBP figures. Proceeds use the disposal timestamp and a recorded exchange rate source. Allowable costs use the GBP cost basis from receipt or pooled cost. Incidental disposal costs are exchange fees converted to GBP.
Enter the total chargeable gains on SA108 and carry the net gain to the main Self Assessment return. Retain timestamped records and the invoice showing the original GBP valuation.
Visual flow from receipt to filing
Receipt (Timestamp & Rate)
1. Capture tx_id, wallet, timestamp
2. Record GBP rate source & screenshot
3. Issue invoice with BTC & GBP equivalent
4. Add to ledger CSV (date, tx, rate, fees)
Use CoinGecko or CoinMarketCap APIs to pull historic rates when automated. Manual lookup is acceptable if you record source and timestamp.
Alan White notes many freelancers under-record fees. Fees reduce taxable income and must be captured to improve accuracy.
A single reconciliation CSV that matches invoices and exchange rows speeds up reviews.
Special cases: staking, airdrops, swaps and payroll
Staking rewards and mining receipts create taxable income when the asset is obtained. Record each reward's GBP value at receipt.
Airdrops and forks may be taxable if the token has a clear market value at receipt. If tokens arrive by chance with no link to services, the tax position depends on the facts.
Crypto-to-crypto swaps are disposals for CGT. Use the GBP rate at the swap timestamp for both sides of the trade.
Short notes on payroll and tips
If BTC is paid as salary, the employer must operate PAYE. Tips in BTC are earnings and the recipient must declare them as income.
Tax planning and common pitfalls
Consider timing conversions around tax years to shift tax outcomes. The freelancer should set aside tax funds based on GBP value at receipt.
Many recommend using exchange auto-exports, but after analysing real cases from Bitcoin Tax UK, the most frequent error is failing to manually tag export rows to invoices.
This works in theory, but in practice in England HMRC often asks for the exact CSV row and a screenshot that show the rate and tx_id together.
A common scenario I handled: a freelancer recorded BTC receipts but not fees, and HMRC adjusted income upward, resulting in extra tax and interest owed.
This paragraph sums up the approach: use exchange CSVs plus screenshots, issue invoices with tx_id, and keep a single reconciliation CSV. That reduces enquiry risk and keeps tax provision accurate.
Decision matrix: accept BTC or not
Below is a concise comparison to help decide whether to accept BTC from clients.
| Decision factor |
Accept BTC |
Refuse BTC |
| Payment speed |
Fast settlement for many clients |
Standard bank delays only |
| Volatility |
Higher risk; needs active management |
No currency risk |
| Admin burden |
Extra record keeping required |
Lower admin |
Errors that ruin a clean self assessment
Failing to value BTC at receipt rather than at conversion is the most common error. HMRC treats income based on the receipt moment.
Treating all crypto movements as capital disposals is another frequent mistake. Receipts for services are income and attract NICs.
Poor record keeping without timestamps, exchange rates or tx_ids leads to penalties and longer enquiries.
This guide does not apply to limited companies, non-UK residents, or trivial gifts with no service provided. Complex cases—staking rewards on DeFi platforms, pooled corporate receipts, or AML investigations—require tailored professional advice.
If the freelancer needs a quick review before filing, book a short call with a chartered accountant experienced in crypto tax. They can review invoices, ledger CSV and SA103/SA108 entries.
Frequently asked questions
Do freelancers have to declare bitcoin income on self assessment?
Yes. Bitcoin received for services is declared as self-employment income in GBP at the receipt timestamp and included on SA103. Disposals later may create CGT reported on SA108.
How should a freelancer value bitcoin for tax?
Use the GBP market rate at the exact UTC timestamp of receipt and record the rate source. HMRC expects a clear, verifiable source for the rate used.
Can HMRC obtain my exchange records?
Yes. HMRC can request exchange customer data through legal routes and uses data‑matching. Exchanges like Coinbase and Kraken supplied data in past cases from 2020 to 2023.
Are staking rewards taxable for freelancers in England?
Staking rewards often count as taxable income when received. If the activity looks like trading, NICs may apply. Record each reward's GBP value and costs.
What happens if BTC is converted to GBP later?
Conversion later is a separate disposal event for CGT if the crypto was previously held. Income was already taxed at receipt. The disposal may create an additional gain or loss.
Which HMRC pages give official guidance?
HMRC publishes the Cryptoassets Manual and GOV.UK has Self Assessment guidance. See HMRC collections on cryptoassets and Self Assessment pages for official text: HMRC: Tax on Cryptoassets and GOV.UK: Self Assessment.
How long should records be kept?
Keep records for at least six years. HMRC commonly requests the last six years in Self Assessment enquiries and matching exercises.
Closing notes and further resources
HMRC applies income rules under Income Tax (Trading and Other Income) Act 2005 and gains rules under Taxation of Chargeable Gains Act 1992. The freelancer should keep evidence linking invoice, blockchain tx_id and exchange rate.
Relevant bodies for professional help include the Institute of Chartered Accountants in England and Wales (ICAEW) and the Chartered Institute of Taxation (CIOT). CryptoUK publishes industry guidance for practitioners.
This guide gives actionable steps and ready templates the freelancer can use now to prepare Self Assessment and reduce HMRC enquiry risk.