Skip to content

v0.1.0

Choose a tag to compare

@aroesec aroesec released this 27 Aug 01:22
· 26 commits to main since this release

First tagged release of Loot, a self-hosted personal finance ledger.

Running it

docker pull ghcr.io/aroesec/loot:0.1.0

Or from source: Node 22+, pnpm, and a Postgres database.

pnpm install
cp .env.example .env.local     # DATABASE_URL, APP_PASSWORD, SESSION_SECRET
pnpm db:migrate && pnpm db:seed
pnpm dev

Three variables and a database is the whole requirement. The model and bank
syncing are optional, and the app is fully usable without either.

What it does

Imports CSV and PDF statements, deduplicating by fingerprint so the same file
can be uploaded repeatedly. Classifies with merchant rules first and a model
second, and files anything it cannot place as Uncategorized rather than
guessing. Corrections teach rules and re-file matching history.

Credit card payments are excluded from spending and reconciled back to the
charges they settled, so a swipe and its payment do not both hit the budget.
Payments to cards the ledger cannot see are counted as debt rather than
silently dropped.

Budgets, recurring detection, spending trends, a cash buffer measured against
your own median month, and comparison against published national averages
adjusted for household size and region.

Business mode adds a profit and loss, quarterly periods, a Schedule C summary
with CSV export, and an estimated tax set-aside that keeps computed
self-employment tax visibly separate from the income tax rate you supply.

Optional Plaid syncing, web push and SMS alerts, an MCP server, verified
pg_dump backups, and full data export as CSV or JSON.

Notes

latest moves with main. Pin to 0.1.0 or a sha- tag for anything you
depend on. The image does not run migrations on start.

The major version stays at 0 until the schema settles.