Comments (4)
Thank you, I will check the examples more.
from rp2.
Thanks for the question. Transfer fees affect the in/out lot relationships and RP2 does keep track of them: check the "Investment Expenses" tab of the tax_report_us output for a collection of all transfer fees.
However you also need to consider buy and sell fees, which are used when RP2 computes cost basis and gain/loss: for more on this check issue 6 .
Hope this helps! Let me know if you have more questions.
from rp2.
Thank you. That's amazing. How do you manage the computation flow? I sort of understand on bucketing the buys according to cost basis and then taking out from those buckets when selling, but with account for intra transfers, how does that work?
For example:
- I buy 1ETH for $100
- I buy another 1ETH for $120
- From that first 1ETH, I sent 0.1 ETH to a friend, 0.9 to my wallet to another wallet to another wallet and back to exchange which left with 0.8 ETH due to transaction fees. From the second 1ETH, I do some other intra wallet transfers and it gets mixed up with the first ETH wallet.
- I sell 0.8 ETH for $110
How do you trace the flow of that 1ETH@100 + intra transaction costs vs the 1ETH@120 + instra transaction costs
from rp2.
RP2 fractions lots and pairs in/out lot fractions, according to the user-selected accounting method (FIFO and LIFO).
Regarding the example you gave, rather than using English, which can be imprecise, I think it would be best for you to model the scenario you have in mind using RP2 and then post results here with any questions and comments. That way we can focus more productively on specific concerns in a precise scenario.
A few suggestions to model the scenario above with RP2:
- use InTransaction to model ETH you receive, buy, earn, etc. E.g.: buy 1 ETH for $100.
- use OutTransaction to model ETH you give, sell, donate, etc. E.g.: send 0.1 ETH to your friend.
- use IntraTransaction to model ETH you transfer between accounts you control (e.g. from your hw wallet to your Coinbase account). E.g. send 0.9 ETH from one of your wallets to another of your wallets or to your Coinbase account.
- transfer fees are captured by specifying an IntraTransaction that has crypto_sent > crypto_received: the difference between the two is the transfer fee (see input files for file format details).
- buy and sell fees are captured in the respective fee fields of InTransaction and OutTransaction (see input files for file format details).
- after you're finished, check the generated rp2_full_report.ods output file, which contains full computation details and tracks the flow and pairing of each lot fraction in detail.
I also recommend reading the Running section of the documentation, which contains pointers to examples and to file formats.
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
- Add Support for Argentina
- Add Support for South Africa HOT 2
- Incorrect lot exhaustion in HIFO HOT 2
- Few minor suggestions HOT 1
- Uncertain, but considering making a python wallet reader HOT 1
- Per wallet/exchange Specific Identification (FIFO, LIFO, etc...) Resolution HOT 27
- 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
- Investment Expenses can no longer be used for Deductions HOT 10
- 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.