Hacker News new | past | comments | ask | show | jobs | submit login

While we’re on the subject, I just moved my whole financial life over to hledger (https://hledger.org/) and oh my goodness I’m so much happier (I dumped both QuickBooks and Quicken, which I’d been using previously).

It won’t be for everyone, but if you know a bit about what you’re doing with double-entry accounting, it’s so so so much better. I only wish I’d discovered this was of doing things years ago (before dumping hundreds of hours into clicking and trying to wrestle with Intuit’s tools.)

I do my self-employment accounting using an accounting system I wrote myself in my own Lisp dialect (TXR Lisp), making heavy use of its object system. It works very well.

The entry is done in a file called "data.tl", using simple function calls and object construction. That is then checked into Git after every new transaction.

It does everything: deducting income tax, expenses, GST, capital cost allowance for writing off depreciation on equipment, ... And it has decent columnar format reporting for querying the accounts.

Invoices to clients are generated in HTML + CSS + SVG logo, which can render to a very polished PDF.

I based the system on something I call "zero sum accounting". Every transaction contains 2 or more deltas (N-entry, not just double entry), which represent entries going into various accounts. These deltas must add up to zero: like voltages around a circuit. So for instance a single transaction representing a paid invoice gets split up into an income tax withholding account, gst, account, equity account, cash account, and others, in a single transaction. Negative-running accounts represent outside interests in the business: e.g. the equity account (owner's interest in the business) runs negative, and so would an account representing a bank loan (lender's interest in the business). Positive accounts are what the business has, like cash or value of assets. The confusing "debit" and "credit" terminology is completely avoided.

Any plans to open-source your tool? Sounds fantastic.

Also I think "double-entry accounting" literally means "N-entry zero sum accounting" as you describe it, and hledger supports it.

When designing this system I wasn't able to find any online resource about accounting describing anything other than double-entry accounting in which every transaction consists of one debit and one credit in equal amounts (usually positive), not adding to zero.

The Wikipedia page has nothing about an N-entry, zero sum method:


Not going to open-source; I never open source anything without decent documentation, and this has none.

It’s implied in the first paragraph – “In double-entry bookkeeping, a transaction always affects at least two accounts, always includes at least one debit and one credit, and always has total debits and total credits that are equal.”

Do you have many automations or integrations in-place, or links to resources that helped you get beyond manual entry?

Not the OP, but: https://plaintextaccounting.org/#data-importconversion, https://hledger.org/about-real-world-setup-docs.html, #plaintextaccounting and the project IRC channels may have something helpful.

There's also ledger-cli.org, which appears to be pretty similar.

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