Open-source accounting & finance for contractors and small businesses.
Built for South Africa — invoicing, expenses, VAT, ledger, and bank statement imports.
Early development (alpha). Features and data models are still changing. Not financial or tax advice — evaluate carefully before production use. See SECURITY.md.
- Invoicing & estimates — clients, PDFs, payments, online pay links
- Expenses & suppliers — receipts, categories, VAT on purchases
- Accounting — chart of accounts, journal, general ledger, account statements
- Banking — import CSV/OFX statements, duplicate detection, transaction list
- Tax — VAT returns and rates (configure during setup wizard)
- Teams — multi-user companies via Jetstream
- Self-hosted — Docker Compose stack with Postgres, Redis, and MinIO included
The fastest way to try nrth with the full stack:
curl -fsSL https://raw.githubusercontent.com/mortolian/nrth/master/scripts/install.sh | sudo bash -s -- --accept-data-riskOr from a clone: ./scripts/install.sh
Open https://localhost (with production Caddy) or set APP_ALLOW_HTTP=true for local HTTP on port 8000 — see docs/SELF_HOST.md.
Production checklist and HTTPS: docs/SELF_HOST.md · Flags and options: docs/INSTALL.md
For hacking on the codebase after cloning from git (not an end-user install path):
cp .env.example .env
composer install && php artisan key:generate && php artisan migrate
npm install && npm run dev
php artisan serve # second terminalDetails, Docker dev workflow, architecture, and tests: docs/DEVELOPMENT.md
| Guide | Description |
|---|---|
| docs/INSTALL.md | Installation hub |
| docs/SELF_HOST.md | Self-host with Docker |
| docs/DEVELOPMENT.md | Local development |
| docs/PERSONAL_SERVER.md | Maintainer-only personal dev server |
| docs/ROADMAP.md | Alpha scope, plans, and out-of-scope items |
| docs/RELEASE.md | Automated releases and changelog |
| CHANGELOG.md | Release notes |
Contributions are welcome — issues, docs, and pull requests.
- Contributing guide
- Code of conduct
- Security policy — report vulnerabilities privately
Please search existing issues before opening a new one.
Laravel 13 · Jetstream (Inertia + Teams) · Vue 3 · Tailwind CSS v4 · PostgreSQL · Redis · Octane (Swoole) · Horizon
Domain logic lives under app/Domain/. See docs/DEVELOPMENT.md for more.
MIT — Copyright (c) nrth contributors.