finds.dev← search

// the find

howeyc/ledger

★ 501 · Go · ISC · updated May 2026

Command line double-entry accounting program

A Go implementation of plain-text double-entry accounting, compatible with the hledger/ledger file format. Ships both a CLI and an embedded web UI for balance, register, reports, and portfolio tracking. Aimed at developers and technically-minded people who want to own their financial data in flat files.

Ships its own decimal type rather than using float64 — correct behavior for money arithmetic is not an afterthought. The web interface is self-contained (static assets embedded, Bootstrap + Chart.js), so `ledger web` just works without any separate server setup. CSV/QFX/CAMT import with a PEG grammar parser is a real feature, not a hack — handles the messy part of actually getting bank data in. Test coverage on the parser and importer is present and the fuzz test on parse.go suggests the author has thought about malformed input.

501 stars for a project that's been around long enough to have a book and man pages is a signal the ecosystem is fragmented — hledger and the original C++ ledger have far larger communities, so plugins, recipes, and answered questions are harder to find. The web UI bundles vendored JS at specific versions (Bootstrap 5.3.2, Chart.js 4.4.0) with no apparent upgrade path, which will accumulate CVEs quietly. Multi-currency support exists but the portfolio feature pulls live quotes via an external service, and there's no offline fallback — your balance sheet breaks if the quote endpoint changes. No reconciliation workflow: you can import transactions but there's nothing to mark cleared vs pending, which is a meaningful gap for anyone coming from Quicken or even hledger.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →