1️⃣ Pourquoi combiner Dolibarr & n8n ?
| Dolibarr | n8n |
|---|---|
| ERP/CRM open‑source ultra‑léger, idéal pour PME, associations ou start‑ups. | Plateforme de workflow visuel (no‑code) basée sur Node.js, extensible via des nodes et du code JavaScript. |
| Gestion des devis, factures, stocks, contacts, projets… | Orchestration de tâches : appels API, triggers (webhooks, cron), traitement de données, notifications, etc. |
| Architecture simple (une seule base de données MySQL/PostgreSQL). | Architecture micro‑services native : Docker, Kubernetes, serveur autonome. |
| API REST limitée (principalement CRUD). | API native très riche + possibilités d’ajouter des nodes personnalisés. |
En combinant les deux, vous obtenez :
- Une solution ERP complète pour la gestion opérationnelle.
- Un moteur d’automatisation pour relier Dolibarr à d’autres applications (Shopify, WooCommerce, Slack, GitHub, Google Sheets…).
- Un retour sur investissement rapide : aucune compétence de développeur n’est requise pour créer des flux, seulement la compréhension des champs Dolibarr.
2️⃣ Architecture d’ensemble
┌───────────────────────┐ ┌─────────────────────┐
│ Dolibarr (serveur) │ ◀───▶ │ n8n (workflow) │
│ - DB MySQL/PostgreSQL │ │ - Nodes natifs │
│ - API REST │ │ - Webhooks │
│ - Stocks, contacts… │ │ - JavaScript │└───────────────────────┘ └─────────────────────┘
▲ ▲
│ │
Webhooks / API REST │ │ │
└─────────────────────► HTTP ◄───…
- Dolibarr expose des end‑points REST (
/api/action/[entity]) et accepte les webhooks (module Business Management → Webhooks). - n8n se connecte à ces API via le node “Dolibarr” (développé par la communauté) ou via HTTP Request avec authentification OAuth2 / Basic.
- Les triggers les plus fréquents sont : création/édition d’un element (devis, facture, contact), webhook sur un evenement (ex : paiement reçu) ou cron quotidien.
- Les actions : mise à jour d’un enregistrement, création d’un ticket dans un CRM, envoi d’un e‑mail, mise à jour d’un tableau Google Sheets, etc.
3️⃣ Planning 30 jours – Playbook pas à pas
| Semaine | Objectif | Livrable | Temps estimé* |
|---|---|---|---|
| Jour 1‑2 | Installation | Environnements Docker/PM2 + accès sécurisé | 4 h |
| Jour 3‑5 | Configuration de Dolibarr (modules, API) | DB + serveur fonctionnels, clé API activée | 6 h |
| Jour 6‑9 | Installation n8n (Docker, config de credentiels) | Instance n8n accessible en HTTPS | 4 h |
| Jour 10‑13 | Création du premier workflow (ex : “Devis → Facture”) | Workflow “Devis → Validation → Facturation” | 8 h |
| Jour 14‑16 | Webhooks Dolibarr → n8n | Trigger « Nouvelle facture » -> Slack/WhatsApp | 6 h |
| Jour 17‑20 | Intégration de services tiers (Google Sheets, Trello, Discord) | Scénario “Facture payée → mise à jour tableau de bord” | 10 h |
| Jour 21‑23 | Tests fonctionnels & scénarios d’erreur | Suite de tests (postman + n8n debug) | 8 h |
| Jour 24‑26 | Optimisation & monitoring (logs, alertes, retry) | Dashboard Grafana ou n8n “Execution QA” | 6 h |
| Jour 27‑30 | Documentation & livrable (guide, templates) | Playbook final + support interne | 6 h |
* Le temps indiqué est la charge moyenne pour un développeur ou un consultant senior. Vous pouvez répartir les tâches entre plusieurs acteurs.
Conseil : Bloquez 1 jour “sprint review” à la fin de chaque semaine pour valider les livrables avec les parties prenantes (commercial, comptabilité, équipe IT).
4️⃣ Détail des étapes clés
4.1 Installation des solutions
# 1️⃣ Docker‑Compose (exemple minimal)
version: "3.8"
services:
db:
image: mariadb:10.11
environment:
MYSQL_ROOT_PASSWORD: secret_root
MYSQL_DATABASE: dolibarr
MYSQL_USER: dolibarr_user
MYSQL_PASSWORD: dolibarr_pwd
volumes:
- ./dolibarr_data:/var/lib/mysql
restart: unless-stopped
dolibarr:
image: dolibarr/dolibarr:latest
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=dolibarr
- MYSQL_USER=dolibarr_user
- MYSQL_PASSWORD=dolibarr_pwd
depends_on: [db]
ports:
- "8080:80"
volumes:
- ./dolibarr/files:/var/www/html/files
restart: unless-stopped
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin - N8N_BASIC_AUTH_PASSWORD=strong_password
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_PROD=true volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
volumes:
n8n_data:
- HTTPS : Ajoutez un reverse‑proxy Traefik ou Caddy avec certificat Let’s Encrypt.
- Sécurisez les accès (
/admin→ basic‑auth, IP whitelisting).
4.2 Activation de l’API REST et des Webhooks dans Dolibarr
| Action | Étapes |
|---|---|
| Activer l’API | 1. Modules → Setup → General → API → cocher “Activer l’API REST”. 2. Créer un utilisateur API (ex : n8n_user) avec role “Administrator” (ou rôle limité). 3. Générer token dans Login → My account → API. |
| Créer un Webhook | 1. Setup → Webhooks. 2. Add Webhook → Choisir Entity (ex : invoiceline) → Event → created ou updated. 3. Endpoint → URL de n8n ( https://n8n.mondomaine.com/webhook/12345). 4. Activer Signature SHA256 pour garantir l’intégrité. |
4.3 Créer son premier workflow n8n (« Devis → Facture »)
-
Node “Dolibarr” – Trigger
- Mode : Webhook (ou Cron).
- Entity :
order(devis). – Condition :status = "Draft"(ou le champ métier de votre configuration).
-
Node “Function” – Transformation
// Exemple : récupérer le champ “total” et le convertir en €
item.data.amount = Number(item.data.amount) / 100;
return item; -
Node “Dolibarr” – Action « Create Invoice »
- Entity :
invoice - Mapping :
order_id={{ $node["Dolibarr"].json.id }} - Payload :
{ "num": "INV-{{ $node["Dolibarr"].json.id }}", "date": "today", "amount": "{{ $json.amount }}" }
- Entity :
-
Node “Slack” / “Discord” – Notification
- Message : “✅ Nouvelle facture {{ $json.num }} générée depuis le devis {{ $json.order_id }}”.
- Node “IF” – Gestion des erreurs
- Si le statut de création de facture ≠ “OK”, envoyer un alert à PagerDuty ou Mailjet.
Astuce : Activez le debug mode dans n8n (onglet Execution) pour visualiser le payload à chaque étape.
4.4 Webhook « Paiement reçu » → mise à jour CRM
| Étape | Description |
|---|---|
| Trigger | Webhook Dolibarr (payment_received sur invoice). |
| Action 1 | HTTP Request -> appel API interne de votre CRM (ex : HubSpot). |
| Action 2 | Google Sheets – ajout ligne “Facture payée – date – montant”. |
| Action 3 | Slack – ✅ Facture {{ $json.num }} marquée comme payée – + lien vers le PDF. |
| Optionnel | GitHub Issue – créer un ticket “Facture facturée” pour le suivi comptable. |
Toyez ce workflow avec Postman : envoyez un faux webhook depuis curl -X POST http://localhost:5678/webhook/12345 -d '{"invoice_id":42}'.
4.5 Tests fonctionnels & scénario de rollback
| Test | Action | Résultat attendu |
|---|---|---|
| TC‑01 | Créer un devis → laisser n8n le convertir en facture. | Facture visible dans Dolibarr, workflow complet exécuté, notification Slack reçue. |
| TC‑02 | Supprimer un paiement (API POST /invoice/{id}/payment) |
Webhook déclenché → mise à jour du tableau Google Sheets. |
| TC‑03 | Simuler une erreur (payload invalide) | Le node “IF” renvoie un message d’erreur, le job est mis en retry 3 fois, puis alerte PagerDuty. |
| TC‑04 | Débrancher temporairement n8n | Les webhooks sont mis en queue (si vous avez activé le n8n Database ou Redis). Aucune perte de données. |
| TC‑05 | Rollback de l’API – désactiver le token API | Le workflow se bloque sur « 401 Unauthorized », vous êtes alerté via le monitor n8n. |
5️⃣ Bonnes pratiques & Astuces avancées
| Domaine | Recommendation |
|---|---|
| Sécurité | Utilisez HTTPS partout, activez les tokens JWT ou OAuth2 côté Dolibarr, limitez les IP dans les webhooks. |
| Versioning | Versionnez vos workflows (exports JSON) dans un dépôt Git. Taggez les releases (v1.0-devis-facture). |
| Persistivité | Persistez les executions dans PostgreSQL ou Redis pour garantir la continuité après redémarrage. |
| Scalabilité | Déployez n8n en mode cluster (Redis pub/sub) si vous avez plus de 10 k executions/jour. |
| Logging avancé | Centralisez les logs avec ELK (Elastic + Logstash + Kibana) ou Grafana Loki. Créez des alertes sur le taux d’erreurs (> 5 %). |
| Gestion des champs dynamiques | Si vous avez des champs additionnels (ex : “category”), utilisez le node “Function” pour décoder les JSON et les mapper dynamiquement. |
| Synchronisation bidirectionnelle | Pour des scénarios « CRUD » complets, créez deux webhooks : creation (Dolibarr → n8n) + update (n8n ↔ Dolibarr). Utilisez un checksum (ex : hash du payload) pour éviter les boucles infinies. |
| Performance | Limitez le payload à 5 Mo max par appel (Dolibarr API). Utilisez le node “Wait On Event” si vous devez récupérer uneressource dépendante (ex : facture PDF). |
| Documentation auto‑générée | Exportez chaque workflow en JSON et ajoutez un commentaire /** … */ décrivant les champs attendus. Vous pouvez ensuite générer une API spec avec Swagger. |
6️⃣ Ressources utiles
| Type | Lien |
|---|---|
| Documentation officielle | https://dolibarr.org/ – Section API REST et Webhooks. |
| Node n8n – Dolibarr | https://github.com/igor-tools/n8n-nodes-dolibarr (package n8n-nodes-dolibarr). |
| Tutoriel vidéo (FR) | « Automatiser les devis avec Dolibarr & n8n » – Chaîne YouTube IT-Connect (2024). |
| Docker‑Compose avec Traefik | https://github.com/traefik/traefik/tree/master/examples/dynamic-compose |
| Palette de nodes | https://github.com/n8n-io/n8n-nodes – Liste des nodes natifs & communautaires. |
| Forum communautaire | https://community.n8n.io/c/integrations/dolibarr – Questions et réponses. |
| Blog de cas d’usage | « Intégrer un CRM à Dolibarr avec n8n » – blog Dolibarr Community (nov. 2023). |
7️⃣ Checklist “Prêt à mettre en production”
- [ ] Les URL du serveur sont HTTPS avec certificat valide.
- [ ] Le token API de Dolibarr est stocké comme secret n8n (Credential).
- [ ] Tous les workflows sont exportés et versionnés. – [ ] Un plan de reprise d’activité (BCP) est documenté (rollback des containers, backup DB).
- [ ] Des alertes (PagerDuty / Slack) sont configurées sur les erreurs critiques.
- [ ] La documentation utilisateur interne est disponible (exemple de remplissage du formulaire « Demande de facture »).
- [ ] Test de charge réalisé (au moins 1 000 exécutions simulées) sans dépassement de 70 % de la capacité CPU.
8️⃣ Conclusion
L’intégration de Dolibarr avec n8n vous donne le meilleur des deux mondes : un ERP complet et ultra‑léger, couplé à un moteur d’automatisation flexible, scalable et 100 % code‑visible (JSON).
En suivant le playbook de 30 jours présenté ci‑dessus, vous passez :
- De l’infrastructure (install, sécurisation).
- De la configuration (API & webhooks). 3. De la création de workflows concrets (devis → facture, paiement → CRM).
- Des tests rigoureux et du monitoring. Vous obtenez ainsi une automatisation prête à soutenir la croissance de votre PME ou de votre organisation, tout en gardant la possibilité d’étendre les scénarios à d’autres applications (e‑commerce, comptabilité cloud, outils de support).
N’hésitez pas à revenir vers moi pour :
- Des exemples concrets de workflows plus complexes (ex : synchronisation bidirectionnelle entre Dolibarr et Odoo).
- Des conseils de mise en place sur Kubernetes ou des scripts Terraform pour provisionner l’infrastructure.
- Un audit de vos processus actuels afin d’identifier les prochains automatisations à prioriser.
Bon automatisme ! 🚀
Prepared by [Votre Nom] – Architecte Cloud & Automation, spécialiste Dolibarr & n8n.
À retenir : Dolibarr + n8n = ERP + Orchestration = Productivité + Réactivité.
30 jours suffisent pour passer d’un proof‑of‑concept à un flux de production robuste.
Fin du playbook.