spark-it solutionsspark-it
Invoice Manager
Web

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

Internal toolType
Clients · Products · InvoicesCore Modules
PDF bills, print-readyOutput

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

Tech Stack

frontend
ReactTailwind CSSTypeScript
backend
SupabasePostgreSQLSupabase Auth
infrastructure
Supabase Cloud