Live data from Hacker News

Ledger, a command-line accounting system

ledger-cli.org

91–100 of 169 posts

Re: Ledger, a command-line accounting system

#91
post #47

Earlier quoted context omitted.

I'm curious about this. I thought double entry book-keeping was mostly an artefact of manual/analog book-keeping. Humans are notoriously error-prone, and it's easier to avoid errors when two sets of numbers are supposed to balance out (ideally, exactly). How is double entry beneficial once all transactions are documented digitally? Could you give a somewhat concrete example? (Contrived or otherwise)?

Double-entry refers to the number of accounts related to a transaction, rather than the process of entering it twice. When you think about it, all transactions have naturally (at least) a from and a to account. In the simplest example, I move $100 from one checking account to another. This is a pain to model in a spreadsheet, where I literally create two entries, but very easy to model in an electronic dual-entry sys…

> Double-entry refers to the number of accounts related to a transaction, rather than the process of entering it twice.

Hm. I guess I didn't know there was such a thing as single-entry :-)

Thank you for clarifying, that makes sense. We actually had a (little too much, or too little) about this in high-school. But it looked a lot more like: https://en.wikipedia.org/wiki/Double-entry_bookkeeping_syste... (debit and credit "accounts").

It struck me as odd to keep the term when handling it somewhat differently (although also somewhat similarly).

I suppose the term is old enough that it covers both "double meta-data" and "double(redundant/check-summed) storage".

Re: Ledger, a command-line accounting system

#92
post #67

Heard about it and never really used it, should I start with ledger or hledger these days? any suggestions?

90% of the features overlap. Depending on your particular needs, one or the other may be preferred, e.g. multiple currencies. I use hledger for the Haskell street cred. ;)

edit: http://hledger.org/faq.html

Re: Ledger, a command-line accounting system

#93
post #54

Earlier quoted context omitted.

Try doing something the program doesn't support. Experts prefer plain-text formats and command-line tools because with a little bit of elbow grease you can always do things the program creator never thought of or chose not to support.

> Experts prefer plain-text formats and command-line tools Sure. Expert computer users prefer Lynx for web-browsing, expert Windows and Apple developers prefer vim and gcc, expert fiction writers prefer using emacs, and professional accountants use command-line accountancy tools...

I think I got Poe'd here - I'm not sure if you're serious or not, because the only thing that sounds stretched to me is the Lynx one. Of adoption of CLI among professional accountants I know nothing about, but the rest pretty much checks out.

Re: Ledger, a command-line accounting system

#94
post #37

Is it possible to attach a receipt (say scanned PDFs) to a Ledger entry? I am interested in ledger, would like it to be the accounting system for my side business, a bit more bookkeeping feature such as the receipt attachment would be great for tax filing purpose. Edit: I know that Ledger uses plain text for each entry. Though I kind of wonder how do you guys keep those receipts.

We use Ledger for all of our accounting (it's not too much... yet) and we've been using comments in Ledger to keep track of our receipts.

Example:

    2015/02/05 Clipper Card
        Expenses:Transport:Public Transportation               $20
        Liabilities:Reimbursement:Zach Latta
        ; Receipt: 52fae6a40afaf2a79bfdef92f5e1b6d3.pdf
Each receipt filename is . and they're all tracked in a private GitHub repository.

Here's a link to our repo with more examples: https://github.com/hackedu/finances/blob/master/main.ledger

Re: Ledger, a command-line accounting system

#95
post #27

I've been using Ledger for almost nine years, both for my personal accounts and now my business accounts. I wrote some introductory articles about it, and further articles about how I use it day-to-day: https://www.petekeen.net/finance

I have been using ledger ever since reading your articles. Thank you very much! Ledger, for a developer, makes accounting bearable.

Re: Ledger, a command-line accounting system

#96
post #31

Earlier quoted context omitted.

> There are a bunch of legit accounting packages out there. How are they more "legit" than ledger? > No need to re-invent the wheel or (in this case) clean the parade ground with a toothbrush. Ledger's been around for a while. Using it is no more "reinventing the wheel" than using any other accounting package.

>How are they more "legit" than ledger? Is it widely used? Can you get staff with a couple years experience using ledger? Will accounting staff be productive using the interface? Does it cope well with multiple simultaneous users? Is it compatible with other software? Can you get local support? Can you export/import to other packages? Are the fringe case glitches known? All these things matter with finance software,…

To add to dragonwriter's answers:

> Can you export/import to other packages?

Ledger only reads data you stored in text files. You can't really get much more flexible than that. Give me another package's installation and a weekend, and I'll throw you a compatibility layer. Can you say the same about those other packages?

Re: Ledger, a command-line accounting system

#97

I've used Ledger extensively for a side business as well as for timekeeping for work. It's incredibly powerful and incredibly unforgiving. If you want to keep PDF, JPG, etc. receipts with it, just put them in the same directory and note them in a comment. Additionally, use a VCS that does binaries well. Git does not.

> as well as for timekeeping for work

Any tips on that?

Re: Ledger, a command-line accounting system

#98

I use and love ledger, and wrote a Ruby wrapper a few years ago called reckon that applies Naive Bayes to your bank CSV (kind of link Mint.com) and outputs a ledger input file. http://blog.andrewcantino.com/blog/2013/02/16/command-line-a...

Thank you thank you thank you!

Re: Ledger, a command-line accounting system

#99
I wrote a small, single-script clone in Python:

https://github.com/danpat/uledger

I wanted to be able to group all my assertions together. This means the assertion needs to be able to retroactively calculate the balance on a given date. ledger-cli's assert doesn't support this. hledger does, but, well, I'm not a Haskell guy and the whole Haskell ecosystem seemed...cumbersome...to install.

uledger supports a useful-to-me subset of ledger-cli, primarily nested accounts, multiple currencies and out-of-order assertions and transaction entry. It has a bunch of tests and a very simple web balance interface. My favourite feature is the accounting-equation balance feature:

    2015-01-01 Opening Balance
            Equity:Owners Contributions   $-100
            Assets:Bank                   $100
    2015-01-01 Buying widgets
            Liabilities:Credit Card       $-50
            Expenses:Parts
    2015-01-03 Some Income
            Income:Consulting             $-200
            Assets:Bank                   $200

    assert balance 2015-01-02 Expenses  $50
    assert equation 2015-01-04 Assets - Liabilities = Equity + Income - Expenses
Feedback/patches welcome.

Re: Ledger, a command-line accounting system

#100
post #60
post #51

Earlier quoted context omitted.

YNAB is both. It's a double-entry budget management system.

YNAB is not double-entry. In fact I interviewed with them one time and they asked me how I would design it, and I started outlining how I run my ledger-based YNAB-like system with double-entry accounting. Their response was something along the lines of "wish we had thought of that, it would have been easier."

Wait, it isn't? My understanding of double entry is that asset moves across accounts are recorded in both accounts, so if I were to, say, pay a credit card bill, I show a debit from my checking account and a credit to my card account.

Is this incorrect?

Post reply on HN