Thanks this is very helpful. I was not aware of the smart importer and will try it out. And I’ll check out beancounttools. Thanks!
On Thu, 25 Jun 2020 at 5:41 PM, 'Patrick Ruckstuhl' via Beancount < [email protected]> wrote: > Hi Jonathan, > > Q1 > > I would say whenever you have both (or more) sides of a transactions then > it's the best to import all legs. The thing is that in most cases you don't > have them. On thing that I also do quite often is, that if I can import > both sides of a transaction form two different sources (e.g. two different > banks), then I use the transaction ids of each bank to add them to the same > transaction, so I know that I have it imported from both sides. > > > Q2 > > Not sure if you've come across smart importer > https://github.com/beancount/smart_importer, this is a wrapper around > your importer that uses existing transactions to guess what the missing > other leg could be. For me this works extremely well. > > I use it together with the web ui fava https://github.com/beancount/fava > > when you then run an importer you get basically the list of all your > transactions and you can still modify if the smart importer guess wrong. > > What I also started doing more and more (and also works quite nicely), is > to actually not even have a file to import but instead directly use an > available api (e.g. truelayer, revolut, transferwise, interactive brokers, > ...), you can see some examples in my beancounttools > https://github.com/tarioch/beancounttools > > > Q3 > > There were some enhancements done for hooks: > https://github.com/beancount/beancount/issues/458 > > > Regards, > > Patrick > > > > On 25.06.2020 07:15, Jonathan Goldman wrote: > > Hi, > > I have done a bunch of exploration of beancount over the last few months > and really like its capabilities and now ready to get serious about getting > it working for me. So far this is what I have done: > > > - Used the sample files to familiarize myself with the commands and > beancount's capabilities. > - Created accounts and manually entered some real data for my personal > finances. > - Tried this <https://github.com/jbms/beancount-import> > sem-auto-categorization web-based import tool. It's good but I think I'll > mostly go the manual route. > - Tried various import methods > - Tried importing a quicken file...have had some trouble with this. > - Tried a csv2ofx <https://github.com/reubano/csv2ofx> tool > - Used reds_importers > > <https://github.com/redstreet/beancount_reds_importers/blob/master/README.md> > for Vanguard. This has worked successfully. This generates output that > has > two-sided. > - Wrote my own csv importer for my bank that is based on this csv > > <https://gist.github.com/mterwill/7fdcc573dc1aa158648aacd4e33786e8#file-importers-chase-py> > importer.. (I'm not a software engineer by training so this took me some > time but I'm very happy with this now and understand the code much > more). > This generates output that is only one-sided. > > My own conclusion is that I want go the route suggested by Martin and > effectively have my own importers for each source and with text-based > editor with auto-completion do the categorization. For the brokerages there > are a limited number of accounts/categories you can have so doing the > two-sided entry can be done here so it is auto-categorization if you will. > (e.g. dividends from account xyz always go to this income account, etc). > For credit cards and banks it rarely helps as there are so many expense > categories. Perhaps a subset (e.g. interest income from the bank can be > autocategorized or mortgage payment of specific amount) can be automated. > > *Q1. Is doing two-side entry for brokerages and single-side for > banks/credit cards a good approach the general practice that most here > use? * > *Q2. Is there other import approaches to consider? I think I'm finding > this the hardest part to get going on and that is why other tools like > Quicken/Mint/GnuCash are easier to get going. So not sure how, but perhaps > data collection and import is something already solved that is not > beancount specific?* > > I also noticed that Martin mentioned this in the import documentation > <https://docs.google.com/document/d/11EwQdujzEo2cxqaF5PgxCEZXWfKKQCYSMfdJowp_1S8/edit#> > : > >> A list of things I’d really want to add, beyond fortifying what’s already >> there: >> >> - >> >> A generic, configurable CSV importer which you can instantiate. I >> plan to play with this a bit and build a sniffer that could automatically >> figure out the role of each column. >> - >> >> A hook to allow you to register a callback for post-processing >> transactions that works across all importers. >> >> > *Q3. Is there any update/development on these two items?* > > thanks, > Jonathan > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/b2b52ac6-b019-4375-adcb-e3f7e6ab0c3bo%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/b2b52ac6-b019-4375-adcb-e3f7e6ab0c3bo%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/10207a15-f6f1-d6d6-994c-33e9520e2c83%40ch.tario.org > <https://groups.google.com/d/msgid/beancount/10207a15-f6f1-d6d6-994c-33e9520e2c83%40ch.tario.org?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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CANUAcYfkoEaL0uj9dnj_AaKiFypL6b%3DrPBhyY%3DAo3Pvosd2WAw%40mail.gmail.com.
