A local invoice manager built with React + Node.js. Data is stored in data/db.json.
- Node.js v16 or higher (LTS recommended)
macOS / Linux:
chmod +x start.sh
./start.shWindows:
start.batOr manually:
npm install
cd client && npm install && cd ..
npm run devThe app opens at http://localhost:3000
invoice-app/
├── data/
│ └── db.json ← All your data lives here (invoices, categories, settings)
├── server/
│ └── index.js ← Express API (port 3001)
├── client/
│ └── src/
│ ├── pages/ ← Dashboard, Invoices, Admin, Settings
│ └── App.js
├── start.sh ← macOS/Linux launcher
├── start.bat ← Windows launcher
└── package.json
- Dashboard — Overview of total, paid, and outstanding amounts
- Invoices — Create, edit, filter, and manage invoices with line items
- Categories — Admin page to manage service categories
- Print / PDF — Use the Print button on any invoice to save as PDF
- Settings — Set your company info, VAT number, invoice prefix, payment terms
All data is saved in data/db.json. Back this file up to preserve your invoices.