Odoo + n8n à Cotonou : automatiser ses devis et factures automatiquement
Odoo + n8n : automatisez 100% de vos devis, factures et relances sans coder. 5 workflows concrets pour PME à Cotonou — gain de 15h/semaine et zéro facture oubliée.
Odoo n8n automatiser devis factures Cotonou : le guide technique complet (2026)
Combien d'heures par semaine vos commerciaux passent-ils à copier-coller des informations entre votre formulaire de contact, votre ERP Odoo et vos emails ? Dans la plupart des PME béninoises, la réponse tourne autour de 3 à 5 heures par personne.
Multiplié par 3 ou 4 commerciaux, c'est une journée entière de productivité perdue chaque semaine — sans compter les erreurs de saisie, les devis envoyés en retard ou les factures impayées que personne n'a relancées à temps.
n8n, le moteur d'automatisation open-source, dispose d'un node natif pour Odoo. En quelques heures de configuration, vous pouvez brancher n8n sur votre instance Odoo et laisser les machines gérer la paperasse — pendant que vos équipes se concentrent sur la vente et la relation client.
Dans ce guide, Paul Maxime Dossou décrit 5 workflows opérationnels avec le détail technique de chaque étape, des exemples de configuration JSON, les coûts réels en FCFA et les pièges à éviter dans le contexte béninois (Mobile Money, WhatsApp Business, connectivité variable).
Pourquoi connecter Odoo et n8n plutôt que de rester en manuel ?
Odoo est un ERP complet : il gère vos contacts, vos devis, vos commandes, vos factures, votre comptabilité et bien plus. Mais Odoo seul ne déclenche pas d'actions externes automatiquement — il attend qu'un humain clique sur un bouton. C'est là qu'intervient n8n.
n8n est un outil d'automatisation no-code/low-code comparable à Zapier ou Make, mais open-source et auto-hébergeable. Il écoute des événements (formulaire soumis, heure programmée, paiement reçu) et exécute des chaînes d'actions : créer un enregistrement dans Odoo, envoyer un email, poster un message WhatsApp, mettre à jour un Google Sheet, etc.
| Tâche | Avant automatisation | Après automatisation n8n + Odoo | Gain |
|---|---|---|---|
| Créer un devis depuis une demande web | 15–20 min (saisie manuelle) | < 30 secondes (automatique) | ~19 min/devis |
| Émettre une facture après commande | 5–10 min (action manuelle Odoo) | Instantané (déclenchement automatique) | ~8 min/facture |
| Relancer un impayé | Oublié dans 40 % des cas | 100 % relancés à J+15, J+30, J+45 | 0 facture oubliée |
| Rapport commercial hebdomadaire | 1–2 h (extraction + mise en forme) | Envoi automatique vendredi 17h | ~1,5 h/semaine |
| Enregistrement paiement Mobile Money | 10–15 min (rapprochement manuel) | Automatique via webhook MTN MoMo | ~12 min/paiement |
Comment connecter n8n à Odoo : l'authentification API pas à pas
Avant de construire le moindre workflow, vous devez établir la connexion entre n8n et votre instance Odoo. n8n utilise le protocole JSON-RPC d'Odoo via son API REST, disponible nativement sur toutes les instances Odoo 14, 15, 16 et 17.
Étape 1 — Générer une clé API dans Odoo
Dans Odoo, allez dans Paramètres → Utilisateurs & Entreprises → Votre profil → Onglet "Sécurité du compte" → Clés API.
Cliquez sur "Nouvelle clé API", donnez-lui un nom descriptif (ex. : n8n-integration-prod) et copiez la clé générée. Attention : cette clé n'est affichée qu'une seule fois.
Étape 2 — Configurer le credential Odoo dans n8n
Dans n8n, allez dans Credentials → Add Credential → Odoo API. Renseignez les champs suivants :
{
"host": "https://votre-odoo.paulmaximedossou.com",
"database": "nom_de_votre_base",
"username": "admin@votre-domaine.com",
"password": "votre_cle_api_odoo" /* la clé API générée à l'étape 1 */
}
Étape 3 — Tester la connexion
Créez un node Odoo dans n8n, sélectionnez votre credential, choisissez Resource: Contact, Operation: Get All, limité à 1 enregistrement.
Si vous obtenez un JSON avec un partenaire Odoo, la connexion est opérationnelle. Si vous obtenez une erreur 401, vérifiez que l'option "API Keys" est activée dans Paramètres Odoo → Technique → Activer les clés API.
Flux 1 — Devis automatique depuis un formulaire web
C'est le workflow de base, celui qui démontre immédiatement la valeur de l'automatisation. Un visiteur remplit votre formulaire de contact sur votre site web. En moins de 30 secondes, il reçoit un email de confirmation et un devis Odoo est créé dans votre ERP.
Détail technique des nodes n8n
Node 1 — Webhook : Déclenche le workflow à chaque soumission de formulaire. L'URL générée par n8n est à coller dans votre formulaire (WordPress Gravity Forms, Elementor Form, formulaire HTML custom, etc.).
Node 2 — Odoo Search (res.partner) : Vérifie si le client existe déjà dans Odoo. On filtre par email pour éviter les doublons.
/* Node Odoo : Search Records */
{
"resource": "Contact",
"operation": "getAll",
"filters": {
"field": "email",
"operator": "=",
"value": "{{ $json.email }}"
},
"limit": 1
}
Node 3 — IF (client trouvé ou non) : Si la recherche retourne un résultat, on utilise l'ID existant. Sinon, on passe au node de création.
Node 4 — Odoo Create (res.partner) : Crée le nouveau partenaire si nécessaire.
/* Node Odoo : Create Record — res.partner */
{
"resource": "Contact",
"operation": "create",
"fields": {
"name": "{{ $json.nom }} {{ $json.prenom }}",
"email": "{{ $json.email }}",
"phone": "{{ $json.telephone }}",
"street": "{{ $json.adresse }}",
"city": "Cotonou",
"country_id": 24, /* ID du Bénin dans Odoo */
"customer_rank": 1
}
}
Node 5 — Odoo Create (sale.order) : Crée le devis avec les produits demandés.
/* Node Odoo : Create Record — sale.order */
{
"resource": "sale.order",
"operation": "create",
"fields": {
"partner_id": "{{ $node['Trouver ou créer client'].json.id }}",
"order_line": [
[0, 0, {
"product_id": "{{ $json.produit_id }}",
"product_uom_qty": "{{ $json.quantite }}",
"price_unit": "{{ $json.prix_unitaire }}"
}]
],
"state": "draft",
"note": "Devis créé automatiquement depuis le formulaire web — {{ $json.message }}"
}
}
Node 6 — Send Email (Gmail / SMTP) : Envoie un email de confirmation au client avec le numéro du devis et un lien vers le portail client Odoo.
Node 7 (optionnel) — WhatsApp Business API : Envoie un message WhatsApp instantané avec la référence du devis et un délai de réponse annoncé sous 24h.
Flux 2 — Facturation automatique après confirmation de commande
Dès qu'un commercial confirme une commande dans Odoo (statut passe de "Devis" à "Commande"), n8n détecte le changement, génère la facture et l'envoie au client — sans que personne n'ait à cliquer sur "Créer facture".
Détecter les nouvelles commandes confirmées
La méthode la plus fiable sur Odoo self-hosted est d'utiliser un webhook Odoo natif (disponible depuis Odoo 16 dans Paramètres → Technique → Webhooks). Configurez-le pour déclencher sur la modification du modèle sale.order quand le champ state passe à sale.
Sur Odoo 15 ou antérieur, utilisez le polling n8n (Schedule Trigger toutes les 5 minutes + filtre sur date_order et state = sale).
/* Node Odoo : Search Orders — polling toutes les 5 min */
{
"resource": "sale.order",
"operation": "getAll",
"filters": [
{ "field": "state", "operator": "=", "value": "sale" },
{
"field": "write_date",
"operator": ">=",
"value": "{{ $now.minus({ minutes: 6 }).toISO() }}"
}
]
}
Créer la facture (account.move)
/* Node Odoo : Create Record — account.move */
{
"resource": "account.move",
"operation": "create",
"fields": {
"move_type": "out_invoice",
"partner_id": "{{ $json.partner_id[0] }}",
"invoice_origin": "{{ $json.name }}",
"invoice_line_ids": "{{ $json.order_line }}"
}
}
Ensuite, utilisez un node Odoo supplémentaire pour valider la facture (action action_post via un HTTP Request node sur l'endpoint /web/dataset/call_kw). Un node final récupère le PDF de la facture et l'attache à l'email client.
Flux 3 — Relances automatiques des factures impayées
Selon une étude menée par EkoMedia sur 12 PME béninoises utilisant Odoo, 67 % des factures impayées ne sont jamais relancées — faute de temps ou d'oubli. Ce workflow tourne chaque matin à 8h et ne laisse aucune facture tomber dans l'oubli.
Rechercher les factures en retard
/* Schedule Trigger : tous les jours à 08:00 */
/* Node Odoo : Search Records — account.move */
{
"resource": "account.move",
"operation": "getAll",
"filters": [
{ "field": "move_type", "operator": "=", "value": "out_invoice" },
{ "field": "payment_state", "operator": "in", "value": ["not_paid", "partial"] },
{ "field": "invoice_date_due", "operator": "<", "value": "{{ $today.toISODate() }}" }
],
"fields": ["name", "partner_id", "amount_residual", "invoice_date_due", "id"]
}
Logique de tri et actions selon ancienneté
Un node Code (JavaScript) calcule le nombre de jours de retard pour chaque facture et place les enregistrements dans trois catégories : doux (J+15), ferme (J+30) et critique (J+45).
/* Node Code — calcul ancienneté */
const today = new Date();
const items = $input.all();
return items.map(item => {
const due = new Date(item.json.invoice_date_due);
const joursRetard = Math.floor((today - due) / (1000 * 60 * 60 * 24));
let niveau = null;
if (joursRetard >= 45) niveau = 'critique';
else if (joursRetard >= 30) niveau = 'ferme';
else if (joursRetard >= 15) niveau = 'doux';
return { ...item, json: { ...item.json, joursRetard, niveau } };
}).filter(item => item.json.niveau !== null);
Chaque catégorie déclenche ensuite une branche différente dans n8n :
- J+15 (doux) : Email courtois — rappel de l'échéance avec le montant en FCFA.
- J+30 (ferme) : Email plus formel — mention des frais de retard prévus au contrat, demande de confirmation de date de paiement.
- J+45 (critique) : Email ferme + WhatsApp Business + notification interne au dirigeant.
Enregistrer la relance dans le chatter Odoo
/* Node HTTP Request : message.post dans Odoo */
POST https://votre-odoo.com/web/dataset/call_kw
{
"jsonrpc": "2.0",
"method": "call",
"params": {
"model": "account.move",
"method": "message_post",
"args": [[ "{{ $json.id }}" ]],
"kwargs": {
"body": "Relance automatique envoyée le {{ $today }} (J+{{ $json.joursRetard }})",
"message_type": "comment",
"subtype_xmlid": "mail.mt_note"
}
}
}
Flux 4 — Rapport commercial hebdomadaire automatique
Chaque vendredi à 17h, le dirigeant reçoit par email un rapport HTML complet : chiffre d'affaires de la semaine, nombre de commandes, top clients, factures en attente.
Aucun comptable ni commercial n'a besoin d'extraire le moindre rapport manuellement.
Requêtes Odoo pour le rapport
/* Requête 1 — CA semaine */
{
"resource": "sale.order",
"operation": "getAll",
"filters": [
{ "field": "state", "operator": "in", "value": ["sale", "done"] },
{
"field": "date_order",
"operator": ">=",
"value": "{{ $now.startOf('week').toISO() }}"
}
],
"fields": ["name", "partner_id", "amount_total", "date_order"]
}
/* Requête 2 — Top 5 clients */
/* Agrégation via read_group Odoo sur partner_id */
/* Requête 3 — Factures non payées */
{
"resource": "account.move",
"filters": [
{ "field": "payment_state", "operator": "=", "value": "not_paid" },
{ "field": "move_type", "operator": "=", "value": "out_invoice" }
],
"fields": ["name", "partner_id", "amount_residual", "invoice_date_due"]
}
Un node Code compile ces données en HTML formaté. Un node Send Email l'envoie au directeur avec le total du CA en FCFA et la liste des impayés.
Flux 5 — Synchronisation paiement Mobile Money (MTN MoMo)
Ce flux est spécifique au contexte africain et représente un gain énorme. Plus besoin de vérifier manuellement chaque notification SMS ou email de paiement MoMo pour l'enregistrer dans Odoo. Le rapprochement se fait en temps réel.
Intégration MTN MoMo API avec n8n
MTN Mobile Money Bénin propose une API marchande qui permet de recevoir des notifications webhook à chaque paiement entrant. Vous configurez l'URL de votre webhook n8n dans votre tableau de bord développeur MTN MoMo.
À chaque paiement, MTN envoie un payload JSON contenant la référence, le montant, le numéro payeur et une référence externe — que vous avez préalablement codée comme le numéro de facture Odoo.
/* Payload webhook MTN MoMo (exemple) */
{
"financialTransactionId": "txn-88234971",
"externalId": "INV/2026/00142", /* numéro facture Odoo */
"amount": "85000",
"currency": "XOF",
"payer": {
"partyIdType": "MSISDN",
"partyId": "22997123456"
},
"status": "SUCCESSFUL"
}
/* Node Odoo : Create Record — account.payment */
{
"resource": "account.payment",
"operation": "create",
"fields": {
"payment_type": "inbound",
"partner_type": "customer",
"partner_id": "{{ $json.partner_id }}",
"amount": "{{ $json.montant }}",
"currency_id": 192, /* ID XOF dans Odoo */
"journal_id": 8, /* ID journal Mobile Money */
"ref": "MTN MoMo — txn {{ $json.financialTransactionId }}",
"memo": "{{ $json.externalId }}"
}
}
Après création du paiement, n8n déclenche le lettrage automatique avec la facture correspondante via l'action action_post puis js_assign_outstanding_credit. Un node final envoie le reçu PDF au client par email et WhatsApp.
Infrastructure recommandée pour déployer ces workflows à Cotonou
Option 1 — n8n self-hosted (recommandé pour les PME)
Hébergez n8n sur un VPS Hetzner (3 à 5 euros par mois en Europe, latence acceptable depuis Cotonou) ou sur un serveur local. Utilisez Docker Compose pour l'installation en 15 minutes.
Avantage : données souveraines, pas de limite de workflows, personnalisation totale.
Option 2 — n8n.cloud
Solution SaaS gérée par n8n.io. Gratuit jusqu'à 5 workflows actifs et 2500 exécutions par mois. Payant au-delà (environ 20 USD par mois). Idéal pour démarrer sans gérer de serveur.
Outils complémentaires nécessaires
- Odoo 16 ou 17 avec le module API activé (natif depuis Odoo 14).
- WhatsApp Business API : via waba.io, Twilio, ou l'API officielle Meta Cloud (nécessite un numéro WhatsApp Business vérifié).
- MTN MoMo API marchande : inscription sur le portail développeur MTN Bénin, création d'une application, génération des credentials (API User + API Key).
- SMTP ou Gmail API : pour l'envoi d'emails depuis n8n (Gmail avec OAuth2 recommandé pour la délivrabilité).
- n8n self-hosted (VPS 2 vCPU / 4 Go RAM) : 5 000 à 15 000 FCFA/mois selon hébergeur
- n8n.cloud (plan Starter) : gratuit jusqu'à 5 workflows, puis environ 10 000 FCFA/mois
- WhatsApp Business API (via waba.io) : environ 25 FCFA par message + abonnement d'environ 5 000 FCFA/mois
- Odoo Community (self-hosted) : 0 FCFA (open-source) + coût serveur
- Développement des 5 workflows (prestation consultant) : 100 000 à 400 000 FCFA selon complexité
- Maintenance mensuelle (optionnelle) : 20 000 à 60 000 FCFA/mois
Planning de déploiement : de zéro à 5 workflows en 3 semaines
-
Semaine 1 — Audit et installation (3 à 4 jours)
Audit Odoo existant, activation API, installation n8n self-hosted, configuration credentials, test connexion Odoo vers n8n, recueil des flux métier existants. -
Semaine 2 — Flux 1 et 2 : devis + factures (3 à 4 jours)
Développement Flux 1 (formulaire vers devis), tests avec données réelles, développement Flux 2 (commande vers facture), validation avec l'équipe commerciale. -
Semaine 2 à 3 — Flux 3 et 4 : relances + rapport (3 à 4 jours)
Développement Flux 3 (relances J+15/30/45), paramétrage des templates email, développement Flux 4 (rapport hebdomadaire), validation avec la direction. -
Semaine 3 — Flux 5 et mise en production (2 à 3 jours)
Intégration MTN MoMo API, tests paiements sandbox, migration en production, formation de l'équipe (2h), documentation des workflows. -
Mois 2 — Suivi et optimisation
Monitoring des exécutions n8n, ajustements selon retours terrain, ajout de nouvelles automatisations (stocks, RH, reporting avancé).
Les 5 erreurs fréquentes à éviter dans ce type de projet
1. Automatiser sans tester avec de vraies données. Les formulaires en Afrique francophone contiennent souvent des noms avec accents, des numéros de téléphone en format local (229XXXXXXXX vs +229XXXXXXXX). Testez avec des données réelles béninoises avant de mettre en production.
2. Ne pas gérer les doublons de partenaires. Si votre recherche de client ne normalise pas l'email (minuscules, espaces), vous créerez des doublons dans Odoo. Ajoutez toujours un node de normalisation (.toLowerCase().trim()) avant la recherche.
3. Ignorer la gestion des erreurs. n8n peut échouer si Odoo est indisponible (coupures fréquentes au Bénin). Activez les "Error Workflows" dans n8n pour recevoir une notification quand un workflow échoue, et configurez des retry automatiques.
4. Utiliser le compte admin Odoo pour l'API. Créez un utilisateur dédié pour n8n avec uniquement les droits nécessaires (CRM, Ventes, Comptabilité). Cela protège votre ERP et facilite l'audit des actions automatiques.
5. Oublier les fuseaux horaires. Votre n8n peut être hébergé en Europe (UTC+1 ou UTC+2) alors que Cotonou est en UTC+1. Vérifiez que vos Schedule Triggers sont bien configurés en heure locale Bénin pour éviter des rapports envoyés à 3h du matin.
FAQ — Questions fréquentes sur l'intégration Odoo + n8n
Est-ce que n8n fonctionne avec toutes les versions d'Odoo ?
Le node natif Odoo de n8n est compatible avec Odoo 12 et supérieur. Pour Odoo 16 et 17, l'expérience est la meilleure car l'API REST native est plus complète et les webhooks sont disponibles sans module additionnel. Les versions antérieures nécessitent parfois des appels HTTP Request manuels en JSON-RPC.
Faut-il savoir coder pour déployer ces workflows ?
Non. n8n est une plateforme no-code avec une interface visuelle. Les nodes se configurent via des formulaires. Seuls les nodes "Code" (JavaScript) pour la logique métier avancée (calcul de retard, tri des relances) nécessitent quelques lignes de JS — mais vous pouvez les remplacer par des nodes "IF" et "Switch" pour rester 100 % sans code.
Quelle est la différence entre n8n self-hosted et n8n.cloud pour une PME au Bénin ?
n8n.cloud est plus simple à démarrer mais dépend d'une connexion internet stable. n8n self-hosted sur un VPS Hetzner offre plus de contrôle, des performances stables et des coûts fixes inférieurs à partir de 3 workflows actifs. Pour une PME béninoise avec 5 workflows ou plus, le self-hosted est recommandé pour le rapport qualité/prix.
Combien de temps faut-il pour mettre en place les 5 workflows ?
Avec un consultant expérimenté, les 5 workflows sont opérationnels en 2 à 3 semaines. En autonomie, comptez 4 à 6 semaines si vous découvrez n8n et l'API Odoo. La partie la plus chronophage est la connexion MTN MoMo API — obtenir les credentials marchands prend parfois 1 à 2 semaines côté MTN.
Ces workflows fonctionnent-ils en cas de coupure d'électricité ou internet à Cotonou ?
Si n8n est hébergé sur un VPS en dehors du Bénin, les workflows continuent de tourner même en cas de coupure locale. Les données se synchronisent dès que la connexion est rétablie. Si votre instance Odoo est locale (on-premise), elle sera indisponible pendant les coupures, mais n8n gérera les erreurs et retentera automatiquement.
Peut-on envoyer des factures PDF via WhatsApp avec n8n ?
Oui. Le flux est : n8n récupère le PDF de la facture depuis Odoo (via l'endpoint /report/pdf/), l'enregistre temporairement, puis l'envoie via l'API WhatsApp Business comme document attaché. Le client reçoit directement la facture dans WhatsApp. Cette fonctionnalité nécessite un compte WhatsApp Business API vérifié.
L'intégration Mobile Money fonctionne-t-elle aussi avec Moov Money au Bénin ?
Oui, Moov Money dispose également d'une API marchande. Le principe est identique : configurer un webhook Moov Money vers n8n, parser le payload de notification et enregistrer le paiement dans Odoo. La structure du payload diffère légèrement de MTN MoMo mais les concepts sont identiques. Les deux peuvent coexister dans le même workflow n8n avec un node "Switch" pour distinguer la source.
Quels sont les risques de sécurité de connecter n8n à Odoo ?
Les principaux risques sont l'exposition de la clé API Odoo et l'accès non protégé aux webhooks n8n. Bonnes pratiques : créez un utilisateur Odoo dédié avec droits limités, stockez la clé API dans les variables d'environnement n8n (pas en dur dans les nodes), protégez vos webhooks n8n par un token d'authentification, et hébergez n8n derrière un reverse proxy HTTPS (nginx ou Traefik).
Peut-on automatiser la création de bons de commande fournisseurs avec ce setup ?
Absolument. Le modèle Odoo pour les bons de commande fournisseurs est purchase.order. n8n détecte un besoin d'approvisionnement (stock sous seuil minimum via le modèle stock.quant), crée automatiquement le bon de commande fournisseur et envoie un email au fournisseur. Ce flux est particulièrement utile pour les entreprises de distribution.
Comment surveiller que les workflows n8n fonctionnent correctement ?
n8n dispose d'un historique d'exécutions pour chaque workflow (succès, erreur, en cours). Configurez un "Error Workflow" global qui envoie une notification email ou WhatsApp à chaque échec. Pour une surveillance avancée, intégrez n8n avec Uptime Kuma pour monitorer la disponibilité. Planifiez aussi un workflow de "health check" qui ping votre instance Odoo chaque heure.
Prêt à automatiser votre gestion commerciale avec Odoo + n8n ?
Paul Maxime Dossou, expert Odoo et n8n à Cotonou, déploie ces 5 workflows pour votre PME. Audit gratuit, déploiement en 3 semaines, support inclus.
Consultant Odoo Cotonou Expert Automatisation n8n BéninConclusion : l'automatisation Odoo + n8n, un levier de compétitivité pour les PME béninoises
L'intégration Odoo + n8n n'est pas un luxe réservé aux grandes entreprises. Avec un investissement initial de 100 000 à 400 000 FCFA et des frais mensuels inférieurs à 30 000 FCFA, une PME à Cotonou peut automatiser l'intégralité de son cycle commercial.
Le gain est immédiat et mesurable : 15 heures par semaine économisées sur des tâches répétitives, un taux de recouvrement amélioré grâce aux relances systématiques, et une expérience client renforcée avec des réponses instantanées par email et WhatsApp.
Le node natif Odoo de n8n, combiné à l'API JSON-RPC d'Odoo 16/17, offre une couverture fonctionnelle complète sur tous les modèles métier. Les 5 workflows présentés dans cet article sont opérationnels, documentés et déployés pour des clients au Bénin et en Afrique francophone.
Si vous souhaitez démarrer par un audit de vos processus actuels et un chiffrage précis pour votre entreprise, contactez Paul Maxime Dossou via la page consultant Odoo Cotonou ou découvrez l'offre complète d'automatisation n8n au Bénin.
Aller plus loin
Services et ressources en lien avec ce sujet
Expert Automatisation n8n & Make Bénin
Automatisez vos processus métier avec n8n et Make.
Consultant IA & Automatisation Bénin
Intégrez l'intelligence artificielle dans vos workflows.
Intégration Odoo Bénin
Centralisez ventes, RH et finances dans un ERP unique.
Formations IA & Automatisation
Formez vous et vos équipes aux outils de demain.
Audit Gratuit SEO & Processus Bénin
Diagnostic offert de vos processus ou de votre visibilité.
Vous avez aimé cet article ?
J'aime
Partager cet article
Commentaires
Laisser un commentaire
Chargement des commentaires...