This warning indicates that you are withdrawing (or selling) more than you had in your wallet/exchange at that time.

For example:

This means that, based on all the transactions imported, you should have 1 ETH in your wallet, but you are withdrawing 2 - hence Missing purchase history for 1 ETH error.

What causes this error?

There can be multiple reasons for this error to happen, all of which can be categorized as “inaccurate data”.

  • Missing transaction history for previous years

  • Gaps in the transaction history - some transactions are missing

  • Duplicate transactions imported

  • Some CSV files were imported in the wrong timezone

  • Missing airdrops, forks, signup bonuses

  • Double-counted trade fees

  • Manual transactions were added but were not needed

The solution is to import the missing data into Koinly or remove the incorrectly imported (i.e. duplicated) data.

Ways of fixing this error

🟡 Note: It's not possible to set the cost basis manually - Koinly is calculating the cost basis based on previous transactions. To fix this error, you need to fix the transaction history.

General remarks

Make sure that your data is complete and accurate. Remember that you need to import all your wallets and all the transactions for all the previous years.

  • Review your transactions following our article on How to ensure your Tax Report is accurate.

  • Do not connect an API and import CSVs from the same exchange to the same wallet, as it often creates duplicates.

  • When importing CSVs, remember to choose the timezone the timestamps in the files are in (if different than UTC) - almost all the files from the exchanges are in UTC and you don’t need to do this, but there are exceptions - see How to import a CSV file using a different timezone for details.

  • Avoid adding manual transactions unless you’re sure this is the only way.

1. API: Check the integration instructions

Be sure to find your wallet/exchange in our integration instructions to check that you followed them step-by-step. It does happen that, for example, you forgot to check some permissions when setting up the API.

Unfortunately, Exchange APIs are often limited and do not provide complete transaction history (see Exchange API limitations for more information). We list known limitations of every API on our integration pages.

2. CSV: Import data using CSV files

Often CSV files you can export from an exchange are more complete than what you can get using the API sync. Kindly follow the instructions on our integration pages to download the correct files.

Be sure to delete the wallet connected via API.

You can add the API connection after you uploaded all your files - if you do, be sure to set the “Start import from” date to the current day, in order to avoid syncing any past transactions (which would create duplicates).

3. Double-counted fees

This issue doesn’t happen often, which is why it’s one of the last steps.

Sometimes exchanges provide the information about the fee separately but also include it in the “Sent” amount.

🔵 Example: you paid 1000 USDT to buy 1 ETH and paid a 10 USDT fee.

If you notice that, in Koinly, you have both “sent” as 1010 USDT and the fee listed separately as 10 USDT, kindly contact our Support so we can investigate and update/fix our importer.

4. Adding transactions manually

If all fails, you can always “fill the gaps” in your transaction history by adding transactions manually in Koinly (if you know/remember what transactions are missing).

This can happen if you had some “special” transactions that your exchange is simply not reporting anywhere, these may include:

  • Airdrops

  • Forks (i.e. BCH, ETHW)

  • Rebases (BTT, BNBDOWN)

Check our article How to Find Missing Transactions for more tips on how to locate the time of the error.

Do I need to fix this error?

It’s best to import complete data to Koinly. Incomplete data will always result in inaccurate tax calculations. In order for the calculations to be tax-compliant, we are assuming a $0 cost basis for all the assets that generate this error - as if you got them “for free”.

This often inflates your taxable gains - you can see what is the value of assets where a $0 cost basis was assumed on our Tax Reports page:

As such, “dust” errors (i.e. missing purchase history for 0.00001 ETH) can be ignored as these are most likely rounding errors and will not have a substantial effect on the tax calculations.

See our article about the We have assumed a cost of zero for some assets warning for more information.

Can the Tax Office object if I submit a tax report with these errors?

No. Koinly uses zero cost basis for coins that do not have a purchase history. This is what tax authorities recommend as it means you pay tax on the full amount when you sell the coins (without deducting any costs).

Did this answer your question?