Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's a nice system in PHP. There are quite a few of them. Like ledger-cli [1] in C++ and emacs lisp, hledger [2] in Haskell and beancount [3] with fava [4] in python.

We used ledger-cli and beancount with fava and built automatic creation of accounting entries using machine learning and Bayesian alogrithms by analyzing bank and credit card statements. You can use powerful icsv2ledger [5], smart importer [6] and the awesome list [7] to get importers for various banks and other utilities.

[1] https://www.ledger-cli.org/

[2] https://hledger.org/

[3] http://furius.ca/beancount/

[4] https://beancount.github.io/fava/

[5] https://github.com/quentinsf/icsv2ledger

[6] https://github.com/beancount/smart_importer/blob/master/READ...

[7] https://github.com/siddhantgoel/awesome-beancount/blob/maste...

Note: corrected the entry for ledger-cli, its primarily written in C++ with some emacs lisp scripts.



I use and love ledger-cli but importing/downloading bank data is the biggest pain point.

I'm currently using ledger-autosync (https://github.com/egh/ledger-autosync) to import OFX/QFX files. For some banks it can automatically pull the data using ofxclient (https://github.com/captin411/ofxclient) but for most of my bank accounts this is broken and I need to manually download the OFX file before importing with ledger-autosync. It works OK, I wish I didn't have to do the manual download, but the simplicity of the setup is nice.

I've read of other setups using Plaid or Puppeteer to download their data. Would be interested to hear about what other people are currently using in mid-late 2019 to pull their financial data.


I was using Tiller (https://www.tillerhq.com), pulling from US and European banks to a Google sheet, then a command line tool to pull CSV from there. This worked well except for not handling foreign currency (it calls everything $), adding a bit of extra latency/uncertainty on top of the back end (Yodlee), and eventually forgetting to update your sheet unless you manually visit it every so often.

Currently I’m using plaid2qif (https://github.com/ebridges/plaid2qif) to pull CSV from US banks via Plaid’s (https://plaid.com) API. This is more developer friendly and gets the latest data to me faster, but the data is not quite as good as Tiller/Yodlee’s, at least for Wells Fargo bank; Plaid gives more truncated transaction descriptions.

Both of these have the big downside of sharing your bank credentials with others. With Plaid I guess there’s one less party involved. My current alternative is manually visit each bank’s site and download CSV. Ideally I want to get timely data every day (the easiest way to stay on top of the books), so the manual downloading (click, wait, click, relogin after timeout..., wait, wait for paypal’s download, retry when it gets stuck..) gets really tiresome.


Maybe use something like moneydance? It talks directly to the financial sites to grab ofx and is extensible via plugins.


I believe many banks in the US don’t provide OFX, or not easily. Wells Fargo would charge me $10/month for it.


That's insane. I'd change banks over something like that.

FWIW, USAA, Ally, Fidelity, AmEx, Chase, no charge for OFX.


This page suggests that it's actually $3/mo: https://www.wellsfargo.com/online-banking/software/fees

However, I've been pulling OFX data from my Wells Fargo for years via AqBanking (https://wiki.gnucash.org/wiki/Setting_up_OFXDirectConnect) and have never been charged.


Glad you like ledger-autosync! I agree, its very annoying to have to download OFX files. I wish more banks supported the OFX protocol, or really any sort of automated download. I should probably look into plaid and see if it might work.


I'd rather do it manually. It's a feature. I really like the double entry journal.


My ledger workflow is rather different. I use KMyMoney to enter transactions (or download). And I have a script to export all that to Ledger format.


Could you blog about/link to that ? It sounds smart.


Yes, but likely only when I'm very reliant on it. As it is, it's very ad hoc and buggy.

To be frank, I spend 90+% of my time in KMyMoney. I need Ledger only for its virtual transaction features (for budgeting). The other use case I have for ledger is to perform some analyses/reports in it that KMyMoney doesn't provide.

There's nothing "smart" about it. It's simply a script that takes in a kmy file and creates a valid Ledger file. It's been a while since I looked at it, but at the moment I doubt it handles things like stocks and commodities, etc.

Still, I'd rather use KMyMoney to enter transactions than using the Emacs mode for Ledger.


The reason I use Firefly III is because it supports the Bunq API. It is much more convenient than manually importing CSVs. Great list though!


I have been looking for something like this for sometime. Right now I'm using YNAB with manual imports from bunq csv exports but I will give it a try and try out the bunq integration with firefly.

Does Firefly also support the features of YNAB, if you know by any chance?


It seems they do? Not compoletely polished.

https://docs.firefly-iii.org/en/latest/import/ynab.html

--- EDIT: misread! I don't know about the _features_. They support importing, which doesn't imply supporting the features.


They claim they have budgets, 'categories', and something I wish YNAB had, 'tags'. Tags would be nice so that I could categorize expenses normally, e.g. 'restaurants', but also group them, e.g. 'trip to X'.


Bunq just introduced exactly that a week ago.


I have no idea what YNAB is but yes it is supported:

> You can also import from bunq, from YNAB, using FinTS or simply by uploading CSV files. [1]

[1] https://hub.docker.com/r/jc5x/firefly-iii



Do you know of a way to do cross-account budgeting in ledger CLI (or any of the similar tools)?

This was discussed for beancount a few years ago[1] and basically means that I want to distribute the money for a budget across multiple accounts but last I looked (over a year ago) there was no tool that provides this feature.

[1] https://groups.google.com/forum/#!msg/beancount/ddi5fOuAFoU/...


ledger-cli is my current tool and all-time favourite. The only thing I'm missing (and thinking of spending a weekend to write) is a self-hosted web UI for data entry. Not that I needed - Emacs is a more productive data entry UI than anything that was ever done in a web browser. But my wife wants to help me retype receipts, and I need something ergonomic that's focused on just that: adding trivial transactions.


hledger has a web interface, and it mostly speaks ledger. Looks like most of the stuff it doesn't understand it'll still cleanly parse and then ignore.

ETA: https://hledger.org/hledger-web.html


That’s right. For other stuff, a possible workaround is to use includes to keep it in a separate file that only Ledger sees.


A good standalone is Money Manager EX


Not sure why your recommendation was dead. I've dabbled with MMEX in the past. I vouched for your comment.


Minor point of order: ledger-cli has a lot of languages for one-off scripts but it's principally a C++ program.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: