Excel export for Crypto accountants
Clients rarely export complete trade history; the email trail fills the gaps and proves the missing trades. This page lists the exact columns, an example row and the command that produces it.
Columns to keep
| Column | Why it matters |
|---|---|
exchange | Which exchange or wallet provider sent the message. |
trade | Trade description (pair and side). |
fee | Fee amount with its own currency column. |
cost_basis | Cost basis value as recorded; the method is chosen by the accountant. |
period | Month or quarter, so each export is a closed, auditable slice. |
Example row
One real-shaped row from this role’s export:
| exchange | trade | fee | cost_basis | period |
|---|---|---|---|---|
| Kraken | BTC/USDT buy | 12.40 | 61,200 | 2026-Q3 |
Export it in one command
python mail_to_excel.py \
--host imap.example.com --user you@example.com \
--days 31 --fields exchange,trade,fee,cost_basis,period \
--out crypto-accountant.xlsx
The --fields option is what turns a raw dump into a report your role can use.
Provider notes
Corporate mailboxes for accounting firms often enforce OAuth; confirm before relying on app passwords.
Two pitfalls that ruin the file
- Trades executed in the app never reach email — Flag those periods as incomplete instead of assuming zero activity.
- Fees are in a different currency than the trade — Keep a separate fee currency column; never convert silently.
Next step
Step-by-step: export crypto accountant email to Excel · all roles · ready script ($3)
FAQ
Does this calculate cost basis?
No. It collects the rows; the method (FIFO, average) is chosen by the accountant.
What about staking rewards?
Add a «type» column and export reward notifications separately from trades.
Is there a ready script for this?
Yes — the Python script exports any IMAP mailbox with the fields listed above; it costs $3 and runs locally.
Related guides
- Export crypto accountant email to ExcelStep-by-step with the same columns and command.
- All roles20 professions, one export method.