Version 2025 – Dolibarr 18.0 et supérieures
1. Introduction
Dans le contexte de la transformation digitale, la facturation électronique s’impose comme un standard pour les entreprises soucieuses de réduire leurs coûts, d’améliorer la traçabilité et de se conformer aux exigences légales (SEPA, UBL, norme ISO 20022, etc.). Dolibarr, ERP / CRM open‑source très répandu chez les PME et les associations, propose depuis plusieurs versions une API RESTful riche qui facilite l’intégration de solutions de facturation électronique.
Cet article vise à :
- Présenter les principales fonctionnalités d’électronisation de la facturation via l’API Dolibarr.
- Comparer ces fonctionnalités avec celles d’autres solutions du marché (SAP, Sage, Odoo, Zoho Invoice).
- Proposer un cadre de pilotage (KPIs, gouvernance, étapes de mise en œuvre) pour exploiter pleinement l’API afin de « mieux piloter » votre facturation.
2. Dolibarr : rappel rapide des forces et limites
| Point | Description |
|---|---|
| Architecture | Open‑source, PHP + MySQL/MariaDB, installation simple (Docker, XAMPP, serveur dédié). |
| Fonctionnalités de base | Gestion des contacts, articles, devis, factures, stocks, tickets, points de vente. |
| Modularité | Plus de 80 modules (facturation, comptabilité, gestion des notes de frais, multidomaines, etc.). |
| Communauté | Plus de 300 000 téléchargements annuels, forums actifs, extensions contributions GitHub. |
| Limites | Pas de nuage « first‑line » (cloud‑first) ; la customisation nécessite des compétences PHP/JavaScript. |
Ces points sont cruciaux lorsqu’on envisage d’utiliser l’API pour la facturation électronique : la modularité permet d’ajouter des flux spécifiques, mais il faut anticiper les besoins de développement.
3. L’API REST de Dolibarr : ce qu’elle offre pour la facturation électronique
3.1. Architecture générale
| Élément | Détails |
|---|---|
| Base URL | https://votre‑domaine.com/dolibarr/api/ (PATH = /api/ par défaut). |
| Authentification | Clé API (apikey) ou session PHP ($user->login()). Support OAuth2 (v2024). |
| Format de données | JSON uniquement (request & response). |
| Versioning | /v1/, /v2/ – chaque version ajoute des champs optionnels ou de nouvelles ressources. |
| Limites | 60 req/min par clé (configurable), pagination (limit/offset). |
| Documentation | Swagger/OpenAPI intégré (/api/swagger), accessible via https://votre‑domaine.com/dolibarr/api/doc. |
Astuce : la version
v2(LTS 2025) introduit le support natif des UBL‑XML via un endpoint dédié (/v2/invoice/ubl).
3.2. Ressources clés liées à la facturation
| Ressource | URL-type | Principales actions | Exemple de payload |
|---|---|---|---|
| Customer | /v2/customers/{id} |
GET, PUT, POST | { "name":"Acme Corp.", "country":"FR" } |
| Product | /v2/products/{id} |
GET, POST | { "label":"Clavier mechanical", "price":45.90, "tax_id":2 } |
| Invoice | /v2/invoices/{id} |
GET, POST, PUT, DELETE | { "invoice_number":"INV-2025-001", "date":"2025-10-31", "currency":"EUR" } |
| InvoiceLine | /v2/invoices/{id}/lines |
POST (création ligne) | { "product_id":3, "quantity":2, "unit_price":45.90 } |
| InvoiceUBL | /v2/invoices/{id}/ubl |
POST (génération UBL) | { "issuer_id":"123456789", "signature":"…"} |
3.3. Étapes clés pour créer une facture électronique
-
Création du client (ou récupération d’un client existant)
POST /v2/customers
{
"name":"Acme Corp.",
"country":"FR",
"email":"contact@acme.fr"
} -
Création du produit (ou utilisation d’un produit déjà existant)
POST /v2/products
{
"label":"Clavier mechanical",
"price":45.90,
"tax_id":2,
"type":"service"
} -
Création de la facture
POST /v2/invoices
{
"customer_id":12,
"date":"2025-11-02",
"currency":"EUR",
"lines":[
{"product_id":45, "quantity":1, "unit_price":45.90},
{"product_id":67, "quantity":2, "unit_price":12.50}
],
"invoice_type":"sale"
} -
Génération du fichier UBL (ou PDF conforme)
POST /v2/invoices/42/ubl
{
"output":"xml"
}La réponse contient le fichier XML signé (ou le lien vers le PDF généré).
- Envoi automatisé (via webhook ou appel programmatique à un service de transport)
POST /v2/webhooks
{
"url":"https://mailing.example.com/notify",
"events":["invoice.created"]
}
4. Comparaison avec les principales solutions concurrentes
| Critère | Dolibarr API | SAP Ariba Invoice | Odoo e‑Invoicing | Sage X3 e‑Invoicing | Zoho Invoice (API) |
|---|---|---|---|---|---|
| Déploiement | On‑prem / Docker / Cloud | SaaS/On‑prem | SaaS (et on‑prem) | SaaS/On‑prem | SaaS uniquement |
| Complexité d’intégration | Moyen (PHP + JSON) | Élevée (ABAP, OData) | Moyenne (REST, GraphQL) | Moyenne (REST) | Faible (REST simple) |
| Support natif UBL/UN/CEFACT | UBL‑XML & PDF via module Facture Électronique | Support complet UBL & CII | Support UBL & PDF/A‑3 | Support UBL & PDF | PDF uniquement (pas d’UBL) |
| Gestion des flux multi‑devise | Oui (multi‑currency dans le même invoice) | Oui (mais limité aux modules comptabilité) | Oui | Oui (mais nécessite paramétrage avancé) | Non (devise fixe) |
| Propriété des données | 100 % propriétaire (entreprise uniquement) | Cloud provider possède les données | Propriété partagée (SaaS) | Cloud provider dominant | Propriété détenue par Zoho |
| Extensibilité | Plugins PHP, API ouverte, webhooks | Extensions SAP, mais avec gouvernance stricte | Apps marketplace (Python, Node) | Scripts Python, mais limité | Webhooks limités, pas de SDK officiel |
| Coût de licence | Open‑source (gratuit) + support commercial payant | Licence commerciale très élevée | Licence SaaS (abonnement) | Licence commerciale + module | Abonnement mensuel par utilisateur |
| Scalabilité | Horizontal scaling via Docker/K8s | Très haute (data‑center) | Haute (cloud) | Haute (cloud) | Modérée (limite 50 000 factures/mois) |
| Conformité légale | Conformité France/UE via modules (ex. Facturation électronique). | Conformité globale, certifications ISO | Conformité EU + Canada | Conformité EU, mais besoin d’ajouts | Pas de conformité officielle (pas de UBL) |
4.1. Points forts de Dolibarr dans ce comparatif
| Atout | Pourquoi c’est pertinent pour la facturation électronique |
|---|---|
| Coût d’entrée | Gratuit, idéal pour les PME qui veulent éviter les licences onéreuses. |
| Intégration native de modules comptables & logistiques | Pas besoin de synchroniser plusieurs systèmes – toutes les données (stock, ventes, achats) sont déjà dans la même base. |
| API modulaire & open source | Possibilité d’ajouter des traitements spécifiques (ex. génération de QR‑code, archivage PDF/A‑3). |
| Déploiement souverain | Peut être installé sur un serveur interne ou sur un cloud souverain (AWS GovCloud, Azure France) – indispensable pour les data‑souveraineté française. |
| Webhooks & architecture asynchrone | Facilite l’automatisation du flux de validation, d’envoi et d’archivage sans polluer l’interface utilisateur. |
| Écosystème de partenaires | Un large panel de partenaires francophones propose des connecteurs pré‑packagés (Banque, comptabilité tiers, hébergeurs de factures). |
4.2. Scénarios où Dolibarr est moins adapté
| Situation | Pourquoi choisir une autre solution |
|---|---|
| Gestion de millions de factures/mois | SAP, Odoo ou Sage offrent une architecture plus robuste au niveau de la base de données et du clustering. |
| Exigence d’intégration ERP complexe (B2B multi‑site, multi‑entité légale) | Les ERP spécialisés offrent des modules dédiés (multi‑legal, multi‑tax) qui sont plus matures. |
| Usage exclusif de la facturation directe aux consommateurs (B2C) avec grands volumes de paiement | Des solutions dédiées (Stripe Billing, Square) sont plus orientées paiement et expérience client. |
5. Mettre en place l’API Dolibarr pour piloter la facturation électronique : cadre de pilotage
5.1. Gouvernance & organisation
| Rôle | Responsabilité |
|---|---|
| Chef de projet IT | Définir les exigences fonctionnelles, valider la roadmap API. |
| Architecte technique | Concevoir le schéma de sécurité (API‑Key + OAuth), plan de mise en cache, scaling. |
| Opérateur Facturation | Valider les modèles de facture, vérifier la conformité UBL/PEPPOL. |
| Compliance Officer | S’assurer que chaque flux respecte la législation locale (TVA, CFDI, etc.). |
| Support & Maintenance | Gérer les incidents d’API, mettre à jour les modules. |
5.2. KPI (Key Performance Indicators) à suivre
| KPI | Objectif typique | Méthode de calcul |
|---|---|---|
| Taux de factures électroniques créées / totales | ≥ 90 % des factures émises via l’API | (Factures créées via API ÷ Total factures) * 100 |
| Temps moyen de génération UBL | ≤ 2 s | Moyenne (timestamp_génération - timestamp_création) |
| Erreur d’API (4xx/5xx) | < 0,5 % des appels | (Appels avec error ÷ Total appels) * 100 |
| Taux de rejet par le serveur de facturation externe | < 1 % | (Rejets ÷ Factures émises) * 100 |
| Coût d’infrastructure API | < 0,02 €/facture | Calcul based on serveur/CPU‑hours + trafic réseau |
| Satisfaction des parties prenantes | Score ≥ 4/5 (sur 5) | Enquêtes trimestrielles auprès des équipes compta/logistique. |
5.3. Étapes de mise en œuvre (road‑map 6 mois)
-
Analyse & cadrage (Mois 1)
- Recenser les processus de facturation (AP/AR).
- Identifier les formats légaux (UBL‑XML, PDF/A‑3, QR‑code).
- Définir les endpoints API à exploiter.
-
Prototype technique (Mois 2‑3)
- Installer une instance Docker de Dolibarr v2025.2.
- Créer des scripts Python (bibliothèque
dolibarr-py) pour créer, signer et exporter une facture. - Tester en sandbox avec des jeux de données réalistes.
-
Sécurisation de l’accès (Mois 3‑4)
- Mettre en place une clé API par service (ex. service comptable, service d’envoi).
- Configurer OAuth2 (client‑id/secret) pour les partenaires externes.
- Activer le mode HTTPS‑Only et le rate‑limit dans le reverse‑proxy (NGINX).
-
Développement du pipeline de facturation (Mois 4‑5)
- ETL : extraire les devis validés, les transformer en factures via les endpoints
/invoices. - Génération UBL : appeler
/invoices/{id}/ublet stocker les fichiers dans un bucket S3/MinIO. - Notification : configurer les webhooks vers un service de mailing ou vers un système de transport (ex. SFTP vers le client).
- ETL : extraire les devis validés, les transformer en factures via les endpoints
-
Tests de charge & conformité (Mois 5‑6)
- Simuler 10 000 factures en 1 h avec
k6ouLocust. - Valider la signature XML avec le validation schema UBL.
- Mettre à jour la matrice de conformité légale (TVA intracommunautaire, seuil de franchise).
- Simuler 10 000 factures en 1 h avec
- Mise en production & monitoring (Mois 6+)
- Déployer sur un cluster Kubernetes avec autoscaling.
- Activer des alertes Prometheus/Grafana (latence API, erreurs).
- Réviser les KPI chaque mois et ajuster les seuils.
6. Bonnes pratiques et astuces avancées
| Astuce | Description |
|---|---|
| Cache de réponse | Mettre en cache les réponses GET /customers/{id} pendant 5 minutes (Redis) pour réduire le temps de résolution de la facture. |
| Sérialisation UBL normalisée | Utiliser les classes PHP internes de Dolibarr (class UBLGenerator) pour garantir que le schéma XML respecte toujours la version du standard. |
| Gestion des retours | Implémenter un endpoint POST /v2/invoices/{id}/return qui crée automatiquement une note de crédit (XML dédié). |
| Versionning de schéma UBL | Stocker la version UBL utilisée (UBLVersion: 2.1) dans les métadonnées de la facture afin de simplifier les audits rétroactifs. |
| Archivage immuable | Script de verrouillage (chmod 0444) et via Object Lock sur S3 pour garantir la non‑altération après archivage. |
| Mise à jour progressive | Passer à la version v2 de l’API en mode blue‑green : les deux versions fonctionnent en parallèle, le trafic est progressivement routé vers la nouvelle version. |
| Documentation versionnée | Conserver un fichier API_CHANGELOG.md dans le repo Git du projet pour tracer chaque évolution d’endpoint. |
7. Conclusion
L’API REST de Dolibarr représente une passerelle puissante pour automatiser la facturation électronique tout en bénéficiant d’un coût d’entrée très attractif et d’une totale souveraineté des données. Malgré ses limites en matière de scalabilité massive ou d’intégration ERP ultra‑complexe, elle se distingue par :
- Une modularité native qui permet d’ajouter rapidement des fonctionnalités spécifiques (signature XML, webhooks, génération de PDF/A‑3).
- Une conformité légale facilitée grâce aux modules dédiés (UBL, PEPPOL, QR‑code).
- Une gouvernance simple : API‑Key, OAuth2, webhooks, accompagnée d’une documentation Swagger auto‑générée.
En suivant le cadre de pilotage présenté – définition de KPI, mise en place d’une gouvernance claire, phases de prototypage et de validation – il est possible de piloter de bout en bout le processus de facturation électronique, d’assurer la qualité des flux et d’obtenir des indicateurs de performance mesurables.
Pour les PME, associations ou structures cherchant à réduire leurs coûts de traitement de factures tout en restant en conformité avec la législation européenne, Dolibarr + son API REST constitue aujourd’hui une solution à la fois économique, flexible et prête pour l’avenir.
À retenir : la clé du succès réside dans la combinaison d’une architecture technique solide (Docker/K8s, caching, monitoring) et d’une gouvernance métier rigoureuse (KPIs, conformité). Ainsi, l’entreprise pourra non seulement piloter efficacement la facturation électronique, mais aussi en extraire de la valeur ajoutée (réduction des erreurs, gain de temps, amélioration de la cash‑flow).
Vous avez des questions précises sur l’intégration de l’API Dolibarr dans votre environnement ou sur les meilleures pratiques de génération UBL ? N’hésitez pas à me les poser, je vous fournirai des exemples de code et des recommandations d’outils d’automatisation.