piratuks/invoice-builder
TypeScript开源替代 FreshBooks、QuickBooks
Invoice and quotation builder desktop app with PDF export, designed for small businesses and freelancers. Create, manage, and export invoices and quotes easily using a local database in an Electron-based app.
↓ 下载
全部发行版 →Invoice Builder
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.

What it does
- 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
Quick start
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 -d
Then open http://localhost:3001 in your browser and create or connect a database. See Quick Start and Self-Hosting (Docker) for details.
Documentation
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
Questions and ideas
Bugs and feature requests go in Issues. Questions and general discussion go in Discussions.
Development
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.
License
Invoice Builder is licensed under the MIT License.
Support
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.