provinzio / CoinTaxman

Calculate your taxes from cryptocurrency gains
GNU Affero General Public License v3.0
142 stars 31 forks source link

Question: Fees always taxable? #103

Closed provinzio closed 2 years ago

provinzio commented 2 years ago

Are fees taxable when the buy/sell event itself is not taxable.

Griffsano commented 2 years ago

Have you seen the example on page 15 of this document?: https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Einkommensteuer/2021-06-17-est-kryptowaehrungen.pdf?__blob=publicationFile&v=3

It seems like the buy fee is directly added to the buy price and therefore only considered when selling the coins. By this logic, if selling the coins is not taxable, then this would mean that the buy fee (as part of the buy price) is irrelevant.

Page 14 of the document:

Der Marktkurs der hingegebenen Einheiten einer virtuellen Währung zuzüglich eventuell gezahlter Anschaffungsnebenkosten stellt zugleich die Anschaffungskosten der erhaltenen Einheiten einer virtuellen Währung am Tauschtag dar. Die im Zusammenhang mit der Veräußerung der Einheiten einer virtuellen Währung aufgewendeten Transaktionsgebühren sind als Werbungskosten zu berücksichtigen.

provinzio commented 2 years ago

Damn... That means, that we have to match fees with operations (sell, withdrawal,...).

Griffsano commented 2 years ago

I wonder how to deal with fees for swaps. In the example above, it's easy because the fees can be directly attributed to the individual BTC buy and sell operations. But what if one coin is sold to directly buy another one. Does the fee then apply for the sell transaction of the first coin or the buy transaction of the second coin? Or does it have to be split? Same applies for DeFi gas fees.

provinzio commented 2 years ago

each buy/sell has to be evaluated separatly and always with the same scheme

  Veräußersungserlös (`selling value`)
- Anschaffungskosten (`buying cost + buying fees`)
- Werbungskosten (Transaktionskosten) (`selling fees`) 

= Gewinn/Verlust ( `real_gain`)
davon steuerbar (`taxed_gain`)

I am currently working on this in my branch match-fees-with-operations

Griffsano commented 2 years ago

I was wondering if we also have to account for the change in price for coins that we use for fees. Example:

  1. Buy 0.1 ETH for 1000 EUR per ETH (value of 0.1 ETH = 100 EUR)
  2. ETH gains value, is now worth 3000 EUR per ETH (value of 0.1 ETH = 300 EUR)
  3. Use the 0.1 ETH as fee (e.g. for ETH gas) (value of fee = 300 EUR)

The fee therefore has a value of 0.1 x 3000 = 300 EUR. The question is now what the taxable loss is, considering that the 0.1 ETH gained value in the meantime. When we bought it, it was only worth 100 EUR, now it is 300 EUR, which could be considered as 200 EUR taxable gain for the "virtual sell":

"Virtual Sell":
  Sell value: 300 EUR
- Buy value:  100 EUR
---------------------
Taxable Gain: 200 EUR

Fee:
  Fee value:  300 EUR
---------------------
Taxable Loss: 300 EUR

Hence, the resulting taxable amount could be 300 EUR - 200 EUR = 100 EUR, instead of 300 EUR. This also corresponds to the 100 EUR that we actually paid for 0.1 ETH in the beginning. This could get even more relevant when the fee is for e.g. margin trading. Then the 200 EUR gain would be "Sonstige Einkünfte" and the 300 EUR loss would be negative "Kapitaleinkünfte".

Here's a link to the forum that made me think about this topic: https://forum.blocktrainer.de/t/zusammenhang-steuern-erc-20-token-gas/8005/5 (although I think there is a typo in the numbers, $12 <-> $10)

What do you think of this?

provinzio commented 2 years ago

https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Einkommensteuer/2021-06-17-est-kryptowaehrungen.html

42

The BMF has an example for that. gain/loss aren't calculated for fees. In their example.

Griffsano commented 2 years ago

Thanks for pointing out the BMF example. Then let's stick with this concept (no "virtual" sell of coins that are used as fee).

provinzio commented 2 years ago

I am currently working on this in my branch match-fees-with-operations

Closed as this is no real issue and currently minded for in the branch above