Trade Log | Beginner Q & Best Practices

124 views
Skip to first unread message

David E

unread,
Dec 16, 2024, 10:15:44 AM12/16/24
to Beancount
I started working with beancount again to track my crypto trades (multiple wallets).

I installed it new and currently have v2 running, bc otherwise I couldnt run fava (on m1 mac). if you think I should switch to v3, pls lmk.

so I run into some question:

- fava journal looks like a solid, listing of all my tx that I want to copy to pdf and use for taxes. however, beside the pnl for each trade I have to show the cost-basis for each item, ideally with timestamp, too. what's the best way to handle this, from manual input and fava output perspective?

- would you recommend to have separate files for private accounting vs trade activity or put everything into one file and then run reports for specific needs?

looking forward learning more about beancount, thanks for your help

Eric Altendorf

unread,
Dec 17, 2024, 12:38:17 AM12/17/24
to bean...@googlegroups.com
On Mon, Dec 16, 2024 at 7:15 AM David E <in...@davidebner.de> wrote:
I started working with beancount again to track my crypto trades (multiple wallets).

I installed it new and currently have v2 running, bc otherwise I couldnt run fava (on m1 mac). if you think I should switch to v3, pls lmk.

so I run into some question:

- fava journal looks like a solid, listing of all my tx that I want to copy to pdf and use for taxes. however, beside the pnl for each trade I have to show the cost-basis for each item, ideally with timestamp, too. what's the best way to handle this, from manual input and fava output perspective?

do you have transfers between your wallets?  there is currently no robust and automated way to do booking on transfers (i.e., have the system declare *which* of the coins were moved and transfer their cost basis with them).  
 

- would you recommend to have separate files for private accounting vs trade activity or put everything into one file and then run reports for specific needs?

looking forward learning more about beancount, thanks for your help

--
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+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/beancount/598445b4-48c3-4e92-a41c-286091741208n%40googlegroups.com.

David E

unread,
Dec 17, 2024, 2:24:33 AM12/17/24
to Beancount
well, yes I have a lot of transfers between wallets. this goes for token as well as the ecosystem token (in this case SOL), which in both cases I have to track cost-basis for and calculate pnl for each and every tx.

I thought it's possible to transfer Lots by having beancount pick the first one in line (FIFO) automatically, but as I understand you beancount won't pass data like cost-basis and date of purchase, right?

the only workaround then is to add this data manually – could I get the needed data by running a report, check the given inventory, then copy the data and pass it into the tx I'm about to do? would this be enough when added manually or is it primed to break?

Eric Altendorf

unread,
Dec 18, 2024, 11:43:28 PM12/18/24
to bean...@googlegroups.com
this is hard unfortunately.  some problems:

mechanically, beancount doesn't put a cost basis on the augmenting legs of transfers.  colloquially, it doesn't transfer the cost basis with the transferred lots.

more seriously, it's not clear if there's a generally-useful automatic booking method for this.  Algorithms like FIFO make sense for sales because they result in some intuitive results of selling older assets.  But a transfer isn't a sale, so why would you necessarily want to be transferring the older assets?  In the realm of crypto, if you assume that wallets can be separated into exchanges and cold storage, then you might argue that in general you want to use your selling booking method for sales and for transfers from cold storage to exchanges (which may be presumed to be in preparation for sale), but the inverse booking method for transfers from exchanges to cold storage.  I actually have something like that coded up, but it involves so many assumptions it is not clear to me that it would generalize to enough use cases to be justified.

there's also the problem that coding it up requires hacking up some really delicate bits of the internal booking methods in beancount and there's a lot of concern about changing those for this use case.

i've used my own hacked-up version of beancount to calculate taxes but i am not happy with it and have yet to find a satisfactory solution.

Reply all
Reply to author
Forward
0 new messages