There is no clear guidance from the National Tax Agency on how to handle SPOT borrowing/returning of cryptocurrencies. We have consulted our tax advisers and Cryptact processes these transactions as follows. Please note that the NTA may issue guidance that differs from this in the future.
■Borrow (Action=BORROW when uploading as a custom trade)
The book value is calculated as though the position was acquired at the market value. Borrow transactions do not generate PNL.
You purchased 1BTC for 3,000,000JPY. Then you borrowed 1BTC at the market value of 5,000,000JPY. The book price for your BTC position is ((3,000,000*1)+(5,000,000*1))/2=4,000,000JPY.
■Return (Action=RETURN when uploading as a custom trade)
The PNL is calculated as: (borrow price - book price) * quantity.
If the borrowed coin in the above example is returned, it will result in a profit of (5,000,000-4,000,000)*1=1,000,000JPY. The book price for the remaining 1BTC position will remain to be 4,000,000JPY.
* If you trade the borrowed coin before you return it, naturally the book price will change and so will the PNL.
This accounting method is not specific to cryptocurrencies. It is based on the general accounting principles for returning what was borrowed.
For more information on how to upload borrow/return transaction history as custom trades, please refer here.