If you have added several wallets and imported transactions into them all, Koinly will try to match 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.
Koinly does this by looking for transaction pairs. If you have a Withdrawal transaction in one wallet and a Deposit transaction in another wallet, then Koinly will use time based heuristics to determine if they are a transfer.
For example, if you sent 1 BTC on 1/1/2018 14:00 from Coinbase and received 0.95 BTC at 1/1/2018 15:15 on Binance - then Koinly assumes that it's a transfer. The difference between the sending and receiving amount is added as a transfer fee. This transaction is shown below:
Note that Koinly will automatically turn the 2 separate transactions into a single Transfer transaction. It is not possible to create a Transfer transaction directly.
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?
At present, the only way to create a transfer is to manually add two separate transactions that obey the above rules. When you add the second transaction, Koinly will automatically match it to the opposite one and turn it into a Transfer.