Git Product home page Git Product logo

Comments (4)

Exegetech avatar Exegetech commented on May 21, 2024 1

Thank you, I will check the examples more.

from rp2.

eprbell avatar eprbell commented on May 21, 2024

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.

Exegetech avatar Exegetech commented on May 21, 2024

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.

eprbell avatar eprbell commented on May 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.