Skip to content
All projects

Invoice Maker

An invoicing tool for freelancers: clients, templates, twenty currencies, discounts and tax. What you see on screen is exactly the PDF that comes out of the printer.

Web
Completed
2026
1 Semaine
  • FastAPI
  • Next.js
  • PostgreSQL
  • Tailwind CSS
  • TypeScript
  • Alembic
  • SQLAlchemy
  • Argon2
Invoice Maker

I used to invoice my work from a Word template I duplicated every time, copying the number by hand. Invoice Maker does the same job without the mistakes: fill in your business profile and your clients once, and every new invoice picks up the right number.

What it does

An account, an issuer profile with a logo, saved clients, reusable templates. On an invoice: free-form line items, twenty currencies, a discount as an amount or a percentage, tax inclusive or exclusive, an amount already paid, footer notes. The total recalculates on every keystroke, next to the document itself.

The PDF

No PDF generation library. The invoice is HTML, and the export goes through the browser's own print pipeline with a dedicated stylesheet. What you see on screen is exactly what comes out as a PDF, with no second rendering engine to maintain, and the frontend ships nothing beyond React and its query client.

On the server, FastAPI and PostgreSQL, with the authentication I wanted: passwords hashed with Argon2, a short-lived access token kept in memory, a refresh token in an httpOnly cookie that rotates on every use and revokes its whole lineage if it is replayed. One account's data is never readable from another.

Gallery

  • Home page