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.
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.
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.
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!
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