FastBankConvertFastBankConvert home

Crypto Exchange Statement to Excel: Trades and Fees

By FastBankConvertPublished March 28, 2026Updated March 28, 2026

To get a crypto exchange statement to Excel, split every trade into the coin you gave and the coin you got, put fees in their own columns, and label deposits, withdrawals and rewards separately. Import coin amounts as text first so no decimals are lost, and convert each timestamp to one time zone, usually UTC.

Crypto exchange statement rows: trades, fees, transfers and rewards

A crypto exchange statement mixes several kinds of rows: trades between two assets, fees, deposits and withdrawals of coins or cash, and rewards such as staking or interest. Each kind behaves differently in a spreadsheet, so give every row a Type column first. Every later step, from balances to gains, filters on it.

Common row types

Names vary by exchange, but most statements boil down to these:

  • Trade, buy or sell: one asset exchanged for another, at a price.
  • Fee: a charge, either on the trade row or as its own line.
  • Deposit: coins or cash arriving from outside the exchange.
  • Withdrawal: coins or cash leaving, often with a network fee.
  • Reward: staking, interest, airdrops or referral bonuses credited to you.
  • Conversion: a one-click swap the exchange prints differently from an order-book trade.

Map whatever the exchange prints onto a short list of your own types, and keep the original label in a second column.

PDF statements versus CSV exports

Many exchanges let you download a CSV of transaction history as well as a PDF statement. The CSV usually holds more precision and one row per event, so take it when it is offered. The PDF is often what you have when an account is closed, when a lender or accountant asks for the official statement, or when only monthly summaries were saved. Those PDFs can run to hundreds of pages of activity. The guide on converting only the pages you need from a PDF to Excel covers pulling out the activity pages and skipping the cover and disclosures.

How do you keep coin amounts with many decimals exact?

Keep coin amounts exact by importing them as text, not as numbers, and converting only where you need arithmetic. Bitcoin divides to eight decimals and many tokens to eighteen. Excel stores numbers to about fifteen significant digits, so a large token amount with eighteen decimals loses its tail the moment it becomes a number.

Where Excel cuts digits

A value like 0.00031250 fits comfortably. A value like 1532.123456789012345678 does not: Excel keeps the first fifteen significant digits and replaces the rest with zeros. The cell looks fine at a glance and sums without error. Only a comparison with the source shows the drift.

A two-column approach

Import the amount column as Text. Then add a numeric column next to it for arithmetic. For most coins at eight decimals, that numeric column is exact enough. For tokens with very long amounts, keep the text column as the record and accept that totals in Excel are approximations; a script or database with a decimal type is the place for exact sums.

Display formats are not storage

Formatting a cell to show eight decimals does not add precision. It only shows what is stored. If the import already rounded 0.123456789 to 0.12345679, no format brings back the last digit. Fix the import, not the format.

Separators and symbols

Some statements print amounts with a coin symbol attached, such as 0.0500 BTC, or with thousands separators. Split the symbol into an Asset column and remove separators before converting. A comma used as the decimal mark, common in European exports, needs swapping before Excel will read the value.

Exchange timestamps and the time zone of each row

Exchange statements print timestamps in one time zone, and it is not always yours. Some use UTC, some use the account's local zone, and the PDF may or may not say which. Find the zone in the column header or the statement notes, then convert every row to one zone before sorting or matching.

Why it matters

A trade at 23:30 UTC on December 31 is a January 1 trade in Tokyo and still December 31 in New York. The calendar year a trade falls in decides which year's records it belongs to. Two exchanges that use different zones will also put the same transfer on different dates, so a withdrawal from one and the matching deposit on the other appear not to match.

Converting in Excel

Excel dates have no time zone. Once the timestamp is a real date and time value, add or subtract hours as a fraction of a day: one hour is 1/24. Keep the original timestamp text in its own column and put the converted value beside it, labelled with the zone. Daylight saving time makes fixed offsets wrong for part of the year in many places, which is one reason to keep everything in UTC.

Text timestamps

Timestamps such as 2026-02-04T09:12:40Z arrive as text. Strip the T and the Z, or use a formula to split date and time, then convert. Check a few rows by hand against the PDF after converting.

Trading pairs and fees charged in a third coin

A trade on a pair such as BTC/USDC is two movements: one asset leaves your balance and another arrives. Record each movement as its own row, or as a sent and a received column on one row. Fees are a third movement, and they are often charged in a different asset from either side of the trade.

Worked example: five rows reshaped

The rows below are a made-up sample, already converted to UTC.

Time (UTC) Type Asset Amount Fee asset Fee
2026-02-03 14:05:11 Deposit BTC 0.05000000
2026-02-04 09:12:40 Sell BTC -0.02000000
2026-02-04 09:12:40 Buy USDC 1140.00 USDC 1.14
2026-02-04 09:20:02 Sell USDC -1100.00
2026-02-04 09:20:02 Buy ETH 0.40000000 ETH 0.00040000
2026-02-09 00:00:00 Reward ETH 0.00031250
2026-02-11 18:44:57 Withdrawal BTC -0.01000000 BTC 0.00002000

Each trade became two legs with the same timestamp, so the five statement events became seven rows.

The per-coin balance check

Sum Amount minus Fee for each asset:

  1. BTC: 0.05 minus 0.02 minus 0.01 minus 0.00002 = 0.01998.
  2. USDC: 1140.00 minus 1.14 minus 1100.00 = 38.86.
  3. ETH: 0.40 minus 0.0004 plus 0.0003125 = 0.3999125.

Compare each with the closing balance the statement prints per asset. A mismatch usually means a fee was missed, a trade leg was dropped, or a reward was left out.

Fees in a third asset

Some exchanges let you pay trading fees in their own token at a discount. Then a BTC/USDC trade has a fee in a third coin. The Fee asset column handles it: the fee reduces that token's balance, not BTC or USDC.

Do crypto transfers between your own wallets count as trades?

Moving coins between your own wallets or exchange accounts is not a trade: you own the same coins before and after. Label these rows Transfer, match each withdrawal to the deposit on the other side, and keep them out of any gains or income totals. The network fee on the transfer is still a real cost, though.

Matching both sides

A withdrawal of 0.01 BTC from one exchange should arrive as a deposit of slightly less, after the network fee, on the other. Match on asset, amount less fee, and a time window of a few hours. Many exchanges print a transaction hash; when both sides show it, match on that instead.

When you cannot tell

A deposit with no matching withdrawal in your records could be a transfer from a wallet you forgot, a purchase elsewhere, or a payment from someone else. Mark it as Unknown rather than guessing. An unexplained deposit needs a source before it goes into any tax figures.

A mistake to avoid

Treating every withdrawal as a sale overstates disposals and can create gains that never happened. Treating every deposit as a purchase at zero cost does the opposite. Both start with the same error: missing the Transfer label.

When a crypto exchange statement is not enough for tax records

A crypto exchange statement lists what happened, but tax records in the US also need the US dollar value of each event and the cost basis of what you sold. The IRS treats digital assets as property, so each sale or swap can produce a gain or loss that needs those values. The statement alone often lacks them.

What the IRS asks for

The IRS digital assets page says digital assets are property for US tax purposes, that transactions must be reported whether or not they produce a gain or loss, and that the fair market value at the time of a transaction is measured in US dollars. It also says brokers report digital asset sales on Form 1099-DA for transactions on or after January 1, 2025. Keep your Excel sheet as your record of each event, and compare it with any 1099-DA you receive.

Adding US dollar values

If the statement prints a USD value per row, keep it. If it does not, add a column and record the source you used for each price. A spreadsheet that shows its prices and where they came from is easier to defend than one with totals alone.

The same habit for other accounts

The method in this post, one row per event with a type and a check against the printed balance, also suits other accounts that carry their own rules. The HSA statement to Excel guide applies it to health savings contributions and distributions, and the medical bill PDF to Excel guide uses it to line up the bills those distributions paid.

The bank side of a crypto purchase

Cash going into an exchange usually starts in a bank account. FastBankConvert is being built for that bank statement part, turning statement PDFs into Excel, CSV or JSON and telling you before download when the balances do not add up. It does not read exchange statements, and it is not open yet; the get-started page lists you for launch.

All posts in Other financial documents