All projects

2025 — present · Web

Essentio

An EU-compliant invoicing SaaS: invoices, pro formas, credit notes, client ledgers and multi-tenant e-mail.

Client project

  • PHP
  • Laravel
  • Vue
  • Inertia
  • PostgreSQL
  • Redis
  • Docker

Problem

Invoicing looks simple until the arithmetic has to satisfy the European e-invoicing standard, numbering must never skip, and a sent invoice must never change.

Architecture

  • Laravel 12 with Inertia and Vue; PostgreSQL and a Redis-backed queue.
  • Money in ISO minor units with half-away-from-zero rounding and VAT grouped by category, following EN 16931; amounts frozen once an invoice is sent.
  • Deep modules with narrow interfaces — invoice arithmetic, numbering, lifecycle, pro forma conversion, client ledger, tenant mail — each covered by tests at its seam, with decisions recorded as ADRs.
  • Caddy (TLS, HTTP/3) in front of PHP-FPM and a queue worker, deployed with Docker to a Hetzner server.
  • Production observability built in, EU-hosted and privacy-first: Sentry for server and browser errors with personal data scrubbed and replays masked, cookieless PostHog analytics, Healthchecks.io heartbeats for the queue, scheduler and backups, and in-app feedback filed straight into GitHub issues.
  • GDPR by design: members can download their data, a business can export its whole archive, and deleted data is erased after thirty days.

Result

  • Deployed for the client; built test-first with a local CI gate that includes visual regression.