There are a couple of reasons why this could be the case, we are listing some of the causes we have come across.
Has the data been imported correctly?
Koinly imports absolutely everything from your APIs and CSV files. We do this as part of our Import Verification feature that allows you to easily verify that your data has been imported correctly.
If the tax calculator you previously used is showing completely different results, a good way to find the problem is to simply look at the calculated balances in each of your imported wallets. Does the balance match what you have on the exchange? If not, then some transactions have not been imported. You can refer to Koinly's import guides for help.
Some tax calculators do not show you the calculated balances for your imported data - stay away from them! - as there is no way for you to verify their software has imported your data correctly.
Have transfers between your own wallets been matched?
Koinly matches transfers between your own wallets automatically using time-based heuristics and general matching techniques. We have an accuracy rate of over 98% (based on internal tests). You can look over your transactions in Koinly to verify that all transfers between your own wallets have been matched. If the other tax calculator hasn't matched your transfers then your capital gains there are wrong.
Are the market prices accurate?
Koinly updates it's pricing data multiple times every hour while other tax calculators might be using only daily averages. Since the price of crypto can be very volatile during the day, a daily average is not a good price to use for tax purposes at all.
Are you using the same settings?
Make sure that both calculators are using the same calculation methods. This includes the cost-basis method (FIFO, LIFO, ACB, etc..) but also some smaller details such as 'wallet based cost tracking', which can actually make a huge impact.