Koinly calculates the balance for each of your coins from the transactions that you have in that wallet. This means that if a transaction is missing then the balance on Koinly will not match what you actually have on the exchange/wallet.
This can happen for a number of reasons:
Numerical Rounding - If you see small differences like 0.00000001 then you can safely ignore these as they are the result of rounding precision.
Airdrops - Some exchanges (ex. Kucoin) do not report your airdrops via the API or in CSV files, so Koinly has no way of knowing about them. If you go on to sell the airdropped coins, you will get a Negative balance error because you have no balance in that coin.
Open Orders - Koinly ignores open orders/trades until they are closed so you might see differences if your open order has been partially fulfilled. In such cases just wait until the order closes and the balances should match again.
Missing transactions - If the differences between the balances is big then it means some transactions have not been imported. This is quite common and can usually be resolved by following the instructions for the wallet that you are adding. For example, Binance does not return trades for delisted coins via their API so you have to import these trades using CSV files instead.
Sometimes the only way to figure out the issue with Missing transactions is to compare the imported transactions on Koinly one-by-one with the transactions on your exchange account. This may seem like a long process but Koinly has some tools built exactly for this job. Read more about finding and fixing missing balances.