TL;DR: If your exchange or wallet isn’t supported directly by CoinTracking, you can still import trades using the Custom Importer. This tool allows flexible importing from most sources, as long as you correctly assign the required fields (buy/sell amount and currency). For some exchanges (e.g. Kraken) a direct import via a native export file is available and easier than manual mapping. Note that gain/tax reports only take disposal transactions (sell, spend, fee) into account. Deposits and withdrawals are treated as internal transfers and excluded from gain calculations, which can affect what your start/end-of-year portfolio value shows.
Overview
If your exchange or wallet is not supported directly by CoinTracking, you can still manage your trades using the Custom Importer. This tool allows for flexible importing of trades from almost any source, as long as you match the necessary fields correctly.
You can also manually add transactions via the Transactions page or use the Excel Bulk Import, which comes with a template containing predefined transaction types (including Mining) and may be a better fit than the generic Custom Importer for certain data sets. The Custom Importer is best when you want more control over formatting or have a large, non-standard dataset.
Steps to Use the Custom Importer
Step 1: File Format and Settings

Column Separator: Usually auto-detected. Adjust only if necessary.
First Line: Choose the line where your first trade starts. Often line 2 for exchange exports (header in line 1), line 1 for self-made files.
Duplicate Imports: Already imported trades are skipped unless you explicitly allow duplicates.
Trade Data Fields
Trade Date
Buy Amount: Quantity purchased
Buy Currency
Sell Amount: Quantity sold
Sell Currency
If both currencies are in the same column (e.g., "BTC/LTC"), define the delimiter under parameters.
If a column contains a combined/split value (e.g., "filled/order" quantity separated by a slash), use the delimiter option so only the relevant part of the value is parsed as the buy or sell amount.
Optional Data Fields
Fee Amount and Fee Currency: Must be configured if you need calculations.
Trade ID: Prevents duplicate imports
Comment: Displays additional info alongside trade
Additional Options
Exchange Name: Assign one name to all trades (e.g., Bitpanda)
Trade Group: Categorize trades (e.g., "Mining")
Save Settings: Store settings for repeated imports
Step 2: Check the Main Table
Once you've assigned fields, check the preview table. Make sure:
Values and dates are correct
No errors or misaligned data exist
Both buy and sell information (amount and currency/coin) are fully present for each row. If either side is incomplete, the row will not be imported
Step 3: Apply Parameters (If Needed)
Add up to 10 custom rules. Examples:
Declare as Deposit if Column 1 = Deposit
Declare as Withdrawal if Buy amount = 0
Reverse Buy/Sell if a column equals "Sell"
Adjust Fee Amount based on trade value (e.g., Buy amount * 0.0015)
Ignore lines with specific content (e.g., if Column 7 contains "ledger")
Assign a fixed sell currency for derivative/futures loss lines (e.g., set it to your margin currency) to avoid a "Missing sell currency" error on rows that only show a loss amount
Step 4: Start Import
Once all fields and rules are correct, click Start Import
Save your settings for future use
Custom Settings Templates
You can now save, export, and import Custom Importer settings using template files.
Troubleshooting Common Import Errors
"Empty Timestamp" error. This is a generic error message. It usually points to a general formatting problem in the file rather than specifically to a missing or misread timestamp field, so check all mapped columns (not just the date) if you see it.
Row not imported / missing data. For a trade to be imported, both the buy side and the sell side need complete data (amount and currency). If either is missing, the row is skipped rather than partially imported.
"Missing sell currency" on derivatives/futures rows. This typically happens on loss lines that don't have a natural sell currency. Use a custom parameter (Step 3) to assign a fixed sell currency to these rows.
Importing Futures & Derivatives Data
Derivatives and futures exports often mix different fee and currency types, which needs special handling:
Fee to Open: classify as Other Fee
Funding Fee: classify as Derivatives/Futures Loss
Avoid using Other Fee for columns that contain both positive and negative amounts. This fee type is meant for single-direction values, so mixed-sign columns need to be split or handled with parameters instead.
Mixed currency denominations (e.g., CoinM vs. USDT-margined contracts in the same file) usually can't be resolved with Custom Importer parameters alone. In these cases, it's often easier to manually add a helper column to your file, or to use the Excel Bulk Import template instead of the Custom Importer.
Alternative Ways to Import Transactions
Kraken: Instead of manually mapping fields in the Custom Importer, Kraken trades can be imported directly using your Ledger History export file via the dedicated Kraken import option. Manual field mapping via the Custom Importer is only needed if a direct import isn't viable for your data.
Excel Bulk Import: For a more structured, template-based import, use the Bulk Excel Import instead of the Custom Importer. It uses the following columns, in this order: Type, Buy Amount, Buy Currency, Sell Amount, Sell Currency, Fee, Fee Currency, Exchange, Trade-Group, Comment, Date, Liquidity Pool. The Type column must match one of the exact predefined transaction type names supported by the template.
Manual entry: Individual transactions can also be added directly on the Transactions page instead of importing a file.
When preparing a custom or bulk import file, double check ambiguous columns such as Quote Currency, Amount, or Base Amount, and confirm whether fees are already included in the Base Amount. This affects how the trade and fee values should be mapped.
How Deposits, Withdrawals, and Tax Reports Interact
Gain and tax reports only include disposal transactions: sell, spend, and fee entries. Deposits and withdrawals are treated as internal transfers and are excluded from gain calculations.
This is also why your portfolio value at the start or end of a year can show as zero even though you hold coins: if those holdings entered your account via a deposit (rather than a trade), they aren't reflected in the gain calculation the same way disposal-based trades are.
Editing Multiple Transactions at Once
If you need to correct several transactions after import (e.g., after identifying a mapping issue), you can bulk-edit them manually:
Use the filter on the Transactions page to narrow down the relevant entries.
Select multiple rows using Ctrl-click or Shift-click.
Click Edit to apply changes to all selected transactions at once.
The Comment field (if populated during import) can serve as a helpful reference to identify and filter specific transaction types during manual review.