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

> - I found it super laborious to enter transactions. I guess I grew up post-checkbook but when I'm not near my computer for a few days and have a pocketful (or not) of transactions to enter, I would get behind and then just give up. Even with logging into my bank account to cheat.

I had the exact same gripes with ledger. Although there are means to pull csv-data from most banks, one still would have to categorize the entries on each import into ledger.

There is https://github.com/cantino/reckon which claims to solve this by automatically sorting entries into the correct accounts by means of Bayesian learning. Sadly the machine learning worked unreliably with my data - I would still have to manually sort many of the recurring and previously "tagged" entries into the proper account each time they came up in the csv-file.



This is perceived as a big problem by many people. Here are some current options:

CSV:

You download CSV data from your bank (manually, probably). Then you convert it to ledger journal format using one of a number of tools: CSV2Ledger, reckon, Ledger, hledger (both have CSV support built in by now), or something you write yourself. This data is "single-entry" and doesn't know about your chart of accounts, so you augment and translate it into more useful general journal entries. There are several approaches being explored:

- rule-based - you set up rules, matching patterns in the description, which assign accounts and balancing postings. Eg: CSV2Ledger, hledger (currently; eg http://hledger.org/manual#csv-files).

- history-based - the CSV description is matched against transactions already in the journal, and the most similar one is used as a template to flesh out the new transaction. Eg: Ledger (http://ledger-cli.org/3.0/doc/ledger3.html#The-_003csamp_003...).

- artificial intelligence - I seem to remember reckon does something else more clever ?

OFX:

- manual download - as above, but you download an OFX file. OFX records provide more structure than CSV but still need to be fleshed out. ledger-autosync does this, using history matching. It also skips transactions you've already saved to the journal, avoiding duplicates.

- automatic download - ledger-autosync can also handle the download, if your bank provides OFX Direct Connect. This is the most automated option at the moment, recommended. I pull transactions daily from Wells Fargo this way (though I'm going to quit one of these days since they charge too much for it).

GNUCash:

- In the distant past, ledger could read GNUCash files directly, so you could enter with GNUCash and report with ledger. This feature is long gone, but you might be able to get it working with an old Ledger version, and `print` into a journal file you can then use with modern *ledger.

Converting from other finance apps, eg mobile ones:

- As above, you might find adhoc ways to import from apps with nicer data entry. Eg use the iXpensit Pro app on iphone, export the CSV, convert that, add crazy automation duct tape until it's "smooth".

hledger web:

- hledger-web has an add form. It's not very good, but it's in your browser, and if you're really keen you could set it up to be accessible from your smartphone.

hledger add:

- hledger's built-in add command does assisted (history-based, tab completion etc.) interactive data entry on the console. Some folks may find that preferable to editing a text file.

Editor modes:

- for people used to text editors: ledger-mode provides some data entry conveniences for Emacs users, and there's vim-ledger, a ledger bundle for TextMate, etc.

HOWEVER...

If like me you're working on building discipline and insight into your finances, you may find nothing beats manual data entry for a while. You don't get the same awareness when everything is automated.




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

Search: