How do I use the Custom Data format?
If you want to include data from an exchange we don’t support, airdrops, token splits or any other way you’ve acquired cryptocurrency you can use the “Custom Data” csv format to upload it into Taxoshi and include it as part of your calculation.
The format is pretty simple, but it’s important you get the the data format correct for each column to make sure everything is processed correctly. Here’s an example of the CSV format correctly filled out;
Creating your own Custom Data file
Here’s a copy of the Custom Data CSV you can use as a template to input your own data. You should be able to edit this in any spreadsheet software you have on your computer. Just make sure when you save it, you export it as CSV again instead of the proprietary format of your software.
The Columns Explained
Let’s take a look at each column and look at what the expected data formats are.
This field expects an ISO formatted date in UTC time, so the expected format is; YYYY-MM-DD HH:MM:SS
For example 2017-03-20 00:00:00 would be Midnight on the 20th of March 2017 in the UTC timezone.
This field expects two tickers separated by a dash with the base pair being on the left and the market ticker on the right like this; BASE-MARKET
For example BTC-NAV is the NavCoin market on a Bitcoin based exchange. Currently the supported base pairs are;
BTC, ETH, USDT, USDC, BNB, XRP, TRX, XEM and NZD
This field only accepts two values, either BUY or SELL and must be uppercase. Depending on whether the order row indicates you are buying or selling cryptocurrency, the type should BUY or SELL respectively.
This field expects a number that is greater than zero. The Rate is the price per token in the base pair currency that the order was made for.
For example on a row with the market BTC-NAV a Rate of 0.00004 would be referring to the per token price of NAV in BTC at the time the order was placed.
On a row with the market NZD-BTC a Rate of 10000 would be referring to the per token price of BTC in NZD at the time the order was placed.
This field expects a number that is greater than zero. The Amount is the total number of tokens which were purchased or sold on the order.
For example on a row with the market BTC-NAV an Amount of 5000 is referring to 5000 NAV that were bought or sold in the order.
This field expects a number that is greater than zero. The Order Total is usually just the Amount times the Rate but it may include the trading fees if there was any. The Order total should be in the base pair currency.
For example on a row with the market BTC-NAV an Order Total of 0.4 would be indicating 0.4 BTC was paid to purchase the Amount of NAV on that row.
For example on a row with the market NZD-BTC an Order Total of 10000 would be indicating 10,000 NZD was paid to purchase the Amount of BTC on that row.
This field expects a number that is greater than zero. The Fee is whatever the exchange has charged you for placing the order as a percentage. You can include the percentage sign or leave it off. Usually the fee percentage can be found on the exchanges fee schedule or on the market itself.
For example 0.2% indicates that 0.2% of the Order Total was taken by the exchange as a trading fee.
This field accepts any string, it is really for your own records and can be used to uniquely identify the transaction.
Questions & Answers
Inland Revenue has released a Questions & Answers article covering their position on cryptocurrency and tax
Inland Revenue is extending its guidance on cryptocurrencies to cover their use in employee share schemes
Scott Mason from Findex unpacks the Inland Revenue guidance on cryptocurrency taxation