Invoice Manager
Invoicing platform for Indonesian freelancers: immutable issued documents, audit-tracked adjustments, branded PDFs, installable PWA.
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- React PDF
- PWA

Overview
Invoicing platform for Indonesian freelancers: immutable issued documents, audit-tracked adjustments, branded PDFs, installable PWA.
Problem
Freelancers in Indonesia bill through fragile channels: manual totals prone to errors, duplicate-prone invoice numbers, and chat-based invoicing with no official document. That leaves billing untrustworthy and payment trails lost.
Solution
One flow: invoices are published as locked documents (trustworthy numbers), presented professionally (letterhead, logo, signature), and tracked through a clear lifecycle: draft, issued, overdue, paid. Overdue reminders plus an audited adjustment and payment history.
Technology
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- React PDF
- PWA
Implementation
Immutability is enforced at the database level: Postgres triggers and RPCs block any mutation of issued invoices regardless of access path. Corrections go through locked adjustment documents, keeping an audit trail for every balance change. Custom branded PDFs via @react-pdf/renderer, Supabase auth with 11 SQL migrations, dark-first neumorphic UI, installable PWA. Decisions recorded as four ADRs.
Result
Issued invoices are guaranteed immutable no matter how the data is accessed, every balance change leaves a documented audit trail, and clients receive custom-branded PDF invoices from an installable PWA. Lighthouse production scores of 99 / 100 / 100 / 100.