Crypto Payment Bookkeeping: A Record-Keeping Guide for Merchants
What records does crypto payment bookkeeping need? How to organise invoices, exchange rates, fees, withdrawals and TxIDs, with a simple month-end routine.

Crypto payment bookkeeping is the job many USDT and TRX merchants put off, and the longer it waits, the harder it gets. As sales grow, questions pile up: which order was this payment for, what was the rate that day, how much commission was taken? The good news is that with the right habits, keeping crypto payment records tidy is not much harder than for card payments. This guide covers which data to record, how, and how often.
Important: This article is general information, not legal, tax or accounting advice. For how your crypto income is taxed, invoiced and booked, always consult your accountant and legal adviser. Rules change and depend on your business's circumstances.
Why crypto payment bookkeeping needs its own discipline
With card or bank payments, the bank statement already gives you most of the record. Crypto adds a few dimensions:
- Unit mismatch: payments arrive in USDT or TRX, while you probably keep books in your local currency or USD.
- Rate timing: especially with volatile coins like TRX, the moment whose rate you use matters.
- Several layers: customer payment, platform commission, withdrawal, withdrawal fee and transfers between your own wallets are separate items.
- On-chain evidence: every payment and payout has a transaction id (TxID). It's strong evidence, but only if you keep it.
What to record for every payment
These fields make a solid base for crypto payment bookkeeping:
| Field | Why it matters |
|---|---|
| Date and time | Period and rate matching |
| Order number | Linking the sale to a customer and product |
| Invoice id | Linking to the gateway's record |
| Coin and amount | What was actually received |
| USD value | Converting into your reporting unit |
| Rate used and its source | Consistency and explainability |
| Commission | Calculating net revenue |
| TxID | Independent on-chain verification |
| Customer details | Tying the payment to your sales document |
Most of these already live in your payment gateway. In MercanPay the invoice report includes date, invoice id, order id, status, USD amount, coin, amount, amount paid and payment date. See export crypto payment reports for how to download them.
Set a consistent exchange rate policy
Rates are the most common bookkeeping headache with crypto. The right approach depends on your business and your accountant's view, but one principle always applies: be consistent.
- Decide which moment's rate you use (for example, when the payment became final).
- Decide on a rate source and stick with it.
- Write the policy down and share it with your accountant.
USD-priced invoices make this easier. When the customer picks a coin the rate is locked, and the invoice stores both the USD price and the rate (rate_usd). "How many dollars was this sale?" is already answered. The rate lock is explained in crypto payment exchange rate risk.
USDT is a stablecoin designed to track the US dollar, so the rate side is simpler in practice. That's one reason stablecoins are attractive from a bookkeeping angle, as covered in stablecoin payments for e-commerce.
Gross, commission and net
A crypto sale usually breaks down into three lines:
- Gross receipt: what the customer paid.
- Commission: the gateway's share. At MercanPay, commission starts from 0.4% and varies by merchant.
- Net amount: what remains in your balance.
Record the amount credited to your balance for each invoice; network fees are included in what the customer pays and are not deducted from your balance.
The Account activity report in the MercanPay panel does this split for you: each invoice payment and its platform fee appear on separate rows, alongside withdrawals and withdrawal fees.
Track withdrawals and wallet transfers separately
Withdrawing your balance to your own wallet is a transfer, not income. If your records don't keep that distinction clear, you risk booking the same money as revenue twice.
For every withdrawal, keep:
- date, amount and fee ($1–3)
- the destination address and who owns it (e.g. "company operating wallet")
- the TxID
The payout process itself is covered in the crypto balance withdrawal process, and wallet setups in crypto wallet types explained.
Note the special cases
Non-standard payments are what usually muddle the books:
- Underpayments: a partial payment arrived and the rest never did. The amount received is credited to your balance.
- Overpayments: the excess is credited too. If you refunded it, that's a withdrawal; label it as a refund.
- Late payments: a payment to an expired invoice. On USD-priced TRX invoices it's re-priced at the current rate.
- Refunds: there are no automatic refunds in crypto; a refund is a withdrawal you send to the customer's address.
Record each against its order. More in handling underpayments, overpayments and late payments and how to refund crypto payments.
A month-end routine
The easiest way to make bookkeeping a habit is a fixed monthly routine:
- Download the invoice report for "This month". You can export all statuses and filter the paid and overpaid rows in your spreadsheet.
- Download account activity, including commission, withdrawal and fee rows.
- Match against your orders by order id; see idempotent invoices with order_id.
- Apply your rate policy to calculate values in your reporting currency.
- Archive the files, PDF and Excel, named by period.
- Send them to your accountant, noting anything that needs explaining.
Storage and organisation
- Use consistent file names such as
2026-11-invoices.xlsx. - Keep backups in at least two places.
- Don't mix personal and business wallets. Separate business addresses simplify your records enormously.
- Reports contain sensitive data; limit access to the people who need it.
How long you must keep records depends on your business and applicable rules. Ask your accountant.
FAQ
How should I declare crypto income?
That depends on your business structure and current regulations, so please consult your accountant and legal adviser. This article only covers record-keeping in general terms.
Do I need to store each payment's TxID myself?
Your gateway keeps these records, but downloading reports at the end of each period gives you an independent archive of your own.
What should I consider when selling to customers in Turkey?
We cover the general picture in accepting crypto payments in Turkey. For your specific case, speak to your adviser.
Can I import directly into my accounting software?
There's no ready-made accounting software integration, but the CSV and Excel reports work with the import features of most tools.
Get started with MercanPay
Good crypto payment bookkeeping starts with a gateway whose records are easy to export. Apply for a merchant account, start accepting payments and download your records from the panel in one click.


