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

The reasons why I tried and failed with ledger:

- I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from?

but probably more this:

- 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.

- Investments man. How does one track dividends, buy/selling in a text file. I probably need to take a finance class... :)



> - I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from?

That's not ledger-related, that's double-bookkeeping related. What you want to do is something like:

    2014-07-05 Opening balance
        Assets:Checking         $ 56.00
        Equity:OpeningBalance   $-56.00
Actually, there is, in the wonderful ledger manual, something about that. Of course, Equity:Opening balance will remain forever at -56.00, but that's not a problem.

Wrt to investments, I haven't really explored that part yet, but there is a description of how you're supposed to track your portfolio.


> I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from?

Whenever, it doesn't matter. Its just an opening balance. [1]

> 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.

Yeah, the hard part of tracking finances, regardless of system, is the discipline of actually keeping up with it.

> Investments man. How does one track dividends, buy/selling in a text file. I probably need to take a finance class... :)

The ledger manual actually covers tracking investments in some detail.

[1] http://ledger-cli.org/3.0/doc/ledger3.html#Starting-up


> - 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.


The problem isn't ledger is that you have been spoonfed by GUI applications which do all the work and thinking for you. If you bothered to read the documentation you see all this clearly laid out. Ledger requires you to do your own thinking and some people find that hard. The ledger itself is a set of text files, if you can't figure out how to automate data entry (say excel for bulk data entry, then processing a CSV file) then maybe you're right, ledger isn't for you.


This reply seems to me unnecessarily rude. Looking back at your comment history, there's a lot of this -- starting comments with "Do pay attention", saying "If ... then you don't understand enough to have an opinion on this topic", "This is complete rubbish", etc.

Allow me to remind you of the following paragraph from the official HN commenting guidelines:

When disagreeing, please reply to the argument instead of calling names. E.g. "That is an idiotic thing to say; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."

As it happens, I agree with you about the likely intellectual deficiencies of at least some of the people you're responding to in this way. But pointing them out in this way is unnecessary and counterproductive, and makes HN incrementally a less pleasant place to be for all of us. Please stop.


> As it happens, I agree with you about the likely intellectual deficiencies of at least some of the people you're responding to in this way. But pointing them out in this way is unnecessary and counterproductive, and makes HN incrementally a less pleasant place to be for all of us. Please stop.

On the other hand epo could just downvote the comment without furnishing a reply or explanation, which is practised by other HN readers. This is a cowardly tactic and is very 'anti-hacker'.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: