Project
Ledgerline: personal finance API
A self-hosted double-entry ledger with a tiny HTTP API and CSV importers for every bank I use.
The problem
Every personal-finance app wants my bank credentials. I want a ledger I
own, that outlives any vendor, in a format an accountant can read.
Design
Double-entry all the way down: SQLite schema is just postings, and every
importer (CSV from three banks, PayPal, Amazon) lowers into it. The API is
four endpoints. Reports are SQL views, not features.
Results
Running for two years. The best part is boring: ledger --verify proves
debits equal credits across every posting since day one, in 4ms.