eprbell / dali-rp2

DaLI (Data Loader Interface) is a data loader and input generator for RP2 (https://pypi.org/project/rp2), the privacy-focused, free, open-source cryptocurrency tax calculator: DaLI removes the need to manually prepare RP2 input files. Just like RP2, DaLI is also free, open-source and it prioritizes user privacy.
https://pypi.org/project/dali-rp2/
Apache License 2.0
66 stars 42 forks source link

Investment Expenses -- how calculated? #127

Closed gbtorrance closed 1 year ago

gbtorrance commented 1 year ago

I'm trying to understand the "Crypto Investment Expenses" sheet in the tax report ODS.

First of all -- not tax advice, but -- where would this sheet typically be reported when doing US taxes?

But that's not my main concern. I have a particular INTRA transaction where crypto_sent = 2.33707879515 and crypto_received = 2.33139072. The difference is 0.00568807515. So, essentially, that was the network "fee" for that transfer.

Without getting into specific numbers -- because it would likely just confuse matters -- the "Crypto Investment Expenses" sheet has a "Proceeds", a "Cost or other basis", and a "Gain or (loss)" column. From what I can tell, "Proceeds" always contains the 0.00568807515 fee multiplied by the spot price at the time of the transfer. "Cost or other basis" contains the cost basis of the 0.00568807515 fee (based on FIFO in my case), and "Gain or (loss)" contains "Proceeds" less "Cost or other basis". The consequence of this is that if "spot price fee" when the transferred occurred was less than the basis, then it will show a loss in "Gain or (loss)", but if "spot price fee" when the transferred occurred was greater than the basis, then it will show a gain in "Gain or (loss)".

I don't understand this. How does it make sense? Regardless of the spot price at the time of the transfer, a "fee" is always a "loss" for me. It could never be considered a gain. Yet if "spot price fee" is greater than the basis, it is* showing as a gain.

I feel like there is something weird here, but I can't quite wrap my mind around it. Thoughts? Thanks!

gbtorrance commented 1 year ago

I feel like "Proceeds" should show 0, since the fee crypto is gone and I got nothing for it. My loss would be the total "Cost or other basis" for the fee crypto. So "Gain or (loss)" would show a negative number representing the full cost basis for the fee. I may be missing something, though.

eprbell commented 1 year ago

My understanding is that investment expenses are not taxable and don't need to be reported, but double-check with your CPA on this. It's true that the "Investment Expenses" tab is a bit confusing: the "tax_report" output generator uses the form 8949 format for all tabs, including "Investment Expenses", so they get represented as if they were sales (but they are not). How would you change the output to improve readability?

gbtorrance commented 1 year ago

Thanks for the reply!

My thinking on this has gone through a few "iterations". At first I assumed that the cost basis of the fee would somehow be deductible on my taxes. But that seems to not be the case. Then I figured it would get added to the cost basis of the remaining crypto. But that doesn't seem right either.

I found this post to be quite helpful. My understanding from reading the various replies is that the most likely interpretation is that the transfer fee is essentially treated as a "sale" (with the sale proceeds being used to pay the non-deductible fee). Any "gain or loss" on the "sale" should be reported like any other sale. If that is the case, then the "Investment Expenses" sheet actually seems to be correct and an accurate representation from a tax perspective.

I'm curious about your interpretation. Does that make sense?

Thanks!

eprbell commented 1 year ago

Yes, that's my interpretation of the post you linked as well, but there are other sources that provide different information on transfer fee taxation:

¯\_(ツ)_/¯
gbtorrance commented 1 year ago

Thanks. I read the links you sent. I'm not totally sure what to make of issue 87. But the TaxBit link has a subsequent link to this TaxBit page which contains the following:

Fees incurred to simply transfer crypto assets around the ecosystem likely provide no tax benefit because they are not incurred in direct connection with the acquisition or disposition of property. Further, any crypto disposed of to pay transfer fees needs to be included in your calculation of gains and losses.

As an example, let’s say you are holding ETH with a cost basis of $10,000 on a centralized exchange and want to transfer that ETH to a non-custodial wallet so you can get it into cold storage, or move it into a DeFi protocol. When you transfer (withdraw) that ETH from the centralized exchange, you pay a transfer fee in ETH worth $25.

The ETH used to pay the transfer ETH should be included in your tax calculation as a disposal of ETH. The gain or loss would be calculated as $25 proceeds less the cost basis in that ETH.

Separately, you have incurred a $25 fee for the transfer—paid in ETH. This $25 expenditure likely has zero tax implications. As an initial matter, the fee is not paid in conjunction with the acquisition (or disposition) of property (crypto) so the value of the fee is not going to be added to the acquisition cost basis of the property. There is no basis in the tax code to add the cost of moving (or transferring) property into the cost basis of that property.

That seems to be essentially identical to what we gleaned from the Intuit forum post I linked. Specifically, that transfer fees should be considered dispositions/sales of crypto (and reported as capital gains/losses), and the fee itself is not deductible in any way.

Thoughts?

eprbell commented 1 year ago

I think I may have misread the post you linked earlier: it does say the same thing as the Taxbit article. I think your conclusion is correct: transfer fees are not deductible, but they are accounted for as sales.

gbtorrance commented 1 year ago

OK, sounds good. I think we're on the same page. I appreciate the feedback.

I'll go ahead and close the issue for now. Cheers.