app
EasyLedger
Local-first invoices, quotes, payslips, VAT — data stays on the device.
Open
Live: https://skitz-games.pages.dev/apps/easyledger/play/
App root: /apps/easyledger/web/ (Next basePath).
No account. Data is IndexedDB on this browser. Install as PWA on Chrome / Add to Home Screen on iOS Safari.
Goal (smoke)
Issue one branded invoice with a line item, VAT, and a PDF — without leaving data on a server.
First two minutes
- If the app asks for a business name, open Settings (
/apps/easyledger/web/settings) and fill name + currency (defaults ZAR, 15% VAT). Save. - Home Invoices → New.
- Add a client (or type one), add a line (qty × rate), confirm VAT on the preview.
- Use Design / templates if you only need a visual check (
/apps/easyledger/web/templates). - Issue the draft, then PDF / download. Optional: Quotes → convert to invoice; Payslips; VAT and Calculator tools.
Main routes
| Screen | Path (after /apps/easyledger/web) |
|---|---|
| Invoices | / |
| Quotes | /quotes |
| New invoice / quote | /invoice?… / /quote?… |
| Clients | /clients |
| Catalog items | /items |
| Payslips | /payslips |
| VAT tool | /vat |
| Calculator | /calculator |
| Templates | /templates |
| Settings | /settings |
Done when
A draft exists, preview shows totals, and PDF download works (or print dialog). Refreshing the tab still shows the invoice.
Tester notes
- Formerly Ledgerly / Issueledger — catalog name is EasyLedger.
- Clearing site data wipes the books. Use in-app backup if you find it in Settings.
- Do not treat this as a multi-user cloud SaaS.

