CoinTracker supports many blockchains, exchanges and wallets natively. However, certain situations demand a manual data import via CSV files, especially when automatic syncing isn’t possible or as a temporary fix in case of a bug. When available, CoinTracker will provide the option to upload the CSV file you get directly from the exchange or wallet. If this isn't possible, you'll need to upload your transactions in the CoinTracker CSV format. This guide delves into this solution.
Let’s quickly get your transaction histories you downloaded from a wallet or an exchange into CoinTracker using a simple and straightforward process.
Formatting Your Transaction History CSV to the CoinTracker format
Successfully converting and importing your transaction history CSV file will allow CoinTracker to seamlessly analyze and include those transactions in your crypto portfolio, ensuring accurate tracking and reporting.
Step 1: Export Your Transaction History
- Navigate to the exchange or wallet you wish to add to CoinTracker.
- Seek the option for exporting transaction history, usually available as a CSV file. If you do not see this option, please contact the exchange or wallet to ask if it is available.
Step 2: Prepare Your CSV for CoinTracker
- Download our template.
- At this point, you should ensure your CSV aligns with CoinTracker's format. Please download and use our template to make things easier. Add your transactions into our template.
💡 Quick Tip: If using Excel or Mac's Numbers app and encountering issues, try using Google Sheets to edit and re-save your CSV before uploading it to CoinTracker.
Step 3: Put the right information under each column
|Date||Received Quantity||Received Currency||Sent Quantity||Sent Currency||Fee Amount||Fee Currency||Tag|
Now, you’ll need to add all the data you have from your existing CSV to the template you’ve downloaded.
- Date (Column A): Enter the exact date and time of the transaction. Make sure to convert it to the format MM/DD/YYYY HH:MM:SS. For example, "06/14/2017 20:57:35".
- Received Quantity (Column B): This is the amount of crypto you have received. If you haven't received any, for example because you sent crypto to another wallet, leave it blank.
- Received Currency (Column C): Here, put the ticker of the cryptocurrency you received (e.g., BTC for Bitcoin, ETH for Ethereum). If there was no crypto received, leave it blank.
- Sent Quantity (Column D): This is the amount of crypto or fiat currency you sent. If you haven't sent any, for example, when receiving staking rewards, leave it blank.
- Sent Currency (Column E): Indicate the ticker of the cryptocurrency or the fiat currency you sent. If none was sent, leave this blank.
- Fee Amount (Column F): Enter the amount of the transaction fee you paid. If there was no fee, leave this blank.
- Fee Currency (Column G): Input the ticker of the currency in which the fee was paid. If there was no fee, leave this blank.
Tag (Column H): Optional. This column is for any tags you want to associate with the transaction. Only the following tags are allowed and you can’t add notes to this section. Send transactions’ possible values include gift, lost, donation, margin fee. Receive transactions’ possible values include fork, airdrop, mined, payment, staking, margin, margin rebate, and interest. Trades and transfers cannot have tagged values. If there are no specific tags, leave it blank. See our tag definitions guide for more information.
Note: Adding a tag to your CSV imported transaction will update the transaction type once imported into CoinTracker. For example, if you import an incoming .01 ETH it will have a type of 'Receive' but if you add a Staking tag, the type will be 'Staking rewards'.
Key points to note:
- Header Row: Must match the template provided by CoinTracker exactly—typos will cause an import error
- Order of Columns: Can be in any order but all must be present.
- Date Format: Preferably MM/DD/YYYY HH:MM:SS, though other common formats are recognized.
Step 4: Upload Your CSV to CoinTracker
- Visit the CoinTracker upload page.
- Upload your prepared CSV file.
Examples for Different Types of Transactions:
When you stake, you're usually receiving rewards at intervals.
- Date: "09/01/2023 00:00:00"
- Received Quantity: "0.01" (the staking reward)
- Received Currency: "ETH"
- Sent Quantity: (leave blank)
- Sent Currency: (leave blank)
- Fee Amount: (leave blank) (usually no fee for receiving staking rewards, but it can vary)
- Fee Currency: (leave blank)
This is when you're transferring crypto between wallets or exchanges.
- Date: "09/02/2023 12:30:00"
- Received Quantity: (leave blank: you're not receiving, you're sending)
- Received Currency: (leave blank)
- Sent Quantity: "5"
- Sent Currency: "BTC"
- Fee Amount: "0.0001"
- Fee Currency: "BTC"
This is when you're buying crypto, similar to your provided example.
- Date: "09/03/2023 15:45:25"
- Received Quantity: "1"
- Received Currency: "BTC"
- Sent Quantity: "45000"
- Sent Currency: "USD"
- Fee Amount: "0.0004"
- Fee Currency: "BTC"
This is when you're selling your crypto for fiat or another crypto.
- Date: "09/04/2023 17:00:00"
- Received Quantity: "3000"
- Received Currency: "USD"
- Sent Quantity: "1"
- Sent Currency: "ETH"
- Fee Amount: "0.01"
- Fee Currency: "ETH"
Note on Duplication
Be mindful that importing transactions that are already in your account can cause duplicates as CoinTracker currently lacks a duplicate detection feature. If you notice duplicate transactions, you can delete them individually or delete the wallet you imported via CSV.
Avoiding Common Pitfalls
- Negative Numbers: Ensure your CSV contains no negative numbers.
- Currency Symbols: Ensure they match available symbols when manually adding transactions.
Feedback & Improvement
Your feedback is invaluable! If a smoother CSV conversion process is something you’re advocating for, please upvote this feature request. Similarly, if you're eager for a duplicate detection feature, express your support here.