Cointracking.info is the best site I’ve found to track crypto and report on gains and losses for tax (and their support is also really good). However, there is an issue with how it calculates purchase and sale price that you need to be aware of, to ensure your calculated gains are correct.
The situation I had was manually inputting a list of transaction data from coinspot.com.au. Many of these transactions were crypto to crypto purchases/sales. The coinspot information contained a column that had the AUD value of each transaction. After entering the data using the relevant crypto to crypto rates (eg. 3 Dash were purchased at a rate of 0.0752 Bitcoin), cointracking calculated the value of the transaction in AUD. However, the purchase and sale price in AUD were not the same and in some cases were quite different. Furthermore, some of the values were significantly different to the coinspot AUD value. See below for an example with the blue lines pointing to the AUD values.
In order to rectify this issue, you have to manually overwrite the AUD values for both purchase value in Aud and sale value in Aud in the Trade Value section. Cointracking will then calculate the gain or loss correctly.
Good luck with tracking your trades and let me know if you have any queries.