4.3 KiB
title: Invoice Builder created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, accounting, facturation, pdf, nodejs, express] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/salmandabbir/invoice-builder]
Invoice Builder 🧮
Générateur de factures PDF minimaliste en Node.js / Express — saisissez vos lignes, exportez un PDF propre, sans base de données à gérer.
| Métadonnée | Valeur |
|---|---|
| Site web | https://github.com/salmandabbir/invoice-builder |
| GitHub | https://github.com/salmandabbir/invoice-builder |
| License | MIT |
| Langage | Node.js (Express) + PDFKit/Handlebars |
| Étoiles | ⭐50 |
| Dernière MAJ | 2024-04 |
| Catégorie | cat-accounting |
Description
Invoice Builder est une application web légère et sans état écrite en Node.js (Express), dont l'unique vocation est de générer des factures PDF professionnelles à partir d'un formulaire web. Le projet s'adresse aux indépendants et très petites structures qui ont besoin d'un outil rapide, sans base de données, sans comptes utilisateurs à gérer, et qu'on peut démarrer en deux minutes.
Le fonctionnement est délibérément simple : on remplit un formulaire (émetteur, client, lignes de prestation avec quantité/prix/TVA, conditions de paiement), un moteur de rendu (Handlebars + PDFKit ou Puppeteer) compose un PDF A4 propre, prêt à être envoyé par email. Plusieurs modèles de facture sont fournis (moderne, classique, minimaliste), ainsi qu'un calcul automatique de TVA (HT, TVA, TTC) et de totaux par devise.
L'intérêt de Invoice Builder face à des solutions plus lourdes comme app-invoice-ninja ou app-rachoon est sa simplicité d'auto-hébergement : pas de PostgreSQL à sauvegarder, pas de migrations à appliquer, un seul processus Node à redémarrer. Idéal pour un usage personnel, ponctuel ou éducatif, ou comme base à fork pour un projet sur-mesure. Inadapté en revanche dès qu'on a besoin de suivi des paiements, relances, ou multi-utilisateurs.
Installation
Via Docker (placeholder à adapter)
# docker-compose.yml
services:
invoice-builder:
image: ghcr.io/salmandabbir/invoice-builder:latest
container_name: invoice-builder
restart: unless-stopped
ports:
- "5085:3000"
environment:
PORT: 3000
APP_NAME: "Mon Auto-Entreprise"
volumes:
- ./templates:/app/templates
Manuelle (Node ≥ 18)
git clone https://github.com/salmandabbir/invoice-builder.git
cd invoice-builder
npm install
node app.js
# → http://localhost:3000
Configuration
L'application se configure via un fichier config.json ou des variables d'environnement : APP_NAME (nom de l'entreprise émettrice), DEFAULT_CURRENCY (EUR, USD…), DEFAULT_TAX_RATE (par ex. 20), TEMPLATE (modèle de PDF parmi modern/classic/minimal). Les modèles Handlebars (templates/*.hbs) sont modifiables pour ajouter un logo, des mentions légales ou un pied de page personnalisé.
Alternatives
- Open Source : app-rachoon (Svelte, plus complet), app-invoice-ninja (Laravel, full-featured), app-invoiceplane (PHP), app-crater (Node/React, plus complet)
- Propriétaire : Invoice Generator (invoice-generator.com), Zoho Invoice, Wave Invoicing, PayPal Invoicing
Sécurité
- Aucune donnée persistante n'est stockée par défaut, ce qui limite la surface d'attaque mais oblige à conserver ses propres PDF
- Mettre le service derrière HTTPS (Caddy / Traefik) — voir recettes-docker-compose
- Si déployé publiquement, ajouter une authentification basique (Basic Auth via reverse-proxy) pour éviter les abus
- Maintenir Node.js et les dépendances à jour (
npm audit+ Dependabot/Renovate) - Ne jamais committer le
config.jsonavec de vraies coordonnées bancaires
Ressources
- Code source : https://github.com/salmandabbir/invoice-builder
- PDFKit (moteur PDF Node) : https://pdfkit.org
- Handlebars (templating) : https://handlebarsjs.com