Crypto Statement to Excel
Convert crypto exchange statements and transaction-history PDFs into Excel or CSV. FlowParse reads each table on the statement and keeps the exchange's own columns — timestamp, transaction type, asset, quantity, spot price, subtotal, total, fee and notes — in the order and under the names the exchange printed.
Scanned or digital · multi-page · every line preserved · review before export
A real sample: crypto exchange transaction history — to a working spreadsheet
A fictional sample document converted by the same engine you get — flip through the source PDF and every export format, or download the files themselves.
If you can still download a CSV from the exchange, that is usually the quickest route, and this page says where Coinbase, Binance and Kraken keep theirs. Converting a PDF is for when the PDF is what you have: an old statement, a closed account, or files a client sent you.
Upload the statement, check what was read, and download Excel or CSV.
No templates
Reads the tables on the page, with no per-provider setup.
Types kept as printed
The statement's own words for each transaction, not a code we made up.
Every column kept
Same names, same order as the statement — one sheet per table.
Checked before export
Completeness check, wrapped headers checked against the page, doubts on a QA sheet.
What FlowParse reads from a crypto statement
An exchange statement is usually one long table of activity, sometimes with a summary or a balances table beside it. FlowParse finds each table and keeps it whole, with the exchange's own column headings, in the order they were printed.
Nothing is renamed into a generic layout, nothing is re-signed and nothing is recalculated, so every row in the spreadsheet can be compared line for line with the PDF.
| Field | Captured in the export |
|---|---|
| Summary | Account holder, statement period and currency, where the statement prints them |
| Date and time | As printed — including the time zone label, such as UTC |
| Transaction type | The exchange's own word: Buy, Sell, Convert, Send, Receive, Staking Income, trade, deposit… |
| Asset and quantity | The coin or token code and the quantity, with the sign the statement uses |
| Price, subtotal, total, fee | Each in its own column, under the exchange's own heading |
| Notes and references | Notes, transaction or ledger IDs — kept as text |
Why crypto statements are awkward to convert
Crypto statements break the assumptions bank-statement tools rely on. There is no single amount column: one row can carry a quantity of coins, a spot price, a subtotal, a total including fees and the fee itself. Quantities run to eight decimal places. Headers wrap over two or three lines, and one transaction can print as two rows with the same timestamp.
A tool that squeezes each row into date, description and amount loses most of that. Keeping the table as printed loses none of it.
New to this? Read the guide on how to extract transactions from a PDF.
From PDF to clean data in three steps
1 · Upload the PDF
Drop one statement or many — digital or scanned, any number of pages.
2 · Each table is read
Summary, holdings, activity — each table kept whole, with the statement's own columns.
3 · Review & export
Check the preview and the QA list, then download Excel or CSV.
Convert to the format you actually need
The same extraction powers every export, so you only convert once and choose the output your next tool expects — a spreadsheet to analyse, a CSV for tax software, or a bank-feed file for your accounting tool.
| Format | Best for |
|---|---|
| Excel (.xlsx) | A Summary sheet plus one sheet per table on the statement, with the exchange's own columns |
| CSV | Every table in one grid — for a spreadsheet, a crypto-tax tool's custom import, or your accountant |
Related: PDF to CSV, Bank Statement to Excel, Brokerage Statement to Excel.
Useful for tax records
The tax forms an exchange sends are summaries. The statements are the detail: every buy, sale, conversion, transfer and reward, with dates and values. In a spreadsheet, that detail can be filtered, totalled and checked against the form.
That is the job here — getting the records into a form you can work with. Working out the tax is a separate step, for a crypto-tax tool or an accountant.
Excel and CSV — not accounting files
Crypto statements export to Excel and CSV. There is no QuickBooks, OFX or Xero file, because those formats describe bank transactions in one currency, and coin quantities at spot prices do not fit without inventing figures.
Money moving between your bank and an exchange shows up on your bank statement as ordinary lines — convert that one for your books.
A year of statements, from several exchanges
Smart Merge combines several statements into one workbook. The same kind of table from each file is stacked into one sheet, with a Source File column first so every row still says where it came from. It takes up to 5 files on the free plan (with an account), 20 on Starter and 100 on Pro.
A year of monthly statements, or statements from more than one exchange, becomes one workbook you can filter by date, asset or type.
What a converted crypto statement looks like
A typical exchange transaction history, as a PDF, carries ten or so columns: a timestamp, the transaction type, the asset, the quantity, the spot price and its currency, a subtotal, a total including fees, the fee itself, and a free-text note. After conversion, the spreadsheet has the same columns in the same order, with the same names. Below is how three rows of such a statement come out.
Two things to notice. The quantities and money columns are real numbers, so you can sort, filter and total them — the thousands separators and currency symbols are gone, the values are not. And the text columns stay text: "Staking Income" is still "Staking Income", not a code FlowParse made up.
| Timestamp | Transaction Type | Asset | Quantity | Spot Price | Subtotal | Total (incl. fees) | Fees | Notes |
|---|---|---|---|---|---|---|---|---|
| 2026-01-03 14:02:11 UTC | Buy | BTC | 0.015 | 94210 | 1413.15 | 1434.35 | 21.2 | Bought 0.015 BTC |
| 2026-01-15 00:00:00 UTC | Staking Income | ETH | 0.0012 | 3410 | 4.09 | 4.09 | 0 | Staking reward |
| 2026-02-02 11:12:45 UTC | Sell | ETH | 0.2 | 3120.4 | 624.08 | 614.72 | 9.36 | Sold 0.2 ETH |
Ledger statements: two rows for one trade
Not every exchange prints a transaction history. Some issue a ledger instead: one row for every change to the balance of one asset. A ledger row usually has a reference, a time, a type such as deposit, trade, staking or withdrawal, the asset, the amount, the fee and the balance of that asset afterwards.
The thing that confuses people is that a single trade becomes two ledger rows. Buying bitcoin with euros prints one row taking euros out — a negative amount — and one row putting bitcoin in, both with the same time and usually the same reference. FlowParse keeps both rows exactly as printed, with their signs, so the euro side and the bitcoin side of each trade are both in the sheet.
Three habits make a ledger easy to work with once it is in Excel:
- Sort by time, then by reference. The two halves of each trade then sit next to each other.
- Filter by asset before you total anything. The amount column mixes euros, bitcoin and every other asset, so a total of the whole column means nothing.
- Use the balance column as a check. On most ledgers, for one asset, the balance on each row should equal the previous balance plus the amount minus the fee. Where it does not, a row is missing or was misread — compare that spot with the PDF.
| refid | time | type | asset | amount | fee | balance |
|---|---|---|---|---|---|---|
| L2 | 2026-01-03 14:02:11 | trade | EUR | -500 | 1.3 | 498.7 |
| L3 | 2026-01-03 14:02:11 | trade | XBT | 0.0052 | 0 | 0.0052 |
| L4 | 2026-01-15 00:00:00 | staking | ETH | 0.0012 | 0 | 0.0012 |
| L5 | 2026-02-01 09:30:00 | withdrawal | EUR | -200 | 0.35 | 298.35 |
For accountants and bookkeepers
Clients rarely hand over a clean CSV. They send whatever they downloaded: a year of monthly PDFs from one exchange, a ledger from another, sometimes a phone photo of a statement. You cannot log in to their accounts, and asking them to request new exports from three exchanges can take weeks.
Converting what they sent gets you working the same day. Merge each client's statements into one workbook, keep the Source File column so every figure traces back to a document, and check the QA sheet before you rely on anything. When a number on the client's tax form looks wrong, the workbook is where you find the line behind it — and the PDF it came from is named on that line.
Two things are worth agreeing with the client up front. First, which exchanges and wallets they used during the year, so a missing statement is noticed now rather than after filing. Second, which transfers were between their own accounts, because the statements alone cannot tell you who owns the wallet on the other side.
Do you need a converter at all?
Often you do not, and it is worth checking before you upload anything. Most large exchanges let you download your history as a CSV file. A CSV is already structured data: open it in Excel, or import it into a crypto-tax tool, and you are done. Converting a PDF only makes sense when the PDF is what you have.
That is more common than it sounds. The cases we see most:
- Statements you downloaded as PDF months or years ago, from an account you have since closed — the exchange will no longer give you a fresh export.
- An exchange that stopped operating, or stopped serving your country, before you exported anything else.
- PDFs a client sends to their accountant or bookkeeper, who has no login to the exchange and cannot ask for a CSV.
- Statements requested by a bank, a lender or a court as PDFs, which now need checking against other records.
- Printed or scanned statements — photos and scans are read too, though a clean PDF from the exchange reads best.
Getting your history out of Coinbase, Binance and Kraken
If you still have access to the account, here is what each exchange says about its own downloads. Menus change, so treat the paths as a starting point and check the exchange's help centre if a menu has moved.
| Exchange | Where | Formats | What the exchange says |
|---|---|---|---|
| Coinbase | Statements page (profile → Settings → Accounts → Statements) | HTML, PDF or CSV | Monthly statements, or a custom statement by asset, transaction type and dates. Available from when the account was created; browser only. |
| Binance | Assets → Asset History → Export Transaction Records | Chosen when exporting | The past 6 months directly, longer periods as a custom range. A limited number of statements a month (15–40, shown on screen); the download link expires after 7 days. |
| Kraken | Documents → Exports (Trades, Ledgers or Balances) | CSV or PDF | Trades and Ledgers need a start and end date, Balances one date. Processing can take from a few minutes to a week, and there is no email when it is ready. |
What the IRS asks you to keep
In the US, the IRS says that if you had digital asset transactions you should keep records documenting your purchase, receipt, sale, exchange or any other disposition of digital assets, and the fair market value in US dollars of digital assets received as income or as payment in the ordinary course of a trade or business. Every Form 1040 also asks whether, during the year, you received digital assets as a reward, award or payment, or sold, exchanged or otherwise disposed of them.
Since 2025, brokers — which includes the exchanges most people use — report your sales to the IRS on Form 1099-DA. The IRS says brokers must report gross proceeds for transactions on or after 1 January 2025, and basis on certain transactions on or after 1 January 2026. Sales and other disposals of digital assets held as capital assets go on Form 8949.
None of this is tax advice, and the rules differ outside the US. The practical point is the same everywhere: the tax form you receive is a summary, and the statements are the detail behind it. A spreadsheet of every line, with dates, types, quantities and values, is what lets you or your accountant check that summary.
Checking a 1099-DA against your statements
For 2025, the 1099-DA shows gross proceeds — what you received — and often not what you paid. That makes your own records more important, not less. A check you can do in an evening:
- Convert every statement for the tax year from each exchange, and merge them so all the activity sits in one sheet.
- Filter the type column to disposals — Sell, Convert, or whatever the exchange calls them — and total the proceeds column. Compare with the gross proceeds on the 1099-DA from that exchange.
- If the totals differ, sort by date and look at the first and last weeks of the year. Timestamps in UTC can put a late-evening New Year's Eve sale into the next tax year.
- Look for disposals the form does not show, and the reverse. A conversion between two coins is a disposal of one and an acquisition of the other; a send to your own wallet is neither.
- Keep the workbook with the return. If a figure is questioned, the line behind it is one filter away.
Five spreadsheet mistakes with crypto data
Crypto statements look like bank statements, but the same spreadsheet habits give wrong answers. These five come up again and again.
Treating sends and receives as income or spending. A send from an exchange to your own wallet, or a receive from it, moves the same coins between two places you own. It is not a sale and not income. Filter transfers out before you total anything that should mean gains or income — but check the notes, because a send to someone else can be a disposal.
Totalling the wrong money column. Many statements print both a subtotal and a total including fees. On a buy, the total is higher than the subtotal; on a sell, lower. Pick one column and stick to it, and know which one your tax tool expects.
Ignoring the currency column. If you have used the same exchange from two countries, or switched the account currency, rows can be priced in different currencies on the same statement. Totalling across them adds euros to dollars. Filter by currency first.
Counting a conversion twice, or not at all. Some exchanges print a conversion as one row with a note naming both coins; others, especially ledger-style statements, print two rows with the same timestamp — one negative, one positive. Both are right, and you need to know which layout you have before you count disposals.
Dropping staking and reward rows. Staking income, rewards and interest are often small, frequent and easy to filter away as noise. The IRS counts digital assets received as income at their fair market value in US dollars, so keep them.
Several exchanges in one workbook
Most people with a tax question have used more than one exchange. Smart Merge puts their statements in one workbook. Columns with the same name line up: if two exchanges both print "Asset", their assets share one column. Columns only one exchange prints are kept as their own columns, empty on the other exchange's rows. The first column says which file each row came from.
Two cautions. Exchanges name things differently — one prints "Quantity Transacted", another "amount" — so after a merge you may want to copy one column into the other. And there is no duplicate check across files on these sheets, so do not upload two statements that cover the same dates from the same exchange; the overlapping rows would appear twice.
How the reading is checked
Crypto statements are dense: long numbers, eight decimal places, and headers that wrap over two or three lines. A wrapped header is where a reading can go wrong without looking wrong — every number in the right place, but a column name over its neighbour's values. So when a header wraps, FlowParse also reads the column names from the image of the page and compares their order. If they disagree, the page is read again from the image; if that still cannot be confirmed, the statement is marked for review instead of passing as verified.
Every table also goes through a completeness check, and anything the reader was unsure of is listed on a QA sheet. Before you rely on the file, compare a few rows and the row count with the PDF — it takes a minute.
Before you upload: a short checklist
A few minutes of preparation saves a second round of conversion later:
- Collect every statement for the period from every exchange, and note any months that are missing. A gap in the PDFs becomes a gap in the spreadsheet, and nothing in a single statement can tell you it is there.
- Prefer the PDF the exchange generated over a printout or a photo. Scans and photos are read too, but a digital PDF has the text itself, not a picture of it.
- If a PDF asks for a password, have it ready — the upload asks for it rather than skipping the file.
- Upload one exchange's statements in date order and check the first converted file against its PDF before you do the rest. If the first one reads well, the others from the same exchange usually will too.
- Write down which wallets and accounts are yours. You will need that list to tell transfers from disposals once the data is in Excel.
What this does not do
There is no QuickBooks, OFX or Xero file for a crypto statement. Those formats describe bank transactions in one currency; a statement of coins, quantities and spot prices does not map onto them without inventing figures. You get Excel and CSV.
It does not calculate cost basis, gains or tax lots, and it does not fetch prices. Values are whatever the exchange printed on the statement. It does not rename transaction types into a standard set either — the exchange's own words are kept, so you can see exactly what the exchange said. And it does not connect to wallets, exchanges or blockchains: it reads the documents you upload. For a full tax calculation, a crypto-tax tool or an accountant does that part; the converted statements are the records you give them, or use to check their work.
Your financial data stays private
Account and transaction statements are sensitive documents. FlowParse is built so converting one never puts it at risk.
Encrypted transfer
Every upload and download runs over TLS.
Deleted automatically
Your original PDF is deleted automatically after 30 days.
EU servers
Stored on servers in the EU.
No AI training
Your documents are never used to train models. GDPR-aligned.
Read the full security overview.

