Binance nightmare... How are you using Koinly to tackle Binance tx?

Describe the problem:
Importing Binance transactions results in huge discrepancies between what’s reported by the API (accurately) and what is calculated by Koinly.

Which exchange/wallet is this regarding?

How did you import data into this wallet?
I’ve tried API only, ALL tx import via csv (Overview> Generate all reports) and a mix of both.

What have you tried to fix this so far?
As per the above, using bot API and the all tx csv and Much Much elbow grease -spent weeks with no proper results.

I have a few questions for the community, since Koinly Support is clearly understaffed and overwhelmed.
BTW, I am filing Canadian taxes - should anyone be well versed in filing Canadian taxes using Koinly - please DM me. I am running out of time and still have key questions to be answered. I am clearly going to have to file as business income.

  1. Binance MARGIN trading - when I signed up for Koinly I did knowing that margin trading IS fully supported - that’s a joke - it is not, which you now probably know.
    QUESTION: how are you dealing with Binance margin transactions?
    I tried both the API (which does not import margin tx at all) and ALL tx csv import. The latter brings everything in (including lots of dups). The main problem with this csv is that it is organized as buy/sell or in/out log, as opposed to a full tx (with both parts of a trade for example. And Koinly does NOT do any merging of operations, so a trade is seen as a deposit and a withdrawal. This is applicable to spot as well. But when it comes to margin, things get out of control due to the loan and repay components as well. And Koinly seems to lose track and end up with silly balances.
    How do YOU track margin trades in your Koinly tax returns?
  2. Do any of you have a bullet proof solution to tracking Binance spot + margin tx in Koinly, ending up with NO errors/ big gaps?

I am having same problems as you described above. Please let me know if you have find any solution.

1 Like

I am using a competitor’s product for margin, export the csv, adjust it to fit Koinly format, import it.
I have created a separate Binance margin account and ensured that there are in/ out matching transactions in the Binance sport and margin wallets.
You still have to do a lot of elbow grease as Koinly does not support seconds in the timestamps and, as a result, the order of some transactions is off.
It doesn’t help that Binance has some duplicate tx either, so those have to be fixed manually.

Honestly, I started thinking of developing a product of my own - no tax sw that works with Canadian tax is perfect. That competitor has other issues as well.

I wish I’ve got the advise above way back - like 2 months ago. I am now almost done.

I hope this helps others. Since Koinly does not even bother to check and reply to the community I will name the other solution - Cointracker - they support margin since recently. As I said, they have other issues though, which is why I didn’t jump the ship.



One more thing… You have to download the full tx csv from Binance as well, filter for the distribution stuff (airdrops, etc), the commission history (if you have referrals) and the small tx (dust conversions).
You will then have to convert to Koinly format and import into Koinly.
Be careful at all times, or you will have to redo all steps from the beginning.

Can I ask what competitor are you using?
Binance APY import is not useful at all. I’m missing over 3k transactions.

Not exactly the same issues as you face but I discovered that imports from Binance CSV (ALL) was skipping entries that had different “operations” like “Transaction Related” or “Large OTC trading” entries (in my spot account) and maybe the same happens with the API import.

Perhaps not the same issue but If you haven’t verified those operations from the CSV it may be worth taking a look at.

1 Like

Any solution to this problem? Koinly is working to solve this? Thanks

Any solution to this problem? Koinly is working to solve this BINANCE CHAIN? Thanks

You most likely need to download and import the CSV files from Binance, manually. Go to Wallet > Transaction History > Generate All Statements. Once downloaded, import it on the wallet page on Koinly.

This was not enough to fix my issues though, I also had to import an XLSX file called “Export Deposit History” which I found in Wallet > Transaction History > Fiat > Deposit.

Koinly doesn’t seem to mention importing this second file but it fixed a lot of missing transaction for me. Now my only issue is some 0.1 USDT is missing. Also, for some reason, Koinly reports that my transaction imports show my balances to be double what they actually are. When I look at my wallet on Koinly, the balances are correct (due to API sync) but each currency has an exclamation point next to them, reporting that my calculated balances are double the value that they actually are.

Koinly is kinda working for me but I am hoping something smoother comes along soon, whether that be a Koinly update, a Binance API update or a competitor. I do not want to add every transaction manually, I would sooner pay a crypto tax expert to go through my statements.


Thanks for detailing your methods.
I find Binance Bridge swaps transactions are missing and need manual transactions to remedy Missing Purchase History warnings.

Did you figure out the solution to the double balance problem as I’m getting the same.

Thank you Louis. Will give this a go. Exporting data from Binance doesn’t seem as straightforward as with Kraken (ref to your comment regarding deposits in to Binance ).
I Imported my Kraken Ledger (all transactions) to Koinly with no errors.

I dream of having a 0.1USDT discrepancy!

1 Like

It is a nightmare to use Koinly with Binance. If you are doing any sort of staking, then the coins are not reported at all.

Hi Jules,
I used Binance API recently. Binance Locked Staking reports interest each day and that interest doesn’t compound, it goes to your spot wallet. So when the API had completely the import, it registered a total of 1400+ transactions most of which are staking transaction to spot wallet!
I’ve only been with Binance since late March 2021!

The only way around this that I have found is to add every trade manually as I go along. It’s a bit of a mission - as Binance can break up one trade into several parts, however it’s the most sure way of keeping it tidy and correct.

1 Like

many problems with binance. using api or csv both lead to multiple problems: mislabeling, missing info, redundancy. it’s useless if it requires a complete check and verify on every single transactions…

1 Like

I hope the new API from Binance and koinly will fix the problems of unrecognized transaction types


Have any news? I am using Binance and I have a problem with staking, earn , mining …

I tried to complete it manually adding the operations that not imported by API or CSV (but the balance is not equal never…)

Best regards!

1 Like

I’m having the same issues. Koinly seems to work great with everything else - it does seem to be a pretty lame API on the Kraken side. I definitely had better luck importing all the CSV txns. Don’t even bother with the API until it gets fixed (or at least, improved).

Still, even with the CSV, the staking stuff is a mess. Staked coins have no history (no cost basis), so they will hose up cap gains stuff. Kraken actually moves the coins for staking (I see zero balances while staked), so it’s in a different internal wallet, which the CSV apparently does not account for.

I am having the same Issues, my account was fine with Binance until I started to mess around with isolated margins. Now the balances are well off, the API doesn’t import them. Importing margin alone on the download reports from binance seems to miss off some transactions, when you download full history and upload the CSV it causes duplication with the API because they batch trades differently.

More of a Binance issue, as I don’t have this problem with any other exchange I have used. Other’s have small errors of £1-5 I assume it’s from fee burns or rounding errors or whatever but I am happy to ignore those.