7.4 KiB
title: InvoicePlane created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, accounting, invoice, facturation, php, codeigniter, devis, clients] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/InvoicePlane/InvoicePlane, https://invoiceplane.com/]
InvoicePlane 🧾
Application de facturation PHP minimaliste et mature — gestion clients, devis, factures et paiements pour freelances et TPE. Plus de 10 ans d'existence, stack simple.
| Métadonnée | Valeur |
|---|---|
| Site web | https://invoiceplane.com/ |
| GitHub | https://github.com/InvoicePlane/InvoicePlane |
| License | MIT |
| Langage principal | PHP (CodeIgniter 3) |
| Étoiles GitHub | ⭐863 |
| Dernière MAJ | 2026-04-12 |
| Catégorie | cat-accounting |
Description
InvoicePlane est une application web de facturation open source écrite en PHP sur le framework CodeIgniter 3, avec MySQL/MariaDB en backend. C'est l'un des plus anciens projets de facturation auto-hébergeables, démarré en 2014 comme fork communautaire de FusionInvoice (devenu ensuite propriétaire). Son credo : rester simple, léger et fonctionnel, sans chercher à devenir un ERP complet.
L'application couvre le strict nécessaire d'une activité de freelance ou de petite entreprise : gestion des clients et contacts, devis (convertibles en facture en un clic), factures avec numérotation personnalisable, avoirs, paiements partiels, rappels automatiques par email, notes de frais, modèles PDF personnalisables (via le moteur dompdf), multi-devises et multi-langues (français inclus, allemand par défaut à l'install).
La force d'InvoicePlane est sa simplicité de déploiement : PHP 7.4+, MySQL, Apache/Nginx, et c'est tout. Pas de Node.js, pas de Redis obligatoire, pas de worker. L'interface est sobre et fonctionnelle, sans fioritures mais claire. Pour un usage « j'envoie 5 à 20 factures par mois et je veux que ça marche sans DevOps », c'est un excellent choix. Pour des besoins avancés (paiements en ligne intégrés, abonnements, marketplace de modules), on basculera vers app-invoice-ninja ou app-akaunting.
Installation
Via Docker (recommandé)
# docker-compose.yml
services:
app:
image: ghcr.io/invoiceplane/invoiceplane:latest
container_name: invoiceplane
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "8080:80"
environment:
- APP_URL=https://facture.example.com
- DB_HOST=db
- DB_NAME=invoiceplane
- DB_USER=invoiceplane
- DB_PASS=ChangeMoiDbPass
- DB_PREFIX=ip_
- APP_TIMEZONE=Europe/Paris
volumes:
- ip-data:/var/www/html/application/config
- ip-uploads:/var/www/html/uploads
- ip-tmp:/var/www/html/tmp
db:
image: mariadb:10.11
container_name: invoiceplane-db
restart: unless-stopped
environment:
- MARIADB_DATABASE=invoiceplane
- MARIADB_USER=invoiceplane
- MARIADB_PASSWORD=ChangeMoiDbPass
- MARIADB_RANDOM_ROOT_PASSWORD=ChangeMoiRoot
volumes:
- ip-db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
volumes:
ip-data:
ip-uploads:
ip-tmp:
ip-db:
Installation manuelle (LAMP)
- Pré-requis : PHP 7.4+ (8.0/8.1 supporté), extensions
gd,mbstring,mysqli,xml,zip,curl,intl,opcache; MariaDB 10.3+ ; Apache (mod_rewrite) ou Nginx. - Télécharger l'archive :
wget https://www.invoiceplane.com/downloadou cloner le repo. - Extraire dans
/var/www/html/invoiceplane, donner la propriété àwww-data. - Renommer
application/config/config.php.example→config.php(etdatabase.php.example→database.php), éditer les identifiants BDD. - Créer la base MariaDB et importer
sql/001_install.sql(optionnel : le script d'install web le fait). - Ouvrir
https://facture.example.com/index.php/setupet suivre l'assistant (création admin, options de base). - Configurer un cron quotidien pour les rappels automatiques :
0 9 * * * php /var/www/html/invoiceplane/index.php invoices/cron/send_reminders.
Configuration
- Premier lancement : l'assistant
setupcrée la base, l'admin, la devise par défaut et la langue. - Paramètres généraux : nom de la société, SIRET/TVA intracommunautaire, adresse, logo (PNG), devise principale et secondaires avec taux de change.
- Numérotation : préfixe + compteur, configurable par type de document (facture, devis, avoir). Indispensable pour la conformité française (numérotation séquentielle, pas de trou).
- Modèles PDF : 3 templates fournis (Default, Blue, Canvas) — personnalisables en HTML/CSS. Les mentions légales obligatoires (article L441-3 du Code de commerce : conditions de paiement, taux de pénalité, indemnité forfaitaire de 40 €) doivent y figurer.
- Devis → Facture : conversion en un clic, copie des lignes, recalcul TVA.
- Email : configurer SMTP dans
application/config/email.php(Gmail, OVH, Mailgun, etc.). - Personnalisation : thèmes CSS surchargeables via
assets/core/css/custom.css.
Alternatives
Open source
- app-invoice-ninja — facturation plus moderne (Laravel), paiements en ligne intégrés, API riche.
- app-akaunting — comptabilité + facturation, plus complet mais plus lourd.
- app-crater — alternative Node.js/React plus moderne, jeune mais prometteur.
- app-odoo — ERP complet avec module facturation, surdimensionné pour un freelance.
- BILLmanager — facturation par l'éditeur ISPsystem, plus orienté hébergeurs.
Propriétaires
- FreshBooks — référence freelance, interface élégante, données hébergées.
- QuickBooks — comptable, plus franco-incompatible.
- Pennylane — pépite française, plus axé compta/sync bancaire.
- Henrri / Evoliz — outils français, freemium, ciblés TPE.
Sécurité
- HTTPS obligatoire : expose factures PDF et données clients — à chiffrer en transit.
- Renommer ou supprimer
index.php/setupaprès installation — c'est le point d'entrée d'install, source de compromission classique. - Permissions fichiers :
application/config/*.php(etdatabase.php) en640ou600, utilisateurwww-data. - Sauvegardes :
mysqldumpquotidien +tardeuploads/(PDF générés, logos). - Mises à jour : suivre les releases GitHub, le projet reste actif mais sur des bases anciennes (CI 3) — ne pas tarder à migrer vers des alternatives si on a besoin de fonctionnalités modernes.
- Cron sécurisé : le script de rappel est exposé via un endpoint web — limiter l'accès par IP ou token.
Ressources
- Site officiel : https://invoiceplane.com/
- Documentation : https://docs.invoiceplane.com/
- Dépôt GitHub : https://github.com/InvoicePlane/InvoicePlane
- Wiki communauté : https://wiki.invoiceplane.com/
- Forum : https://community.invoiceplane.com/
- selfh.st : https://selfh.st/apps/?tag=Accounting
Pages Liées
- cat-accounting (catégorie parente)
- app-invoice-ninja — facturation Laravel moderne
- app-akaunting — comptabilité + facturation
- app-crater — alternative React/Node
- recettes-docker-compose — templates de déploiement
- securisation-home-lab — bonnes pratiques