Invoice Manager
Internal business app for managing clients, products, and generating PDF invoices.
Objective
The Goal
Build a private internal web app for managing clients and products, and generating professional PDF invoices/bills directly from a browser - replacing manual invoice creation.
Challenge
The Problem
Keeping client, product, and billing data consistent and relational while generating accurate, well-formatted PDF invoices on demand, all without a dedicated backend server to maintain.
Solution
How We Solved It
React + Tailwind CSS frontend backed by Supabase (PostgreSQL) for data storage, auth, and relational queries between clients, products, and invoices. Client-side PDF generation produces downloadable, print-ready bills straight from invoice records.
What We Built
Key Features
Client Management
Add, edit, and search client records used across all invoices.
Product Catalogue
Manage a product/service list with pricing, reused when building invoices.
PDF Bill Generation
Generate and download professional, print-ready PDF invoices from saved invoice data.
Relational Data Model
Clients, products, and invoices linked through PostgreSQL relations via Supabase.
Authentication
Supabase Auth restricts access to authorised internal users only.
Outcome
Results
Lessons Learned
Supabase's relational Postgres layer made client-product-invoice relationships straightforward to model without standing up a custom backend - it let us focus effort on the PDF generation and invoice UX instead of infrastructure.
Built With