Initial vault setup
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user