Once you have added all your wallets, Koinly will try to find transfers between them. Since transfers are not taxed, it is very important that Koinly matches them so you don't end up paying more in taxes.
Let's say you have 2 wallets: Binance and Coinbase.
You "send" 1 BTC from Coinbase.
A few minutes later you receive 0.95 BTC into Binance.
Here you would initially have 2 separate transactions - a deposit of 0.95 BTC in Coinbase and a withdrawal of 1 BTC in Binance.
But Koinly can see that you are just moving coins from one wallet into another so it merges them into a single Transfer transaction. The difference between the sending and receiving amount is added as a transfer fee. The merged transaction will look like this:
In order for the auto matching to work, these rules must be satisfied:
Both transactions should be within 12 hours of each other
The Withdrawal's date and time must be before the Deposit's date and time.
The Deposit amount can be at most 20% less than the sent amount. If you send 0.015 BTC from Coinbase and receive 0.05 on Binance then Koinly won't be able to match them as the difference is too high.
The Transaction Hash must be either blank on one or both or it should be the same on both. If it's different on both, they won't match.
How can i create a Transfer manually?
There are a couple of ways of doing this depending on whether you have a Deposit or a Withdrawal related to your transfer already.
If there is both a Deposit transaction and a Withdrawal transaction
Usually Koinly would merge this automatically but if that hasn't happened then you can go to Settings page > Delete cache and wait for gains to finish calculating. If the transactions are still not merged then it may be because the auto-matching rules are not satisfied so you can select both the transactions and click on Merge manually.
If either the Deposit or the Withdrawal is missing
Find the transaction that is there and Edit it then change transaction type to Transfer and set the amount received/sent along with the other wallet, then hit save.
If both transactions are missing
You can add a new manual transaction and set the Transaction type to Transfer then choose the sending and receiving wallets and also the amount and currency. This will create the transfer transaction.
Koinly has created an incorrect transfer pair
Most of the time the transaction matching will work well but sometimes Koinly can make mistakes especially if you are moving the same amount into different wallets ex. if you also moved 1 BTC from your Ledger wallet into Trezor at about the same time as the Binance → Coinbase txn then Koinly might merge the Binance withdrawal with the deposit into Trezor by mistake.
We are constantly working on improving our algorithms so this is rare but can happen. If you run into this issue, you will have to delete the incorrect transfer transactions and manually add transfers into the right wallets.
Why is there a profit/loss on a transfer to my own wallet?
This could be because of the transfer fees. You can toggle the setting "Treat transfer fees as disposals" on/off on the settings page. More often though this issue is because the transaction is not being detected by Koinly as a transfer. Refer to this article for more info on why that may be happening and how to resolve it.