Comments (10)
Trade fees are already applied to the transaction in RP2: buy fee adds to the cost bases and sell fee deducts from the proceeds, as the article describes (an example that is part of unit tests is input/test_data3.ods, sheet B1). Is there anything specifically that you think should change?
from rp2.
Ok, for some reason I got in my head that Investment Expenses were used for deductions after calculating capital gains. Maybe it's just my misunderstanding. So, the Investment Expenses tab in the US tax report is basically just there for information purposes only? or would this be used if I were operating a business?
I understand I should be consulting a tax accountant and DYOR and you are NFA.
from rp2.
Got it, no, trading fees are already considered when computing capital gains (they affect cost basis and proceeds). The investment expenses tab contains two things currently (see https://github.com/eprbell/rp2/blob/main/src/rp2/plugin/report/us/tax_report_us.py#L57):
- transfer fee (the fee of move transaction);
- fee-only transactions.
As you mentioned, how to tax these and which forms to use is indeed a question for a CPA.
from rp2.
Oh, no. I've made an error with one of the plugins, then. For some reason, spot trading fees appear to be showing up in that tab.
from rp2.
Are they Fee only transactions (transaction type == Fee)?
from rp2.
Yeah, I'll have to look at my code.
from rp2.
OK, I got it now. Pionex and Binance charge a fee in the crypto asset when purchasing it with USDT. The report generator is creating artifical transactions but these should actually be used for cost basis.
For example, I buy 1 BTC for $9000, and they charge a 0.1 BTC fee.
There should be a 0.9 BTC InTransaction. And the cost basis for that BTC should be $10000/BTC.
However, right now the cost basis is $9000/BTC and a fee is generated to be used to reduce my capital gains. I think it all works out in the end, but it's not the correct accounting.
from rp2.
Ah, yes, because it's a conversion, which is modeled as one in-transaction with crypto fee + one USDT out transaction. RP2 represents the in-transaction with crypto fee as 2 transactions in the output:
- one in-transaction (without crypto fee, but with fiat fee equivalent to the crypto fee)
- an artificial FEE transaction to model the crypto fee of the in-transaction (see https://github.com/eprbell/rp2/blob/main/src/rp2/ods_parser.py#L214).
I think accounting is OK as-is, because the in-transaction has a fiat fee (equivalent to the crypto fee) which affects the cost basis as discussed above. The artificial FEE transaction is added only to capture the fact that some crypto went out to pay the fee (this affects the out flow of crypto). See test_data4.ods, sheet B1 as an example. Hope this helps.
from rp2.
@macanudo527 is this issue resolved?
from rp2.
Closing for now, but if you have more to add we'll reopen.
from rp2.
Related Issues (20)
- Short term vs. long term gains HOT 5
- Parameter 'crypto_fee' has zero value HOT 3
- Open Positions affected by "from date" HOT 1
- Spending from Exchange with zero balance HOT 14
- option to specify columns in config.ini by letter HOT 1
- Non-zero balances when zero is expected HOT 2
- Possibility of using Declarative programming language or Advanced T-SQL to perform HIFO, LIFO, FIFO & other accounting methods HOT 4
- Add support for Lowest-Cost In, First Out (ie. Highest-Tax First-Out, HTFO) for a specific Financial Year HOT 1
- Staking negative income produces errors HOT 10
- Exception when executing HOT 3
- Question about "Open Positions by Asset" report HOT 2
- Crypto fee in OUT table HOT 24
- FIFO and exchange/wallet cost-basis calculation HOT 5
- RP2 process runs after "DONE" HOT 5
- Call for GUI coders: create an intuitive GUI to drive RP2 and DaLI HOT 3
- I can def help HOT 2
- Using Pionex data to Rp2 using dali isn't working. __crypto_sent = unknown HOT 4
- Error total in-transaction crypto value < total taxable crypto value HOT 1
- [Request] Expose settings for what constitutes a taxable event HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rp2.