steemit / steem

The blockchain for Smart Media Tokens (SMTs) and decentralized applications.
https://steem.com
Other
1.95k stars 790 forks source link

[Enhancement] Required changes to generate a Tax-Report #2867

Open marvin-we opened 6 years ago

marvin-we commented 6 years ago

CREATED AN ISSUE AS sneak@steemit.com HAS BEEN DISABLED

https://github.com/steemit/steem/blob/master/CONTRIBUTING.md says:

If there is a well vetted idea that has the support of the community that you feel should be considered by the development team, please email it to sneak@steemit.com for review.

But the mail is dead.

The email account that you tried to reach is disabled. Learn mor e at

Original Mail send to sneak@steemit.com:

This is request is related to: https://steemit.com/steemdev/@jesta/historical-rates-for-vests-and-steem (> 280 Votes and well known people from the community involved)

I decided to add my "Crypto"-Incomes to my tax-report for 2017 as my incomes increased a lot due to the bullrun in late 2017. Sadly, I faced two big issues to do this for Steem.

Based on what my tax consultant told me, I have to track every income in the second I received it and need to build a FiFo-Stack for Steem, SBD and VESTS. Example:

  1. Received curation reward of 100 VESTS
  2. Calculate the current worth of 100 VESTS (e.g. 100 VESTS -> 1.0 STEEM -> 2.0 USD)
  3. Add it to the VESTS Stack: Date Amount Worth 01.01.17 100 2 USD
  4. Received another curation reward of 100 VESTS
  5. Calculate the current worth of 100 VESTS (e.g. 100 VESTS -> 1.5 STEEM -> 3.0 USD)
  6. Add it to the VESTS Stack: Date Amount Worth 01.01.17 100 2 USD 02.01.17 100 3 USD [....]

The first issue was that the account_history api call does not return all required virtual operation (e.g. to track Power Ups, .. ) to maintain the stacks 100% accurate, but I guess this has been fixed by https://github.com/steemit/steem/issues/1228 now and there has always been the option to setup your own node with that config.

The second (and more critical issue) is that there are no historical information about the exchange rate for vests to steem. As shown in the sample above, this is needed to calculate the worth of VESTS in USD, and as there are only information for STEEM->USD, the only way to do this is by VESTS->STEEM->USD.

How to solve this? To solve this (by being 100% accurate) the exchange rate VESTS<->STEEM would be required for each block. I am not 100% how this works internally, but it might be possible to "simply" add the m_vests_per_steem property to each block header?

Why is this important to be accurate in the tax report? Market places started to force users to provide their personal data and therefore there are basically not that much ways left to get your incomes to your bankaccount without having your real name in a database. In addition blockchains don't forget, so if some goverments start to scan the chains, I can imagine that several people will get exposed.

iamsmooth commented 6 years ago

But the mail is dead.

That can be another issue referring to the CONTRIBUTING.md file being wrong

iamsmooth commented 6 years ago

Regarding the actual issue, IMO the best solution is to add the missing data to the account_history plugin. This would also help fix the reward and possibly wallet pages on the web site which draw from the account_history and sometimes display VESTS in STEEM POWER but do so incorrectly using the current exchange rate (as opposed to the correct exchange rate at the time the transaction occurred). As such they do not show an accurate ledger of the account.