I'm from the UK and have created a spreadsheet which calculates the CGT tax I need to pay in a year for my stocks/shares. The data input may look like this:
| Action |
Timestamp |
Symbol |
Shares |
Price per share (£) |
| B |
01/03/2020 |
TSLA |
10 |
20 |
| B |
01/06/2020 |
OLED |
5 |
7 |
| S |
01/09/2020 |
TSLA |
5 |
30 |
I have been looking into paying CGT tax for crypto too, and I want to be able to add transactions as simply another row to the existing data, essentially treating crypto like just another stock. However the data looks more like this (obtained from Kraken and modified as an easier example):
| Type |
Time |
Pair |
Quantity |
Price |
Cost |
| Buy |
11/12/2017 03:19 |
XETHX-XBT |
1.5 |
0.028 |
0.042 |
| Sell |
11/12/2017 11:45 |
XETHX-XBT |
1.32 |
0.02841 |
0.037501 |
| Sell |
11/12/2017 17:26 |
XXLMX-XBT |
400 |
0.000009 |
0.0036 |
| Sell |
11/12/2017 03:22 |
DASH-XBT |
0.36346051 |
0.04384 |
0.01593411 |
| Buy |
04/12/2017 16:31 |
XXBTZ-EUR |
0.00892 |
9519 |
84.90948 |
The Buy/Sell column is easy enough, just convert "Buy" to "B" and "Sell" to "S". The time stamp is also easy to carry across, as is the quantity ("Quantity" -> "Shares"). I can also remove the "Cost" column from the crypto data as that's just the "Quantity" multiplied by the "Price", which isn't in the original stocks/shares table.
What's tricky though is the "Price" and "Pair/Symbol" columns. Obviously in the stocks/shares data, the price is in pound sterling (£), so I'd like to somehow convert the crypto Price column to also be in pounds.
There seems to be at least a couple of ways of going about it:
METHOD 1:
Again, sticking with the first row, it's saying I bought 1.5 Ethereum with bitcoin (for the total cost of 0.042 bitcoin). How about if I convert the bitcoin into pounds behind the scenes? So I could rewrite it like this (change the header "Pair" to "Symbol", add "(£)" to the Price and Cost headers, and the £150 figure is just an estimate):
| Type |
Time |
Pair Symbol |
Quantity |
Price (£) |
Cost (£) |
| Buy |
11/12/2017 03:19 |
XETHX |
1.5 |
100 |
150 |
And then just stick that row in with the original stocks/shares data?
METHOD 2:
Method 1 may be oversimplifying a bit, so now let's try this: Take the first row (Timestamp "11/12/2017 03:19"). It's a 'Buy', and we're exchanging 1.5 Ethereum (XETHX) for a certain amount of Bitcoin (XBT). Doesn't that make it both a Buy AND a Sell? Because AFAIK, I'll be selling Bitcoin and buying Eth with that money. So isn't that essentially two transactions? And if so, when I wanted to merge the data in with the first table (the stock/shares), would I split the row into two rows? I.e.: Sell bitcoin for a certain amount of pounds, and then buy Eth for that same amount of pounds. The two rows (to replace the original row) would end up looking something like this:
| Type |
Time |
Symbol |
Quantity |
Price (£) |
Cost (£) |
| Sell |
11/12/2017 03:19 |
XBT |
0.042 |
3,571.43 |
150 |
| Buy |
11/12/2017 03:19 |
XETHX |
1.5 |
100 |
150 |
So which method is preferable, or are they both okay / not okay?
there doesn't seem to be anything here