Hypothetically, if a person were electing to recognize staking rewards as income at time of disposition of those tokens and NOT at time of receipt, how would they pull this off in Koinly?
The option to turn off rewards as income in settings isn’t quite right, because 1) it will screw up previous, already filed, years where the position was not taken, and 2) it will screw up the cost basis when the token is traded.
So how to realize rewards as income at the time of disposition (e.g. — a trade). How does one achieve this in Koinly?
I don’t think there is an easy way to do that as if something is considered income it is supposed to be realized at time of receipt IMO. One idea I thought of. Delete (soft delete so you can always undo) all of your staking reward transactions (but keep a tally of total amount of tokens received for records). Then, whenever you eventually do that “trade” transaction, after importing/syncing into Koinly, create a manual “deposit” transaction (tag it as income), for the amount of tokens you traded (your staking rewards), write notes in the transaction for reference. Ensure that is the exact date/time of when you did you trade so the correct price is there. Then delete (soft delete) the full “trade” transaction (such as ADA → USDC trade transaction) that was imported/synced. Then manually create a normal “deposit” transaction for the token that you traded the “staking rewards” to (such as USDC), for the exact time/date of “trade” transaction you deleted… Hopefully that makes sense. Maybe there is an easier way but that’s all I can think of, should give you the results you’re looking for. Feel free to reach out if you have more questions or if I am not correct in my suggestion.
Fascinating approach! I follow you mostly, but when manually entering the second deposit transaction… where will the cost-basis come from?
Actually, it’s not necessary to delete that imported “trade” transaction ( “ADA → USDC”), I was tired when I wrote this and got confused haha, only necessary to manually create the "deposit “ADA” as “income” transaction at the exact same time (or 1 minute before if necessary, in order to have this transaction appear before the trade) as the imported “trade” transaction.
The cost basis of your staking rewards would be based on the “ADA” price at the given moment in time you manually create the “deposit” tagged as “income” transaction.
Sorry for the confusion, hope that answers your question, if not please ask it again a different way!