Tax Accounting for Witnesses
Accounting for your STEEM Witness
DISCLAIMER: Please do not consider this legal tax advice. Consult an accountant or tax lawyer for the correct information in your jurisdiction.
In countries such as the US and the UK, "income" counts the second you receive it. From my interpretation of this, the second you receive SP from witness activities, it counts towards your income. Steem Power is represented as VESTS rather than STEEM, however as VESTS aren't exactly listed on any exchange, they're rather painful to calculate for, so we just assume it was earned in STEEM.
To calculate this, I use SteemSQL by @arcange. SBDS currently does not have indexing for the witness key on blocks, which makes it difficult to calculate using it, so SteemSQL works best.
Requirements
First you'll need a Microsoft SQL Server client. I would have written a website or program for it, if it wasn't for the fact MSSQL is a nightmare to connect to programmatically using non-windows systems.
I use SQLPro Studio for OSX, there are various clients available for Windows and Linux too.
Query Explanation
The following query does the following:
- If before HF16, assume the payout is 1 SP per block
- If after HF16, assume the payout is 0.8 SP for non-top-20, and 0.2 SP for top-20
As the blocks do not have the payout listed, I assume that if you get more than 500 blocks in a day, then you were in the top 20.
This groups the block payouts per day, as it is possibly the most fine grained accounting you can currently get.
Note: the payout is never exactly 0.8 or 0.2, but as I say, I haven't found a more accurate way of calculating. Tax agencies can only expect your "best effort", having some records like this is better than no records.
Use the query
Connect to SteemSQL using the details on http://steemsql.com/
Open the query section of your SQL server application, and paste the following.
Change "someguy123" to your witness name.
SELECT
convert(varchar(10), timestamp, 126),
COUNT(*) as num_blocks,
CASE WHEN COUNT(*) < 500 THEN
CASE WHEN convert(varchar(10), timestamp, 126) >= '2016-12-05'
THEN COUNT(*) * 0.8
ELSE
COUNT(*)
END
ELSE
CASE WHEN convert(varchar(10), timestamp, 126) >= '2016-12-05'
THEN COUNT(*) * 0.2
ELSE
COUNT(*)
END
END AS sp_earned
FROM dbo.Blocks
(NOLOCK)
WHERE witness = 'someguy123'
GROUP BY convert(varchar(10), timestamp, 126)
ORDER BY convert(varchar(10), timestamp, 126);
You'll see something like the below image:
Now the next part is calculating this in USD, GBP or whatever currency you use.
Calculating the USD/GBP earnings
I use Bitcoin Taxes to convert my STEEM earnings into a fiat format. They support the United States, the United Kingdom, Canada, and a few others.
Bitcoin Taxes
To make your witness earnings into Bitcoin Taxes format, go to your SQL query and find something like "Export to CSV".
Open the CSV file in whatever Excel-like software you have, e.g. Google Docs, Apple Numbers, Microsoft Excel and LibreOffice.
Take the sp_earned column and change it to "Volume". Add a column after the date called "Action" with "MINING" as the content. Add another column called "Symbol" and with "STEEM" as the content. Add a "Source" column and put in "Steem Witness".
It should look something like this:
Now, in your excel-like application, find "Export to CSV" (it might be a file type option when you save).
Go to Bitcoin Taxes - sign up if you haven't already, and buy Premium which is only $20/yr for more than 100 records.
Now go to the "Income" tab for your tax year you're reporting for, and scroll to "Import Income". Open the "CSV" box.
It looks like this:
Now, drag your CSV in there... and you're done!
Load in your spends under spending and it will automatically calculate capital gains based on your STEEM income, and you'll see your income tax report under "Reports & Export". You can automatically import from exchanges such as Bittrex, Coinbase, Poloniex etc.
Now just talk to your accountant, show them BitcoinTaxes and they'll be able to easily help you with your tax filing :)
In my next post, I'll be covering how to calculate your post earnings and import them into BitcoinTaxes. Follow me for updates!
Bitcoin Taxes
GIF Avatar by @stellabelle
Do you like what I'm doing for STEEM/Steemit?
Vote for me to be a witness - every vote counts.
Don't forget to follow me for more like this.
Have you ever thought about being a witness yourself? Join the witness channel. We're happy to guide you! Join in shaping the STEEM economy.
Are you looking for a new server provider? My company @privex offers highly-reliable and affordable dedicated and virtual servers for STEEM, LTC, and BTC! Check out our website at https://www.privex.io
Interesting. Is there a method in place for normal users?
In my next post I'll be writing about how to calculate the taxes on post rewards :)
I'll definitely follow this one. I'm having a hard time figuring out how to report my crypto earnings for taxes. Still learning things slowly.
waiting for next article
ok, what we are do?
@someguy123, 100% useful information as always. @someguy123 has helped me with all my witness questions.
This year Belarus has introduced a new law about crypto.
Since 2018 and until 2026 there will not be any taxes on cryptocurrency (mining, selling, and buying) and all crypto is 100% legal from now on.
I'm amazed that Belarus did that, that's awesome! I expected with their rather iffy government to never pass such a thing.
Yeah, me too. Could never even imagine that such country would pass such a non-totalitarian law. I have even read an article with an official government letter attached that stated that once a Nuclear Power Plant is finished in Belarus, National Information Institute is planning on mining crypto with that energy.
I'm not that familiar with many of the terms in this post but I'll resteem for followers who may not have seen this post yet.
Thank you :)
The UK tax deadline is in 3 weeks, so for all the british witnesses out there it's pretty urgent to see.
Hey @someguy123. Great article, just caught sight of it. I was wondering if you know whether the payouts received via our blogging efforts, are considered income tax or capital gains in the UK? Thank you in advance... :)
There is a virtual operation comes with every block, called
producer_rewards
, that would give exact numbers. I don't know if it's acessible via SQL, tho... :)It looks like there's a table called VOProducerRewards, however the payout is in VESTS, which means I'd need a way to get the VEST->STEEM price at the time.
Oh, yes, it's in VESTS. I haven't heard of any price history service for STEEM per VEST :/
Let me know if you found one :)
Great post! Thanks for sharing such a wonderful legal tax advice, I personally appreciate your good job. I follow and upvote you.
@someguy123 As you already mentioned @sametravel that you will be discussing this with an accountant in the UK, I would advise placing a call on the internet for more European accountants, to make a more flexible European app, being a frontrunner in this could really make life easier for us all. And a nice business opportunity for you. Up, if you agree :)
I played with Bitcoin Taxes a few weeks ago and found it wasn't pulling through all the data I needed. I also used cointracking.info which supports more exchanges, but that also wasn't straightforward. Maybe I just need to put more time into it....
Awesome tool... Seems a lot of research and effort has been put into creating the thing.... Really appreciate the effort.
i thought the reason why anybody wants to use crypto currencies is to avoid taxes.
Interesting! I'll have a look to this. Thanks for sharing!