Connecter WooCommerce à un ERP ou un CRM : méthodes et pièges
Relier WooCommerce à un ERP ou un CRM consiste à faire circuler produits, stocks, commandes et clients entre la boutique et le logiciel de gestion, sans ressaisie. Quatre méthodes existent : l'API REST de WooCommerce, les webhooks, les connecteurs du marché et la synchronisation planifiée. Nous choisissons et développons la bonne combinaison selon vos volumes et votre logiciel.
Pourquoi connecter la boutique à la gestion
Une boutique WooCommerce qui vit seule oblige à ressaisir. Les commandes sont recopiées dans le logiciel de facturation. Les stocks sont mis à jour à la main, avec un décalage. Les nouveaux clients n’apparaissent pas dans le CRM. Chaque ressaisie coûte du temps et produit des erreurs.
Un ERP est le logiciel de gestion de l’entreprise : achats, stocks, facturation, parfois production. Un CRM est le logiciel de gestion de la relation client : contacts, opportunités, historique des échanges. Connecter WooCommerce à l’un ou à l’autre, c’est décider quel logiciel fait référence pour chaque donnée, puis faire circuler l’information automatiquement. Nous développons ces connexions sur les boutiques WooCommerce que nous construisons ou que nous reprenons.
Quatre méthodes, souvent combinées
1. L’API REST de WooCommerce
Une API est une interface qui permet à un logiciel de lire et d’écrire les données d’un autre. WooCommerce en expose une, complète et documentée : produits, variations, stocks, commandes, clients. L’ERP ou un programme intermédiaire s’y connecte avec une clé d’accès pour créer un produit, modifier un stock ou lire les commandes du jour. C’est la méthode de référence quand la gestion doit écrire dans la boutique.
2. Les webhooks
Un webhook est une notification envoyée par un logiciel à une adresse web dès qu’un événement se produit. WooCommerce peut en émettre à chaque nouvelle commande, changement de statut ou mise à jour de produit. Votre système reçoit l’information en temps réel, sans interroger la boutique en boucle. C’est la méthode adaptée aux commandes : dès le paiement, l’ERP est informé.
3. Les connecteurs du marché
Pour les ERP et CRM les plus répandus, des extensions ou des services de connexion existent déjà. Ils évitent de développer, au prix d’une moindre souplesse sur les règles de correspondance et d’un abonnement. Nous les recommandons quand vos règles sont standard et que le connecteur est maintenu activement. Nous vérifions avant tout ce qu’il fait en cas d’erreur.
4. La synchronisation planifiée
Un script lancé à intervalle régulier, chaque nuit ou toutes les quinze minutes, lit un export ou une API et met à jour l’autre côté. C’est la méthode adaptée aux catalogues et aux stocks quand le temps réel n’est pas nécessaire, ou quand l’ERP ne sait produire que des fichiers. Elle est robuste et facile à rejouer en cas de panne.
Quelle méthode pour quelle donnée
| Donnée | Sens | Méthode conseillée | Point de vigilance |
|---|---|---|---|
| Produits et prix | ERP vers WooCommerce | Synchronisation planifiée ou API REST | Référence produit unique |
| Stocks | ERP vers WooCommerce | API REST, fréquence élevée | Décalage entre vente et mise à jour |
| Commandes | WooCommerce vers ERP | Webhook | Doublons, commandes modifiées |
| Clients | WooCommerce vers CRM | Webhook ou synchronisation | Fusion des contacts existants |
| Statuts d’expédition | ERP vers WooCommerce | API REST | E-mails clients déclenchés |
Les pièges que nous rencontrons le plus
Les doublons
Un webhook peut être envoyé deux fois. Un script peut être relancé après une coupure. Sans précaution, la même commande est créée deux fois dans l’ERP. La parade s’appelle l’idempotence : chaque message porte un identifiant, et le système refuse de traiter deux fois le même. Nous l’appliquons sur tous nos webhooks, y compris ceux de Stripe, dont nous vérifions la signature avant de créer quoi que ce soit.
Les stocks qui divergent
Si la boutique et l’ERP peuvent tous deux modifier un stock, les deux finissent par se contredire. Il faut désigner une seule source de vérité, en général l’ERP, et décider ce que fait la boutique quand une vente survient avant la prochaine mise à jour. Une réserve de sécurité ou une vérification au moment du paiement évitent de vendre un article absent.
La référence produit
Une intégration repose sur une clé commune entre les deux systèmes, en général la référence produit ou SKU. Si elle manque, change, ou diffère d’un caractère entre l’ERP et la boutique, la synchronisation crée des doublons ou écrase le mauvais produit. Nous vérifions cette clé sur l’ensemble du catalogue avant d’écrire la première ligne de code. Les variations, taille ou couleur, ont chacune leur propre référence.
La gestion des erreurs
L’ERP sera parfois indisponible. L’API renverra parfois une erreur. Une intégration sérieuse journalise chaque échange, réessaie avec un délai croissant, et alerte une personne quand un message reste en échec. Sans cela, une commande perdue ne se voit qu’à la réclamation du client.
Ce que nous avons déjà mis en place
Les mécanismes décrits ici sont ceux que nous utilisons sur nos projets, boutiques ou non.
- Sur un espace membre, le paiement passe par Stripe Checkout et la confirmation arrive par un webhook signé. Le site vérifie la signature, contrôle le montant côté serveur et traite chaque notification une seule fois avant d’ouvrir les droits.
- Sur un outil de supervision et sur une application d’invitations, les e-mails transactionnels partent par l’API de Brevo, avec des relances planifiées par cron.
- Sur un site de location, un module de réservation interroge l’API Google Calendar pour bloquer les dates prises et calculer le prix.
- Sur des boutiques WooCommerce, nous avons mis en place l’import et l’export de produits, des règles de remise et un module de panier développé à la main.
Un connecteur entre WooCommerce et votre ERP ou votre CRM suit exactement la même logique : authentification, vérification, idempotence, journal et alertes. Nous détaillons notre façon de faire sur la page API et intégration.
Par où commencer
- Listez les données à faire circuler et, pour chacune, le logiciel qui fait référence.
- Vérifiez ce que votre ERP ou votre CRM expose : une API, des webhooks, des exports de fichiers.
- Nettoyez les références produits et les fiches clients avant l’intégration, pas après.
- Commencez par un seul flux, souvent les commandes, et mesurez avant d’étendre.
Questions fréquentes
Notre ERP n'a pas d'API. Peut-on quand même le connecter ?
Souvent, oui. La plupart des logiciels exportent et importent des fichiers CSV ou XML. Une synchronisation planifiée lit ces fichiers et met la boutique à jour. C’est moins réactif que l’API, mais fiable.
En combien de temps une commande arrive-t-elle dans l'ERP ?
Avec un webhook, en quelques secondes après le paiement. Avec une synchronisation planifiée, au prochain passage du script, dont vous fixez la fréquence.
Faut-il une extension WooCommerce du marché ou un développement ?
Si un connecteur maintenu existe pour votre logiciel et que vos règles sont standard, nous le testons d’abord. Si vos règles de prix, de stock ou de clients sont propres à votre entreprise, un développement sur mesure est plus sûr et reste à vous.
Que se passe-t-il si la connexion tombe en panne ?
Les messages sont mis en file et rejoués quand le service revient. Un journal garde la trace de chaque échange et une alerte prévient une personne en cas d’échec répété. Rien n’est perdu en silence.