Nous contacter

Comment automatiser la synchronisation de stock entre Shopify et Dolibarr avec n8n

Shopify Dolibarr synchronisation avec n8n

Dans Site Internet | Temps de lecture : 11 minutes

La synchronisation de stock entre Shopify et un ERP comme Dolibarr est l’un des problèmes les plus courants et les plus coûteux du e-commerce multi-canal. Quand le stock affiché en ligne ne correspond pas au stock physique réel, les conséquences sont immédiates : surbooking, ruptures fantômes, clients déçus, équipe noyée sous les corrections manuelles. Dans cet article, nous expliquons comment automatiser cette synchronisation avec n8n, un orchestrateur open source désormais incontournable pour ce type d’intégration. L’approche que nous décrivons est issue d’un projet réel mené pour un client e-commerce.

Pourquoi le stock e-commerce se désynchronise (et pourquoi c’est si coûteux)

Imaginez la scène : un client commande un article sur la boutique en ligne. Tout va bien, le paiement passe, la confirmation part. Sauf que cet article a déjà été vendu en boutique physique trente minutes plus tôt. Le commerçant doit alors envoyer un mail désolé, rembourser, et perdre la confiance de l’acheteur.

C’est exactement la situation que rencontrent quotidiennement les commerçants qui vendent à la fois en ligne et en boutique, ou qui ont plusieurs entrepôts. La cause est presque toujours la même : leur stock est géré dans deux endroits différents qui ne se parlent pas.

D’un côté, leur site e-commerce (souvent Shopify) gère le catalogue, les commandes, les paiements. De l’autre, leur logiciel de gestion interne, un ERP comme Dolibarr, Odoo ou Sage gère les stocks réels, les réceptions de marchandise, les bons de livraison, les factures fournisseurs. Tant que ces deux systèmes restent désynchronisés, on retrouve toujours les mêmes douleurs : du surbooking, des produits affichés « en rupture » sur le site alors qu’il y en a en stock, des écarts comptables qui s’accumulent, du temps perdu en corrections manuelles, et des clients mécontents.

Synchroniser Shopify et un ERP : les questions à résoudre avant de coder

À première vue, on se dit qu’il « suffit » de faire communiquer les deux systèmes. En réalité, dès qu’on creuse, on découvre une dizaine de questions auxquelles il faut répondre :

  • Quand une vente arrive sur Shopify, quel entrepôt ERP doit-on décrémenter ? La boutique physique ? L’entrepôt principal ? Et si plusieurs ont du stock disponible ?
  • Si plusieurs entrepôts existent, lesquels comptent dans le stock vendable en ligne ? L’entrepôt « tournée » du commercial ne devrait probablement pas être inclus.
  • Que se passe-t-il en cas de remboursement, de retour, d’annulation de commande ?
  • Comment éviter qu’un même mouvement ne soit traité deux fois si le webhook Shopify part en double ?
  • Comment détecter les écarts qui se sont accumulés (parce que la synchronisation a été coupée pendant trois jours, ou parce qu’un bug est passé inaperçu) ?
  • Comment garantir que l’inventaire physique et l’inventaire en ligne restent cohérents dans le temps, et pas juste à la mise en place ?

C’est sur ce type de projet que nous avons travaillé récemment pour un client e-commerce. Voici l’architecture que nous avons construite avec n8n, et les leçons que nous en tirons.

L’architecture de synchronisation Shopify / Dolibarr en deux phrases

Le principe est simple : on insère un orchestrateur, en l’occurrence n8n, une plateforme d’automatisation open source entre Shopify et l’ERP. Cet orchestrateur écoute les événements des deux côtés, applique les règles métier, et écrit dans le système concerné. C’est lui qui sait, par exemple, « quand une vente arrive, regarde d’abord s’il y a du stock dans l’entrepôt principal, sinon prends celui qui en a le plus, en ignorant les entrepôts internes ».

n8n est un peu l’équivalent visuel et open source de Zapier ou Make. On y dessine des « workflows » sous forme de boîtes connectées, chaque boîte étant une étape (recevoir un webhook, appeler une API, transformer des données, écrire dans une base). C’est devenu un outil de référence pour ce genre d’intégrations parce qu’il permet d’aller bien plus loin que les solutions no-code grand public, sans pour autant repartir de zéro avec du code custom. Pour un projet d’intégration e-commerce comme celui-ci, c’est le bon compromis entre rapidité de mise en œuvre et profondeur des règles métier.

Les 4 flux d’automatisation qui maintiennent le stock synchronisé

Pour notre client, le système repose sur quatre flux principaux. Chacun répond à un besoin précis et tourne en parallèle des autres.

1. Le flux temps réel : Shopify vers Dolibarr

Déclenché à chaque commande, modification ou remboursement sur Shopify, ce flux décrémente immédiatement le stock dans l’ERP. C’est là qu’on applique la règle métier de décrémentation : on prend en priorité l’entrepôt principal s’il a assez de stock, sinon on bascule sur celui qui en a le plus, en excluant les entrepôts internes (test, tournée). Si rien n’est possible, on lève une alerte plutôt que d’écrire n’importe quoi.

2. Le flux régulier : Dolibarr vers Shopify

Toutes les trois minutes, le workflow interroge l’ERP pour détecter les mouvements de stock qui ne viennent pas de Shopify : réception d’une commande fournisseur, ajustement manuel, retour client en boutique, transfert entre entrepôts. Pour chaque produit modifié, il recalcule le stock vendable et pousse la nouvelle quantité vers Shopify. C’est ce flux qui maintient le site à jour quand l’équipe travaille en interne sans passer par le e-commerce.

3. La synchronisation complète, à la demande

C’est l’opération qu’on lance manuellement, généralement au démarrage du système et de temps en temps en contrôle. Elle compare le stock de chaque produit côté ERP et côté Shopify et identifie tous les écarts. On la lance d’abord en mode « simulation », on ne touche à rien, on liste juste les différences pour validation, puis on lance la version « appliquer » qui corrige tout.

Sur notre projet, la première synchronisation complète portait sur 732 produits et a identifié 134 écarts à corriger, dont certains très significatifs : un produit avait 73 unités en stock physique mais affichait seulement 13 sur le site. Sans cette synchronisation, ce stock immobilisé n’aurait jamais été vendu.

4. L’audit du catalogue

Lancé à la demande, ce flux fait quelque chose de différent des trois précédents : il compare les catalogues des deux systèmes, par code-barres EAN. Il sépare les produits en catégories : ceux dont le mapping est sain (un produit ERP correspond exactement à une variante Shopify), ceux qui sont orphelins (existent dans l’ERP mais pas sur le site, ou inversement), et ceux en doublon (plusieurs produits qui partagent le même code-barres, ce qui crée des ambiguïtés).

Cet audit est le préalable indispensable à toute synchronisation : on ne peut synchroniser proprement que les produits avec un mapping sain. C’est ce qui distingue un projet d’intégration sérieux d’un script bricolé.

Trois principes essentiels pour réussir un projet d’automatisation e-commerce

L’audit catalogue est la base ne la sautez jamais

Sur le papier, notre client avait « à peu près 5000 produits ». Dans la réalité, après analyse, seulement 732 avaient un mapping sain entre les deux systèmes, exploitable pour de la synchronisation automatique. Les autres souffraient de codes-barres manquants, de doublons accumulés sur des années, de variantes Shopify créées sans contrepartie ERP.

Avant même de parler synchronisation, il faut savoir ce qu’on synchronise et c’est presque toujours là que se cache l’essentiel du travail. Cette phase d’audit révèle aussi des problèmes business plus profonds : produits jamais vendus en ligne, doublons de référencement, variantes obsolètes. C’est une opportunité de nettoyage qui dépasse la seule question du stock.

L’idempotence : la garantie qu’on peut rejouer sans casser

L’idempotence est un principe technique qui dit ceci : si on rejoue plusieurs fois le même événement, le résultat doit être le même qu’une seule exécution. Concrètement, sur notre projet, chaque mouvement de stock est étiqueté avec un identifiant unique dérivé de la commande Shopify. Avant de créer un nouveau mouvement dans l’ERP, le système vérifie si cet identifiant existe déjà. Si oui, il ne fait rien.

L’implication métier est directe : on peut « rejouer » une commande Shopify deux ou trois fois sans risque de doubler le décrément de stock. À la moindre micro-coupure réseau, à la moindre relance manuelle d’un webhook, le système reste cohérent. Sans ce mécanisme, on commence à accumuler des erreurs invisibles qui prennent des semaines à diagnostiquer.

L’observabilité : un système automatisé n’est pas une boîte noire

Ce qu’on construit n’est pas un robot qu’on lance et qu’on oublie. À chaque exécution, le système écrit dans un Google Sheet partagé qui sert de tableau de bord : combien de mouvements traités, combien d’erreurs, quelle durée, quels produits touchés. Le client peut ouvrir ce sheet à tout moment et voir l’activité de son système. Et chaque matin, un récapitulatif quotidien arrive automatiquement dans son canal Slack.

Sans cette couche de transparence, le client n’aurait jamais la visibilité nécessaire pour faire confiance à un système qui touche à son inventaire et il aurait raison. L’observabilité n’est pas un bonus : c’est ce qui transforme une automatisation « qui marche » en automatisation « sur laquelle on peut s’appuyer en confiance ».

Ce que l’automatisation Shopify-ERP change concrètement au quotidien

Avant : un commerçant qui doit consacrer plusieurs heures par semaine à rapprocher manuellement ses stocks, à corriger des erreurs détectées par hasard, à gérer des clients déçus, à perdre confiance dans ses propres chiffres.

Après : un système qui tourne en arrière-plan, qui notifie en cas d’anomalie, qui maintient l’inventaire cohérent en continu, et qui rend possibles les décisions business : quand puis-je relancer une promotion sans risquer la rupture ? Mes ventes en ligne couvrent-elles vraiment mes coûts d’achat ? Quels produits dorment dans l’entrepôt ?

Ce n’est pas une magie. C’est un investissement initial, quelques semaines pour analyser, concevoir, coder les règles métier, tester qui paie, ensuite chaque jour pendant des années. Le calcul est rapide à faire : combien d’heures hebdomadaires votre équipe passe-t-elle aujourd’hui à corriger des écarts, à répondre à des clients déçus, à compter manuellement ? Multipliez par 52 semaines, multipliez par le coût horaire complet. C’est généralement bien au-delà de l’investissement nécessaire pour automatiser.

Au-delà du stock : les briques d’automatisation à empiler ensuite

L’automatisation de la synchronisation de stock entre Shopify et un ERP n’est qu’une brique parmi d’autres. Une fois ce socle en place, on peut empiler facilement d’autres automatisations à forte valeur :

  • Synchronisation des prix et des promotions entre les canaux.
  • Génération automatique de bons de commande fournisseur quand un seuil de stock est franchi.
  • Alertes business intelligentes : un produit historiquement en rotation rapide qui ralentit, une catégorie qui perd en marge.
  • Tableaux de bord temps réel pour le pilotage.
  • Synchronisation des fiches produits, des photos, des descriptions multilingues.

Le vrai piège, c’est de vouloir tout faire d’un coup. La bonne approche c’est l’inverse : identifier le point de douleur le plus coûteux, le résoudre proprement avec les principes d’audit, d’idempotence et d’observabilité, observer les bénéfices concrets, puis itérer.

Synchroniser Shopify avec votre ERP : par où commencer

Si vous reconnaissez votre situation dans ce que nous avons décrit : stock désynchronisé, surbooking, corrections manuelles chronophages, perte de confiance dans les chiffres, sachez que ces problèmes ont des solutions éprouvées. La synchronisation automatisée Shopify-ERP avec n8n n’est plus une infrastructure de luxe : c’est devenu un standard pour les e-commerçants sérieux.

La première étape n’est jamais technique. C’est un audit honnête de votre situation actuelle : combien de produits, combien d’entrepôts, quel ERP, quels écarts visibles, quel temps perdu. Souvent, un échange d’une heure suffit à dégrossir le terrain et à voir si un projet d’automatisation a du sens chez vous, et avec quelle priorité.

L’équipe SeriousWeb a accompagné plusieurs e-commerçants sur ce type d’intégration. N’hésitez pas à nous contacter pour discuter de votre cas.

A propos de l'auteur
Loïc Chandelon
Développeur / Intégrateur