---
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)

```yaml
# 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)

```bash
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.json` avec 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

## Pages Liées

- [[cat-accounting]]
- [[recettes-docker-compose]]
- [[app-rachoon]]
- [[app-invoice-ninja]]
- [[app-crater]]
