Replies: 4 comments 15 replies
-
Nice! Typically such mismatches are due to missing or incorrectly entered transaction data. Have you already checked these FAQs?
If the data has been entered correctly. the "Account Balances" table in the tax sheet in the generated rp2_full_report.ods output file should match the amounts reported in your actual accounts. |
Beta Was this translation helpful? Give feedback.
-
The $32000 is the fiat value spent without the fee (see the Legend sheet and the code emitting the value: the total spent in this case would be $32050, which after deducting the $50 fee becomes $32000. So I think cap gains of $1950 is correct: $32000 - $30050. |
Beta Was this translation helpful? Give feedback.
-
I was looking into this last week. I found the changes that result in the output being what I'd expect to see (similar to issue #6). The below patch would apply to out_transactions.py. The first change is within the init, making the fiat_out_with_fee subtract the fee rather than adding it. ("with fee" in this sense would mean "accounting for the fee" thus the subtraction of the fee from total fiat returned to the user from the transaction. The second change is to the fiat_taxable_amount property which would use the variable holding the fee rather than not.
There are possibly a lot of ramifications from this change. For one thing, it breaks a ton of tests, although the output from a few of the test cases do look to correctly account for things. This change could result in savings on taxes by reducing reported capital gains by 1-2% depending on fees involved - maybe more if someone is paying a lot in gas fees relative to the size of their transactions. Another possible issue, is if someone hasn't been accounting for the fees previously (e.g. by adjusting down the spot price at time of sale to offset the difference) they would possibly be surprised / concerned / worried if they saw their cap gains from previous reports change. Additional, any user that had adjusted the transactions to account for this would need to know that they need to remove their adjustments if they want the new final gain/loss figures match previous output. All the above considered, I think it would be best to leave the default behavior as-is. It's not technically wrong to essentially pay capgains tax on the fee, but it's not necessary either. Given that, probably best to avoid the headaches outlined above (and others I've probably not considered.) However, it could be useful to have a configuration option / argument / global constant or something where users interested in it could opt in to account for fees as outlined above. Thoughts? PS- is there any way to convert this discussion to an issue? I realized too late an issue would've been the better place for all of this. |
Beta Was this translation helpful? Give feedback.
-
Thanks for following up, I haven't forgotten about this, but it's been on the backburner. I'm still trying to find official confirmation that this proposal is correct with crypto. The links you sent are interesting but they apply to stocks, whereas crypto is considered property for tax purposes. I still don't know for sure if stock and property are treated the same way when it comes to fee accounting: I would think so, but I'm no accountant. The closest I got to confirmation is this: https://www.irs.gov/publications/p544, especially "Example 1" in the "Gain or Loss From Sales and Exchanges" section, which shows that selling expenses are deducted from the sale price. However I'd like official confirmation from a CPA before making this change. I'm being a bit paranoid perhaps, but I really want to know this is correct before proceeding. As for the change in results, I think it's OK: we could document this in the CHANGELOG.md file and respond to issues when people ask. Not sure about how to convert to issue: if you find out how, let me know and I'll do it. |
Beta Was this translation helpful? Give feedback.
-
Hi there. I'm converting from manual spreadsheets to RP2 - really promising stuff! I've just finished entering my BTC transactions dating back to 2014, but my final balances are off just slightly. I've summed the various pieces from the input data, and the sent balance is off just slightly. Any chance I can get your input? Not sure if user error or something else. Seems like something is getting double-counted.
Beta Was this translation helpful? Give feedback.
All reactions