Taxes & Rules

Taxes & Rules

Recordkeeping for Bitcoin Payments at Tax Time

A practical guide to tracking bitcoin payments for U.S. tax purposes: what records to keep, how to organize them, and common mistakes to avoid.

Recordkeeping for Bitcoin Payments at Tax Time

The IRS treats bitcoin as property, not currency. That single classification has a large practical consequence: every time you receive or spend bitcoin in a business context, you have a taxable event with a cost basis, a fair-market value, and a holding period that you need to document. The recordkeeping is not optional, and the IRS has made clear it intends to enforce crypto reporting rules more aggressively going forward.

This guide covers what records to keep, how to organize them, and where the common mistakes happen.

Nothing here is financial, tax, or legal advice. Accept Bitcoin USA is an independent educational resource. IRS rules, FinCEN requirements, and state regulations change; confirm current requirements with a qualified tax professional before acting.


Why bitcoin recordkeeping is different from ordinary bookkeeping

With traditional payments, you record the dollar amount received and you're mostly done. Bitcoin adds two layers of complication.

First, the price moves. A payment you received in January at $45,000/BTC has a different dollar value than a payment received in November at $70,000/BTC, even if both were for the same service. You need to capture the fair-market value in USD at the exact moment of receipt, not at end of day, not at the time you converted, not at year-end.

Second, when you later spend or sell that bitcoin, the IRS wants to know your original cost basis so it can compute your gain or loss. If you received bitcoin as income and then spent it six months later, that spending is itself a second taxable event: a disposal of property. Your basis in what you spent is the USD fair-market value you already recognized as income when you received it.

This creates a chain of records. Miss one link and you cannot accurately compute your tax liability.

For more context on how these rules apply at the business level, see Bitcoin taxes for U.S. businesses explained.


What records you need to keep

For each bitcoin transaction, document:

FieldWhat to record
Date and timeExact timestamp, including time zone
Amount in BTCThe bitcoin amount received or sent
USD value at time of transactionFair-market value at that moment
Purpose / transaction typePayment for services, sale of goods, refund, etc.
Counterparty informationCustomer name or wallet address
Transaction ID (TXID)The on-chain identifier for that payment
Exchange rate sourceWhich price feed you used

If you are a business that accepts bitcoin as payment for goods or services, you also need to track whether sales tax applies to the underlying transaction. That is a separate obligation from income tax, and the rules vary by state. See do you charge sales tax on bitcoin sales for a breakdown.

The IRS does not mandate a specific recordkeeping format. A spreadsheet, accounting software with crypto support, or a dedicated crypto bookkeeping tool all satisfy the requirement, as long as the underlying data is there and retrievable on audit.


How to determine fair-market value

The IRS says to use the fair-market value of the cryptocurrency "as established by market data." In practice, that means you need a consistent, documented price source.

Common approaches:

  • Use the USD spot price from a major exchange (Coinbase, Kraken, Gemini) at the time of the transaction.
  • Use an aggregated price from a data provider (CoinGecko, CoinMarketCap) that publishes historical hourly or minute-level prices.
  • Use the price your payment processor recorded if you settled through one, since most processors stamp the conversion rate.

The key word is consistent. Pick a method and use it across your entire year. Switching sources mid-year opens you to questions on audit. Document your chosen source in your bookkeeping records so that a year from now you can explain where the USD figures came from.

If a payment processor like BTCPay Server, OpenNode, or a similar tool settles your payments to USD immediately, your recordkeeping is simpler: the processor has already locked in the exchange rate, and that rate appears in your settlement report. You still need the underlying BTC amount and TXID for your records, but you no longer have to look up spot prices manually.


Tracking cost basis across multiple receipts

If you hold bitcoin rather than immediately converting it, you accumulate a pool of BTC with different cost bases. When you later spend or sell some of that bitcoin, you need to know which "lot" you are disposing of to compute the gain or loss correctly.

The IRS allows several cost-basis accounting methods for cryptocurrency. As of 2025, the most common are:

  • FIFO (First In, First Out): You dispose of the oldest bitcoin first. This is the IRS default if you do not specify another method.
  • Specific Identification: You identify exactly which lot you are spending. This requires per-lot records but gives you more control over realized gains.
  • HIFO (Highest In, First Out): You dispose of the highest-cost lot first, minimizing taxable gain. The IRS has accepted this under Specific Identification, but confirm current guidance with your tax advisor.

Whatever method you choose, document it and apply it consistently. If you have a tax professional, agree on the method before year-end.

Crypto bookkeeping software (Koinly, CoinLedger, TaxBit, and others in this category) can automate much of the lot-tracking work by importing transaction history from wallets and exchanges via API. None of these tools replace a tax professional, but they reduce the manual spreadsheet work considerably.


Organizing records over the year

The worst time to figure out your crypto recordkeeping is in March. Bitcoin tax records are easier to maintain as you go.

A practical system that works for small businesses and self-employed individuals:

  1. At the end of each month, export a transaction report from your payment processor, exchange, or wallet. Most major platforms have a CSV export.
  2. Log each receipt and disposal in a bookkeeping tool or spreadsheet, recording the fields in the table above.
  3. Reconcile your BTC holdings monthly. Your starting balance plus inflows minus outflows should equal your ending balance. Discrepancies are much easier to find at 30 days than at 12 months.
  4. Save exchange rate snapshots if your processor does not record them automatically. A screenshot of the price at the time of a large transaction takes ten seconds and can save hours of reconstructed math later.
  5. Keep everything for at least three years from the filing date, which is the standard IRS audit window for civil errors. If the IRS suspects substantial underreporting (more than 25% of income), that window extends to six years. Some tax professionals recommend keeping crypto records indefinitely if your volume is significant, because the chain of cost-basis records from one year carries forward into the next.

Common mistakes

Relying on exchange 1099s alone. If you received a 1099-DA from an exchange, it covers only what happened on that exchange. If you received bitcoin directly into a self-custody wallet, that income may not appear on any 1099. The IRS expects you to report it anyway.

Recording only the BTC amount, not the USD value. This is the single most common mistake. You need the USD value at the time of receipt, not just the quantity of bitcoin. Reconstructing historical prices a year later is possible but tedious and introduces errors.

Forgetting that refunds are also taxable events. If you refund a bitcoin payment, the refund is a disposal of bitcoin. You need to track your basis in what you returned.

Mixing personal and business bitcoin. Use separate wallets for business and personal holdings. Commingling makes it very hard to produce clean records and raises audit risk.

Not tracking on-chain fees. Network transaction fees can be added to your cost basis in some situations. Document them.

For a broader look at how FinCEN rules interact with bitcoin payments, see FinCEN rules for businesses that accept bitcoin.


FAQ

Do I need to report bitcoin payments if I never converted them to USD?

Yes. The IRS taxes bitcoin as property, so receiving bitcoin as payment creates income in the year you receive it, at the USD fair-market value on that date. The fact that you held it and never cashed out does not defer the income recognition.

What if I lost my transaction history?

This is a real problem for anyone who used platforms that have since closed, or held coins in wallets they no longer have access to. In that situation, you can try to reconstruct history from the blockchain using your public address history, or use a tool that aggregates on-chain data. Incomplete records do not excuse you from reporting; they just make estimation necessary. Work with a tax professional if your records have gaps.

Does the IRS know about my bitcoin transactions?

Increasingly, yes. Exchanges that operate in the U.S. are required to collect KYC information and report to the IRS. The Infrastructure Investment and Jobs Act of 2021 expanded 1099 reporting requirements for crypto brokers. On-chain transactions are public and blockchain analytics companies actively work with the IRS. Assuming transactions are invisible because they are on-chain is not a safe assumption.

Can I use software to generate my crypto tax forms?

Crypto tax software can calculate gains, losses, and income and produce forms like Schedule D and Form 8949. Most major tools integrate with exchanges via API and support CSV imports for wallets. They do not, however, make legal or accounting judgments on your behalf. Review the output before filing, and have a tax professional check it if your situation is complex.

How long do I need to keep bitcoin tax records?

At minimum, three years from the filing date of the return that includes those transactions. But cost-basis records need to carry forward as long as you hold the asset, because you will need them when you eventually dispose of it. Practically, keep all crypto records until at least three years after you dispose of every coin you currently hold.

← Back to all guides