For all traders or hodlers it is paramount to keep an overview of all your crypto assets. Some germans developed cointracking.info to do exactly this. It is not a trading engine, but it will help you keep an eye on your performance in total, broken down to each and every coin you own and for the most part provides you with a tax report.
The team is working hard to add literally all exchanges via API, plus improving the engine behind it. While doing my taxes I found cointracking.info very helpful. But I had some challenges, which needed to be sorted out with their excellent support team. Here are the topics (I will regularly update this article).
A. Dealing with coldstorage respectively different blockfolios for tax purposes
Imagine you would like to store some BTC on a Nano S (buy one here) while some BTC remain on the exchange for daytrading. Basically you have now 2 different accounts/ blockfolios or BTC portfolios. I’ d like to stick with the term blockfolio in this paragraph.
Let’s say you have bought 10 BTC on 1st April 2016. Then you have moved 5 BTC to a Nano and kept 5 BTC on the exchange. Depending on your jurisdiction different tax rules may apply, but in Germany for instance there is no tax for cryptoassets held longer than 365 days. This means, all of those BTC would be taxfree by 2nd April 2017, if you wouldn’t daytrade!
Buy & declare a different blockfolio
Since BTC is the most used trading pair for any cryptoasset FIFO will apply to all of your 10 BTC. Apparently those 5 BTC on your Nano are part of the same “buying pool”. Therefore all 10 BTC will be taken into account while trading, because cointracking isn’t able to seperate one blockfolio from another when calculating your tax report. Therefore you need to tweak the transactions for your Nano; or in other words create a different “buying pool”.
The workaround is pretty straight forward. You utilize an option called “Group” in cointracking:
1. You identify the trades of those BTCs you stored away. In our example above there would be one BUY for 10 BTC with a SELL in € or $.
2. Split this trade in two (5BTC / 5 BTC) by copying it. Please split everything including the fees etc. Of course you do not need to split a trade if the trade’s BTC amount is conclusive with the transfer to the Nano.
3. Create a group, mine is called “coldtradeBTC”
See below how the above is set into actual cointracking positions:
The screenshot shows my trade from 20th November 2013 in cointracking. It is part of the “coldtradeBTC” group, because the exact amount of 0,198 BTC conclusively was moved later to a Nano. Just to let you know, conclusive only means, that FIFO applies to the trades and their transfer to the Nano. Of course you can combine several trades and transfer all of them in a single move.
How to create tax reports with groups?
This was the easy part. When creating tax reports you now need to create two seperate ones. The first contains all trades and groups but the “coldtradeBTC” group. The second one consists of only trades from the “coldtradeBTC” group. While the trades of “coldtradeBTC” are now seperate, you might end up selling them tax-free later on.
Sell those “grouped” BTCs
It get’s more difficult once you transfer the BTC back to an exchange for a trade. cointracking works just fine and tracks transfers and trades as long as you import — I recommend API for that.
[update: As long as you trade your “coldtradeBTC” from € -> BTC -> € including a withdrawal from the exchange you are fine. Just add all trades to the group.] A problem arises once you buy with those BTC something else. This also applies to the Euros you have on the exchange after the trade € -> BTC -> €. Because for cointracking there is no buying pool recognizeable. From a logical standpoint the coins never existed and were created out of thin air. This is why cointracking will loose track and issues a warning “No buying pool available”.
On this screenshot you’ll find the original trade (BTC for ETH) and deposit (of 0,5 BTC). Those were imported through the API. Now you copy the trade twice, creating two new positions as shown in the example above. First cointracking needs to grab the value of the BTC for the trade. That’s why you edit a copy of the trade and set it to “Expense” (here in red “Ausgabe”). Please do not forget to add this one to your group, in my case “coldtradeBTC”.
The second copy of the trade is a gift (here in green “Geschenk”). By doing so, those 0,5 BTC are sold at this date in the group “coldtradeBTC” plus the regular blockfolio now has 0,5 BTC to sell. From a tax standpoint you are golden and the total amount of your BTC hasn’t changed too.
Bottom line is, you can create different buying pools for various assets. Because crypto is conclusively identifiable, you can seperate it. Plus in the real world you would have two portfolios on different banks. One is for daytrading, the other for hodling. Those $TSLA shares on both banks will be treated seperately tax-wise. ;-)
Disclaimer: This is neither legal advice, trading recommendations nor tax advice.