-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bitpanda staking transactions unknown #155
Comments
What are the column headers of your example? |
@provinzio sorry, updated them in my initial comment! |
Dou you now for what the two lines are for? You mentioned that your coins are still staked. Sounds to me like some internal bitpanda stuff which might not be an taxable transaction. |
Yes, it's the transaction of staking my owned supply of ETH. I know it's not taxable but it might still be of interest when calculating the "Spekulationsfrist". In the linked discussion, it was said that staked coins could be handled in a different account or something similar to make it clear which coin is getting sold if there is a sell transaction afterwards (since there was some trouble identifying the correct start of the new one year speculation deadline). I also just included the "reward" transaction that's also not yet understood by this project. In my case, the reward is staking reward. AFAIK, staking rewards are taxable but are they really when I receive them as crypto (as is normal for staking rewards)? |
Should I open a new issue about the staking rewards? |
In that case. The transaction should be recognized as Staking.
As of now, staking does not change the buy/sell order. You can checkout
That should be recognized as StakingInterest.
As far as I can see, this can all be handled in this issue. Have a look at book.py. the error code should already hint you the correct place to look. In book.py is a reader function for bitpanda in which the transactions are mapped to our internal transaction types. Feel free to checkout the binance read function as a reference. |
The first transaction is basically the one that substracts the staked amount from the "normal" wallet and the second transaction adds the staked amount to the staking wallet (assuming they are two separate wallets and in absence of a better word). It's like in accounting where you always have two booking statements between accounts.
You mean the start of the Spekulationsfrist for the staked coin is untouched by staking?
Yea, I also stumbled over this. I only assumed it was a staking reward because immediately before that I staked the coin in question. I think though, that in case of bitpanda, rewards can generally be treated as staking interest unless it's rewards in BEST coin, which is their internal coin. You receive BEST for transactions on bitpanda (which are also taxable, right?).
I'm looking through book.py already but I'll check the binance code next. Thanks for the hint. |
I checked the bitpanda statements again for the BEST rewards. They are actually booked as "transfer", which is currently ignored (but probably shouldn't be ignored?). Example:
Edit: BEST rewards themselves can be ignored since using a service (i.e. the platform bitpanda) is not an action. Therefore, the BEST reward for using their service is not taxable. Selling the BEST on the other hand is a normal sell operation. "„Die reine Nutzung einer Plattform sollte zu keinem steuerbaren Airdrop führen, und zwar aus folgendem Grund: Die bloße Verwendung einer Plattform ist kein ‘aktives Tun’ im Sinne eines Gegenleistungscharakters. Vielmehr handelt es sich schlicht um die Inanspruchnahme einer Dienstleistung. Daher ist die Zuteilung der Bitpanda BEST Rewards nicht steuerpflichtig, weil keine Gegenleistung erfolgt. Dementsprechend gilt: Zufluss mit 0€, keine Versteuerung.”" |
In that case we'll only need one of them. The other can be ignored.
It's untouched by staking. But that's not what I mean. Staking does not "block" coins from being sold. E g. Of you buy a coin, stake a coin, buy a coin and sell a coin, you would sell the first coin bought. (our current implementation) |
Which one can be ignored? Can't they both be ignored since the initial balance of bought coins basically doesn't change since the Frist only considers the initial acquire? |
Our current implementation does not handle staking but we should consider it for the future. |
Ok, so the following changes are needed:
Is that correct? |
Oh and just to be safe: BEST is also used for the platform specific fees (the bitpanda fees per transaction not the blockchain fees).
How should they be categorized? They are relevant for the Frist, right? And if they are, they should be booked as well but as what? |
Looks good to me. If I remember correctly, Airdrops should have an optional Parameter somewhere whether they are taxable or not. Please add your explanation for the best reward in the readme with the source. |
Book fees as Fee transaction type. The algorithm tries to match them to trades |
Just a quick question because I just stumbled upon this: In |
Sounds like it. It might be wise to ping the writer of that line to double check or look into the Coinbase documentation. |
Well, you are the author of that line ;) (here) |
Dammit 😂 Sounds reasonable to fix that |
just a heads up: I've tried to get everything to work but while doing that I found a bunch of other anomalies.
I'm sorry but the PR I'm going to send will be a bigger one. If you'd like several PR I can try to make that happen but it would take me longer. I'll split the work on bitpanda and coinbase into separate PRs though. |
As long as the names they use for transaction types are unique there should be no problem in matching them to the corresponding Countaxman Transaction (see binance implementation) Dividends of stocks are not really in the scope of this tool. Dividends might not be Einkünfte aus sonstigen Leistungen but Kapitalerträge which are taxed differently. If you really want to include stocks and stuff. We should implement it including a tax report similar to the tax reports of banks. As this is quite a lot of work and not in the scope, I would vote against this. But feel free, please add it as separate PR. For the LUNA case. What about an relabel transaction class which kind of relabels other transactions so they have the new coin name for matching with sells/withdrawals. Keep in mind that there are more than just buy transactions from which you can get coins. |
Bitpanda has an unknown transaction type for staking: "transfer(stake)" that comes with an accompanying opposite "transfer" transaction.
There has been in issue about staking and a discussion about order and categorization for speculation periods in #57 (which in turn mentions #4) but since I stumbled upon this project today, I'm not familiar with the implementation yet.
Since my coin is still staked and I haven't unstaked until now, I'm going to ignore these transactions for me for now to prepare my tax documents. I'm still interested in the topic and also would look into properly implementing this or at least help with the implementation.
For starters, here are two example transactions for a stake operation (with the amounts anonymized) for bitpanda:
Edit: There is an other transaction type that's apparently not yet supported: "reward" for staking rewards.
The text was updated successfully, but these errors were encountered: