Skip to content

Latest commit

 

History

310 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nrth

nrth

Open-source accounting & finance for contractors and small businesses.
Built for South Africa — invoicing, expenses, VAT, ledger, and bank statement imports.

Tests License Beta

Beta. Core invoicing, expenses, VAT, ledger, and bank reconciliation are usable for self-hosted books. Not financial or tax advice, not a 1.0 stability guarantee — evaluate carefully before production use. See SECURITY.md.


Features

  • Invoicing & estimates — clients, items catalog, recurring invoices, discounts, note templates, PDFs, payments, payment receipts, online pay links
  • Expenses & suppliers — receipts, AI document fill, categories, VAT on purchases
  • Travel — vehicles and a business/private trip log book (CSV export; smart AI import for fleet/GPS exports when AI is enabled); licence disc expiry with email reminder about one month before
  • Accounting — chart of accounts, journal, general ledger, account statements
  • Banking — import CSV/OFX statements, duplicate detection, match or exclude imported lines (including mixed personal/business accounts)
  • 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; sidebar shows the installed version and when a newer GitHub Release is available

Screenshots

Demo workspace — invoice, bank reconciliation, and profit & loss.

Invoice

Bank reconciliation

Profit and loss

Quick start (Docker)

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-risk

Or 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

Development setup

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 terminal

Details, Docker dev workflow, and tests: docs/DEVELOPMENT.md · How the app is structured: docs/ARCHITECTURE.md

Documentation

Guide Description
docs/INSTALL.md Installation hub
docs/UPGRADE.md Tag-to-tag upgrades, backups, rollback
docs/SELF_HOST.md HTTPS, multi-tenant hardening, instance backup & restore
docs/DEVELOPMENT.md Local development
docs/ARCHITECTURE.md Domains, actions, team scoping
docs/PERSONAL_SERVER.md Maintainer-only personal dev server
docs/ROADMAP.md Beta scope, plans, and out-of-scope items
docs/RELEASE.md Automated releases and changelog
CHANGELOG.md Release notes

Contributing

Contributions are welcome — issues, docs, and pull requests.

Please search existing issues before opening a new one.

Tech stack

Laravel 13 · Jetstream (Inertia + Teams) · Vue 3 · Tailwind CSS v4 · PostgreSQL · Redis · Octane (Swoole) · Horizon

Domain logic lives under app/Domain/. See docs/ARCHITECTURE.md.

License

MIT — Copyright (c) nrth contributors.

About

Open-source accounting & finance for contractors and small businesses. Built for South Africa — invoicing, expenses, VAT, ledger, and bank statement imports.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages