The easiest way to import transactions from an exchange, wallet, or blockchain is to connect with API keys or import an exported CSV/XLSX file to Coinpanda. Even though we support almost all popular exchanges today (and we are continuously adding support for more), there might be a few reasons why you want to import transactions using our generic Excel file template instead:

  • The exchange does not support API or export of transactions as CSV/XLSX file

  • The exported file from the exchange contains wrong or missing data

  • The exchange/wallet/blockchain is not supported by Coinpanda yet

Below is an example of how transactions may be entered in the generic file template:

How to import transactions with generic file template:

  1. Download the sample file in either CSV or XLSX format
    Download CSV file →
    Download XLSX file →

  2. Delete all example transactions and add your own according to the requirements below

  3. Save the file and upload it to Coinpanda
    Note: You can upload the file to all wallets!

How to upload the generic file

Click Import data from file

Select the file you want to upload. Then click the Import Transactions button.

That's it!

We recommend editing the generic XLSX file using Microsoft Excel since using other editing software might break the file format such that the file cannot be uploaded. If you prefer to use the generic CSV file instead, then we recommend using an editor such as Notepad++ which does not break the formatting by adding extra quotes to the columns. It is NOT recommended to edit CSV files using Microsoft Excel.

Please do a test import of the file to make sure the file format is not broken after adding a few transactions before you spend a lot of time adding the remaining data!


  • Date: All dates should be UTC timezone

  • Type: Type must be either Trade, Transfer, Send, or Receive (see below for explanations)

  • Sent Amount: The amount sold/withdrawn/sent (outgoing)

  • Sent Curr: Currency sold/withdrawn/sent (outgoing)

  • Received Amount: The amount bought/deposited/received (incoming)

  • Received Curr: Currency bought/deposited/received (incoming)

Optional fields

  • Fee Amount: Any associated fee amount

  • Fee Curr: Fee currency if you paid any fee

  • Label: You can only specify labels for Receive or Send transactions:
    Type=Receive: Airdrop, Fork, Gift, Mining, Staking, Income, Realized P&L
    Type=Send: Lost, Donation, Gift, Cost, Margin Trading Fee, Margin Funding Cost, Realized P&L

  • Description: Description of the transaction, eg. "Sent bitcoin to mom"

  • TxHash: Transaction Hash

Important about fee

The fee is always on top of what you paid or sent. Example: you bought 0.5 BTC and paid 4,500 EUR + 25 EUR in fees. In this case, Sent should be 4,500 EUR, Received should be 0.5 BTC, and Fee 25 EUR. Alternatively, you can specify Sent as 4,525 EUR (total amount paid) and leave Fee empty which gives the same cost basis.

Transactions from sample file explained

Example #1 - Row 2
The first transaction in the sample file is a Trade transaction. In this case, we have bought 1.5 BTC and paid 5,000 USD. We did not pay any fee so this field is left empty.

Example #2 - Row 5
This is also a Trade transaction. On the 4th of January, we sold 10 ETH and got paid 850 USD. We did also pay a fee of 0.001 BTC to the exchange which is specified in the Fee column.

Example #3 - Row 7
We made a withdrawal of 20,000 ADA from an exchange. The exchange charged a fee of 5 ADA for the withdrawal which is specified in the Fee column. Note: we must specify 20,000 ADA in the Sent column (a withdrawal is outgoing). Type should be Transfer for both withdrawals and deposits from exchanges and wallets.

Example #4 - Row 9
Ontology did an Airdrop of ONT tokens to early supporters. We were lucky and received 1,000 ONT on the 8th of January. Note that the amount is specified in the Received column because an airdrop is always incoming (an increase in our holdings).

Did this answer your question?