Free · source-available · self-hosted

Invoicing you
own outright.

A shared ledger behind your own login, a live preview that isthe printed document, and an A4 PDF at the end of it. No seats, no subscription, no data on someone else's server.

£0 foreverSource-availableYour PostgresNext.js 16 · React 19
github.com/dev-geddy/react-invoice
Why people run it themselves

Five reasons this beats another invoicing subscription

Everything below ships today, in the repo you clone. Nothing is gated, metered or waiting behind a plan upgrade.

  • Free, and it stays free

    Source-available, no seats, no per-invoice fee, no plan that suddenly needs upgrading when a second person joins.

  • Your server, your database

    Postgres you run, on a droplet you control. Invoices and customer records never leave infrastructure you can point at.

  • One shared ledger

    Every signed-in teammate reads the same book, each invoice recording who raised it. Owner, admin and teammate roles exist before your first feature does.

  • Print-ready by default

    Hyphenated series numbering, VAT only when the provider is registered, and a server-rendered A4 PDF named after the invoice.

  • Ready to be extended

    It is a real Next.js 16 codebase with docs a coding agent reads before it changes anything. Describe the next feature, review the pull request, deploy.

Paper, not a screenshot of paper

The preview is the document

Edit on the left, the invoice redraws on the right. Print it from the browser or download a server-rendered A4 PDF — same layout either way, named after the invoice it came from.

Live preview line items whose qty, rate and total recompute each other as you type.

Series numbering each series owns its prefix, currency and branding; issued invoices snapshot all three.

Customers an address book that prefills the form, with one-click adoption for companies you invoiced but never saved.

Tax-year totals per-series totals and a cumulative sales chart above the ledger.

2026_08_21 - RIE-0010 - GBP1031.25 VAT incl. - Northgate Systems Ltd.pdf
Backflip baseline

Invoicing is the first feature, not the whole product

Underneath the ledger sits Backflip: auth, roles, an admin console, Postgres + Drizzle, a shadcn UI system, AI and email wiring, deploy scripts. Keep the invoicing, or strip it out and build something else on the same baseline — it was designed to be extended.

Auth, built in

Google OAuth and email + password, sessions and guards already configured.

Admin console

Users, records, integrations and settings — a working surface from the first deploy.

Postgres + Drizzle

Typed schema, migrations and a query layer — a real database from commit one.

shadcn UI system

Base UI components, theme tokens and dark mode, consistent across every surface.

Keys, not rewrites

Paste a key in the admin to switch on AI, email or speech. Stored encrypted, swappable in a minute.

Deploys included

DigitalOcean droplet scripts for PM2 or Docker, plus GitHub Actions and Drone pipelines.

How it works

From clone to first invoice in three steps

01

Clone

Pull the foundation and install. Auth, DB and UI come with it.

View on GitHub
02

Configure

Generate your secrets, run the migrations, seed the owner account.

Getting started
03

Invoice

Add a series, raise the first invoice, download the PDF. Then keep building.

Start building

Free to run. Yours to extend.

Clone it, point it at your own droplet and database, and send the first invoice this afternoon. Everything after that is a feature you decide on.