A self-hostable, open-source personal finance app: one correct double-entry ledger underneath, with budgeting, investments and planning built on top.
Status: pre-alpha. This repository currently contains the project skeleton only (milestone M0). There is no financial logic yet — see Roadmap.
Nusa is a codename. The product name is not final.
Most personal finance tools pick two of these four. Nusa aims for all four:
- Correct double-entry accounting
- Envelope budgeting ordinary people can actually use
- First-class multi-currency and multi-asset support
- Usable in any country, without bank APIs
Nusa never asks for bank or broker credentials, never executes trades or payments, and never gives financial advice. It is a record-keeping and planning tool.
Requires Docker.
cp .env.example .env && docker compose upThen open http://localhost:5173 for the web app, or check the API directly:
curl http://localhost:8080/healthzRequires Go 1.22+, Node 20+ and Docker.
make devOther targets: make test, make lint, make generate, make migrate-up,
make migrate-down. Run make help for the full list.
| Path | Contents |
|---|---|
cmd/nusa/ |
Server entrypoint |
internal/ledger/ |
The domain core: money, accounts, transactions, lots |
internal/ |
Budgeting, scheduling, rules, investments, plugins, API, storage |
db/ |
Migrations and sqlc queries |
web/ |
React frontend |
docs/ |
Documentation site |
M0 bootstrap · M1 ledger core · M2 persistence and API · M3 design system · M4 core flows · M5 envelopes and rules · M6 multi-currency and reports · M7 investments · M8 country packs · M9 household · M10 scenarios · M11 AI layer · M12 release readiness.
AGPL-3.0-only, except internal/ledger/ and the Country Pack specification,
which are MIT so that the accounting core can be reused freely.
LICENSING.md explains the split and why it is drawn there. Full texts: LICENSE (AGPL-3.0-only) and internal/ledger/LICENSE (MIT). Every source file carries an SPDX identifier, which is authoritative for that file.
See CONTRIBUTING.md. Security issues: SECURITY.md.