All of the following is not tax or accounting advice, but simply my
understanding.  Feedback from other beancounters would be welcome.

I think you have to figure out the USD values yourself, based on your
assessment of the FMV.  Here's some examples of how I structure exchanges.
(Reminder: this is a generated file with fake data)

https://github.com/ericaltendorf/magicbeans/blob/master/data/magicbeans_example.beancount#L69
2020-04-10 * "Exchange 1483.9889 USDT for 9.4000 ETH"
  Assets:Account:ETH                              9.4 ETH {158.1869 USD}
  Assets:Account:USDT  -1483.988882235528942115768463 USDT {} @ 1.0020 USD
  Income:CapGains

https://github.com/ericaltendorf/magicbeans/blob/master/data/magicbeans_example.beancount#L101
2020-06-10 * "Exchange 20.0000 ETH for 4943.2960 USDT"
  Assets:Account:USDT  4943.296022386568059164501299 USDT {1.0006 USD}
  Assets:Account:ETH                             -20 ETH {} @ 247.3131 USD
  Income:CapGains

I do this in my importers.  For example, the coinbase pro importer, when a
transaction has an increase leg, looks up the USD price of the increasing
currency:
https://github.com/ericaltendorf/magicbeans/blob/master/src/magicbeans/importers/coinbasepro.py#L238
See also the gateio importer:
https://github.com/ericaltendorf/magicbeans/blob/master/src/magicbeans/importers/gateio.py#L265
I am sad I never had the time to clean all this up and create an elegant
and consistent code path for handling both of these. :(

Regarding prices, I wrote my own code for price fetching (rationale in the
header of the file):
https://github.com/ericaltendorf/magicbeans/blob/master/src/magicbeans/prices.py

Then for tax reporting you want to report the value of the proceeds in
USD.  Take a look at the last entry in the Disposals table on page 5 of the
example PDF report:
https://github.com/ericaltendorf/magicbeans/blob/master/data/magicbeans_example.pdf
There was an exchange, where there was a disposal of 20 ETH and an
acquisition of 4943.2960 USDT, but the "proceeds" (i.e., USD value on which
taxes might be assessed) was 4946.26 (because 1 USDT ~= 1.0006 USD at the
time).

hope this helps. i am sorry i haven't had a chance to get back to you on
the other thread yet.


On Sat, Mar 16, 2024 at 12:45 PM CD <docs...@gmail.com> wrote:

> Two random transactions that I created based from an old Poloniex export a
> friend gave me...
>
> 2018-01-03 * "Crypto Buy" "Order number: xxxxxxxxx"
>   Assets:DGB   5171.00018694 DGB @ 0.00000447 BTC
>   Assets:BTC  -0.02317230 BTC
>   Expenses:TradingFees    12.95990021 DGB @ 0.00000447 BTC
>
> 2018-01-08 * "Crypto Sell" "Order number: xxxxxx"
>   Assets:ETC  -13.30376940 ETC @ 0.00225500 BTC
>   Assets:BTC   0.02995500 BTC
>   Expenses:TradingFees    0.00004499 BTC
>
>
> Poloniex at the time only had transactions made between different
> cryptocurrencies, so there are no USD trades.  Everything is priced in one
> half of the pair  ie BTC/ETC DGB/BTC in the above examples.
>
> How does one go about making everything into USD in reporting  (cost
> basis, etc)
>
> I'm baffled.
>
> If I set price directives for the different cryptos before each
> transaction will that do it?  Or am I going about it all wrong?
>
> There doesn't seem to be a way to do double @ either.  So for example I
> couldn't do  5171.00018694 DGB @ 0.00000447 BTC @ 21000.00 USD  right?
>
> Is there some way to set up the cost basis in USD in the initial
> transaction or using price directives?
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/a537f66b-f03b-4aac-bd50-deda8584a179n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/a537f66b-f03b-4aac-bd50-deda8584a179n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAFXPr0uFyqHRe4We-_mQ%3DtgV9ps5PDLCBh9-_5fhNps0ZDWgvg%40mail.gmail.com.

Reply via email to