Invoice Builder is an offline-first, open-source invoicing and quoting application for freelancers and small businesses. No accounts, no cloud, no subscriptions - your data stays on your machine in a database file you own, with an optional self-hosted web/Docker mode for multi-device access.
⚠️ One-time upgrade notice for version 3.0.2 Before upgrading, back up each existing database and make sure it completed migrations through version 2.10.0. Version 3.0.2 initializes new databases from a consolidated schema and does not include the historical migration chain, so databases with incomplete migrations are not upgraded. This applies to Electron, manual, and web/Docker upgrades.
- Create and manage Invoices and Quotes with live PDF preview, A4/Letter formats, and a drag-and-drop Visual Layout Builder
- Manage Businesses, Clients, Banks, Items, Categories, Units, and Currencies, each with XLSX import/export
- Flexible financials: surcharges, discounts, shipping, inclusive/exclusive tax, partial payments, and document states
- Export invoices as UBL 2.1 / Peppol BIS Billing 3.0 or XRechnung XML for compliant e-invoicing
- Native receipt printing (desktop) and browser print-to-PDF receipts (web/Docker)
- Full database backup/restore, JSON export/import, and per-document data snapshots for historical accuracy
- Runs as a desktop app (Windows, Linux, macOS) backed by SQLite, or self-hosted via Docker with SQLite or PostgreSQL
Try the demo: Open Invoice Builder in your browser without installing anything.
This public Docker demo runs on Render's free plan and may take a moment to wake up. Use fictional data only: databases may be accessible to other visitors and can disappear without notice. Do not upload real invoices, personal information, or database credentials. This demo is separate from desktop and self-hosted installations, which store data on your own device or configured server.
Desktop: download the latest build for your platform from Releases.
Docker:
Install Git and Docker with the Compose plugin, then clone the repository to obtain the Compose file:
git clone https://github.com/piratuks/invoice-builder.git
cd invoice-builder
docker compose pull
docker compose up -dThen open http://localhost:3001 in your browser and create or connect a database. See Quick Start and Self-Hosting (Docker) for details.
Full documentation is published at piratuks.github.io/invoice-builder:
- Installation: requirements, desktop install, Docker self-hosting, quick start
- Guides: screen-by-screen walkthrough, from database creation to layouts and e-invoices
- Development: running locally, project structure, core stack, database schema
Bugs and feature requests go in Issues. Questions and general discussion go in Discussions.
Invoice Builder is an Electron + React app with an optional Node.js webserver, using SQLite or PostgreSQL for storage. See Running Locally to set up a dev environment, and CONTRIBUTING.md before opening a PR.
Invoice Builder is licensed under the MIT License.
Invoice Builder is maintained by a single developer. If it saves you time, you can support its development through GitHub Sponsors or Buy Me a Coffee.


