Beancount user experience: tutorials / minimal examples / how-to for unix beginners?

162 views
Skip to first unread message

nug get

unread,
Nov 21, 2019, 8:36:16 AM11/21/19
to Beancount
Dear all,
I like the beancount idea, but i am a Unix beginner and as such I want to strongly discourage any other unix beginner to go for beancount before there is a DPU (dumbest possible user )-proof tutorial.  I'll try to list some pains I had (and still having). If there is anyone who'd like to help me out abit, I would really appreciate!
It would be great if the different things one has to know about beancount and its surroundings would come with some tutorials/ minimal examples. Here are the reasons why:

  1. Setting
    my bookkeeping universe involves  DKB, Postfinance, CornerTrader, InteractiveBroker and Revolut. Originally in Excel, then Gnucash and going for beancount now, with an account history of about 3 years.
    I used Windows since ever and have only very slight knowledge on Unix systems.
  2. Setting up an environment
    I got myself WSL Ubuntu 18.xx, and later switched to VSCode to do the text manipulation.
  3. installing beancount, generating the example file and seeing it as fava web-frontent was not too bad to achieve. Reading through all the docs and understanding took a few days. Finally I have an idea on what I need.
  4. converting the Gnucash did work but required to dive into the python code and fix some errors. most effort went into manually post-processing the resulting file, but hey, I didnt note down things in gnucash anticipating i'd use beancount later, so given that. still took me ~2 full days.
  5. getting bean-price to do what i need was quite awful, based on the documentation https://aumayr.github.io/beancount-docs-static/api_reference/beancount.prices.html
    • finding tickers that work, unlike google tickers. Is there some list of stock quote providers supported by bean-price?
    • syntax examples from the doc usually did not work for me, and i had no clue why
    • the whole beancount PnL wont work if the stocks are padded to the current numbers. you need one purchase with cost per commodity in your file to get a reaction of beancount on the prices provided
    • to me it was not obvious that the stdout of bean-price is the actual result, and i was not aware that i have to manually put it into my ledger. took me half a day to find out. Sorry, no Unix intuition here^^
  6. getting the importers for DKB, Postfinance and IB to work is also awful. I have not succeeded so far.
    1. DKB: https://github.com/siddhantgoel/beancount-dkb
      installing works kind of, then i got stuck:
    2. Postfinance/ IB: https://sboehler.github.io/beans/ has importer for postfinance & IB, but hell I cant get it up and running:
      2.1 Obtaining the source works well
      2.2 Installing beans
      2.2.1 Using Stack: here i am stuck

      with stack installed, i cannot install bean.
      no idea, and the few google hits did not help me out
      2.2.2 Using Nix
      with Nix installed, I am again stuck

      all those errors take lots of time to get behind, and as of yet, I did not succeed. Maybe i just write my own csv parser....
  7. Fortuanately, someone gave me some good practices on how to organize the ledger files. lie separate files for each year, or institution or for stock quotes,... a best practices guide would be so valuable!
  8. and then, of course, all these tricks a Unix-newbie goes crazy until someone tells him..
Finally i start having a nicely aggregated set of data, but the way was long and is by no means over now. i probably already invested 8-10 full days to get there... quite an expensive piece of software, if accounting for my free time :)

Thanks to the creators of beancount and all involved projects!
best,
nugget

Justus Pendleton

unread,
Nov 22, 2019, 8:22:00 PM11/22/19
to Beancount
On Thursday, November 21, 2019 at 8:36:16 PM UTC+7, nug get wrote:
then Gnucash and going for beancount now, with an account history of about 3 years.

Out of curiosity, why would you switch from gnucash to beancount?

I think the reality is that beancount is implicitly targeting a very niche set of users (probably why traffic on this mailing list is so slow!) -- and I'm not sure unix-newbies is that niche. All of the issues you run into are why people often decide to pay for software instead.

That said, you're right that the bean-price document is woefully out of date with its references to defunct sources. A while back (two years?) both Yahoo and Google killed their APIs. Eventually Martin rewrote the Yahoo one but AFAIK the Google one is still dead. But the documentation hasn't really been updated to account for that. I'm actually not sure how one goes about updating the documentation these days?

But price fetching is always going to be the most brittle part of beancount. Virtually all providers have switched away from providing easy, free APIs for fetching stock quotes over the past 5-10 years. You need to sign up to a service and (often) pay money. :(

Martin Blais

unread,
Nov 23, 2019, 9:26:55 AM11/23/19
to Beancount
On Fri, Nov 22, 2019 at 8:22 PM Justus Pendleton <just...@gmail.com> wrote:
>
> On Thursday, November 21, 2019 at 8:36:16 PM UTC+7, nug get wrote:
>>
>> then Gnucash and going for beancount now, with an account history of about 3 years.
>
>
> Out of curiosity, why would you switch from gnucash to beancount?
>
> I think the reality is that beancount is implicitly targeting a very niche set of users (probably why traffic on this mailing list is so slow!) -- and I'm not sure unix-newbies is that niche. All of the issues you run into are why people often decide to pay for software instead.
>
> That said, you're right that the bean-price document is woefully out of date with its references to defunct sources. A while back (two years?) both Yahoo and Google killed their APIs. Eventually Martin rewrote the Yahoo one but AFAIK the Google one is still dead. But the documentation hasn't really been updated to account for that. I'm actually not sure how one goes about updating the documentation these days?

Become a trusted contributor by sending a few patches (you are).
Click on the Request Edit Permissions button (or something like that)
at the top right.
Wait & Edit in your web browser.
Voila!


> But price fetching is always going to be the most brittle part of beancount. Virtually all providers have switched away from providing easy, free APIs for fetching stock quotes over the past 5-10 years. You need to sign up to a service and (often) pay money. :(

True.
In the next major version (you know, the one I keep talking about that
will probably only happen between the big gap I'll take between my
current job and the next or when the machine learning wave takes a
breather and I can stop running for a bit) I'll probably remove it
entirely and just keep an interface and some utility functions that
process the Beancount ledger and enumerate lists of dates and
commodities that require updating, i.e. just pool together all the
utilities that are common/useful for someone writing a price fetcher.
At this stage I'm sure other people will indulge and write separate
projects to maintain various price fetchers they need.




>
> --
> 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 on the web visit https://groups.google.com/d/msgid/beancount/22ff918e-cfb7-4708-9fa3-c60a7e8d3077%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages