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.)
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.
Also I think "double-entry accounting" literally means "N-entry zero sum accounting" as you describe it, and hledger supports it.
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.