Connecter un système de planification des ressources de l'entreprise (ERP) à une boutique Shopify est relativement simple. Le vrai défi consiste à bâtir une intégration qui demeure fiable malgré les fluctuations des stocks, les modifications de commandes, les pannes du système, les mises à jour des API, les retours, les règles de tarification B2B, ainsi que les années de croissance et d'évolution de l'entreprise.
Shopify prend en charge plusieurs approches d'intégration ERP pour l'e-commerce, y compris les connecteurs préconçus, les intergiciels de plateforme d'intégration en tant que service (iPaaS) et les intégrations d'API sur mesure. Chacune peut s'avérer le bon choix selon le marchand et son infrastructure technologique.
Avant même de choisir un connecteur, vous devez vous poser certaines questions :
-
Quel système est propriétaire de chaque donnée?
-
Comment les modifications doivent-elles transiter entre les systèmes?
-
Que se passe-t-il en cas de divergence?
-
… Et comment l'entreprise saura-t-elle si une synchronisation échoue en silence ?
Dans cet article, nous aborderons tout ce que vous devez savoir pour réussir l'intégration d'un système ERP à votre boutique Shopify. Des décisions qui doivent être documentées, de l'avant du développement jusqu'aux moyens de garantir que l'intégration reste solide face aux changements naturels et à la croissance que connaîtra votre entreprise au fil du temps.
Comment Shopify devrait-il s'intégrer à un système ERP?
Une architecture d'intégration ERP solide attribue à chaque donnée importante un propriétaire faisant autorité. Par exemple, votre système ERP pourrait gérer les SKU, les coûts et l'inventaire; Shopify pourrait être propriétaire de la commande d'e-commerce initiale et du marchandisage propre à la vitrine, tandis qu'un système PIM comme Akeneo pourrait héberger les descriptions de produits enrichies, les spécifications et les actifs numériques.
D'autres systèmes peuvent conserver des copies de toutes ces informations, mais permettre à de multiples plateformes de modifier le même champ de manière indépendante crée un risque de conflit trop élevé. Assurez-vous d'avoir une source de vérité unique pour chaque élément et décidez quelle plateforme est responsable de quoi avant de lancer toute intégration.
Shopify décrit les webhooks comme un moyen de recevoir des données en temps quasi réel, mais prévient également que la livraison des webhooks n'est pas garantie et que les événements peuvent arriver dans le désordre. Pour cette raison, Shopify recommande d'effectuer des tâches de conciliation périodiques afin de repérer les changements qu'une intégration aurait pu manquer. Pour la livraison de webhooks en production, Shopify suggère Google Cloud Pub/Sub et prend également en charge Amazon EventBridge comme solutions de rechange à la gestion des livraisons de webhooks directement via HTTPS.
Déterminez quel système détient vos données d'e-commerce
Comme nous l'avons mentionné plus tôt, il est primordial de définir clairement quelle application ou quel service sera propriétaire de quel type d'information bien avant d'intégrer votre système ERP à l'équation. Il n'existe pas de système universel d'enregistrement pour l'e-commerce. La propriété doit souvent être établie au niveau du domaine, voire au niveau du champ lui-même.
Par exemple, vos données de produits opérationnelles pourraient résider dans le système ERP, tandis que le contenu enrichi, le cas échéant, devrait provenir de votre système PIM. Il en va de même pour les informations relatives aux commandes : Shopify peut être le propriétaire de la transaction initiale, alors que le système ERP détient le document de vente qui en découle.
Prenons l'exemple des produits : un détaillant possédant un vaste catalogue pourrait conserver les SKU, les coûts et les attributs logistiques dans son système ERP, tandis qu'Akeneo gère les descriptions, les spécifications, les images et d'autres données enrichies. Chez Blue Badger, nous avons l'habitude de mettre en place ce type d'architecture pour nos clients, y compris les implantations d'Akeneo et les intergiciels sur mesure reliant Akeneo à Shopify.
Shopify ou le système ERP devrait-il gérer les stocks?
Pour de nombreuses entreprises omnicanales axées sur un système ERP, ce dernier ou le WMS (système de gestion d'entrepôt) devrait gérer l'inventaire physique et les calculs des quantités disponibles à la vente, tandis que Shopify reçoit la quantité appropriée pour chaque emplacement. Ce qui compte vraiment, c'est de s'assurer que votre logique de synchronisation est irréprochable, sinon vous rencontrerez rapidement des problèmes.
Imaginez qu'une commande réduise les stocks dans Shopify. L'intergiciel transmet cette réduction au système ERP. Le système ERP recalcule l'inventaire et envoie une nouvelle baisse à Shopify. Sans une logique de synchronisation des stocks de Shopify soigneusement conçue, les deux systèmes peuvent finir par réagir l'un à l'autre plutôt que de s'appuyer sur une valeur unique faisant autorité.
Au lieu de cela, un flux de travail plus efficace et plus sûr ressemblerait à ceci :
Commande Shopify → Le système ERP traite la demande → Le système ERP calcule la disponibilité faisant autorité → Shopify reçoit la quantité disponible.
Le mappage des emplacements revêt également de l'importance. Un entrepôt, un magasin de détail et une zone de quarantaine pour les retours peuvent tous figurer dans le système ERP, mais cela ne signifie pas que chaque emplacement doit alimenter l'inventaire vendable dans Shopify.
La mutation actuelle inventorySetQuantities de Shopify inclut une protection contre la simultanéité de type comparaison-échange via changeFromQuantity. Une intégration peut fournir la quantité initiale prévue, ce qui permet à Shopify de rejeter l'opération si un autre processus a modifié cette quantité entre-temps.
Si vous œuvrez dans un secteur comme la quincaillerie, les sports motorisés, les articles ménagers, etc., où le nombre de SKU peut facilement atteindre des milliers et où la multiplicité des entrepôts et des magasins est la norme, ces règles deviennent essentielles pour garder le contrôle de l'ensemble de vos opérations.
Connecteur natif, iPaaS ou intégration Shopify sur mesure
Comme nous l'avons mentionné précédemment, il n'existe pas de « meilleure méthode » universelle pour l'intégration d'un ERP avec Shopify Plus.
Actuellement, Shopify regroupe les architectures ERP courantes en connecteurs préconçus ou certifiés, en plateformes d'intergiciels/iPaaS et en intégrations d'API sur mesure. Les connecteurs préconçus conviennent généralement mieux aux jumelages avec des systèmes standardisés, tandis qu'une solution iPaaS pour Shopify peut s'avérer utile lorsque plusieurs applications nécessitent une orchestration. Le développement sur mesure offre aux entreprises un contrôle accru, mais entraîne également davantage de logiciels à entretenir.
Avant de choisir un intergiciel pour Shopify, posez-vous les questions suivantes :
-
Peut-il prendre en charge la propriété des données requise et les consignes de synchronisation?
-
Peut-il stocker des mappages d'identifiants durables entre Shopify et le système ERP?
-
Le personnel de soutien peut-il identifier une commande échouée et la rejouer en toute sécurité?
-
Peut-il distinguer un délai d'attente temporaire de l'API d'un SKU invalide?
-
Peut-il empêcher des données d'inventaire obsolètes de remplacer des informations plus récentes?
-
Peut-il prendre en charge des tarifications B2B inhabituelles, des lots, des emplacements ou des flux de travail issus de systèmes ERP hérités?
Cela vous aidera à déterminer la méthode la mieux adaptée à l'implantation de votre système ERP.
Intégration Shopify et NetSuite
Le connecteur NetSuite d'Oracle utilise les valeurs des SKU pour faire correspondre les articles de la vitrine aux enregistrements NetSuite et recommande de maintenir la cohérence du mappage des SKU lors de la synchronisation des produits et des commandes. Oracle recommande également de conserver la logique d'affaires complexe dans NetSuite plutôt que de la dissimuler dans des mappages de connecteurs, susceptibles de devenir difficiles à dépanner.
Pour une intégration entre Shopify et NetSuite, validez les structures d'articles, les mappages d'emplacements, les ensembles (kits), les remboursements, la logique de traitement des commandes et le comportement de tarification avant de présumer qu'un connecteur standard couvrira l'ensemble du flux de travail.
Intégration Shopify et Microsoft Dynamics 365 Business Central
Le connecteur Shopify pour Business Central de Microsoft peut synchroniser les produits, les stocks, les clients et les commandes de vente depuis Shopify. Ses outils actuels exposent également les erreurs et les conflits de synchronisation et permettent de réimporter des commandes Shopify précises une fois les problèmes résolus.
Pour toute intégration entre Shopify et Microsoft Dynamics, évaluez les outils de récupération avec autant de rigueur que la liste des entités que le connecteur est en mesure de synchroniser.
Intégration Shopify et SAP
Dans les environnements SAP, une intégration entre Shopify et SAP peut impliquer l'utilisation de la solution SAP Integration Suite comme couche de connectivité et d'orchestration. SAP offre actuellement un adaptateur récepteur GraphQL pour Shopify (Shopify GraphQL Receiver Adapter) afin de relier Integration Suite aux API d'administration GraphQL de Shopify.
Toutefois, les mêmes règles de propriété s'appliquent toujours. L'intergiciel doit déplacer, transformer, orchestrer et surveiller l'information sans devenir, involontairement, une autre source faisant autorité sur les données de l'entreprise.
Concevez votre logique de synchronisation des commandes Shopify
Lors de la conception de votre logique de synchronisation des commandes Shopify, les enregistrements d'intégration devraient conserver, au minimum, l'identifiant de la commande Shopify, l'identifiant correspondant de la commande de vente dans le système ERP, le statut de synchronisation et les horodatages pertinents.
Cela permettra d'éviter un scénario d'échec courant où Shopify crée une commande, le système ERP la reçoit avec succès, mais l'intergiciel expire avant d'en recevoir la confirmation. Si l'intergiciel tente simplement une autre opération de « création de commande », le système ERP peut se retrouver avec un doublon.
Certaines mutations GraphQL de Shopify prennent en charge ou exigent des clés d'idempotence afin qu'une requête incertaine puisse être retentée en toute sécurité, sans exécuter deux fois la même opération logique. Shopify conseille d'utiliser la même clé d'idempotence lors d'une nouvelle tentative de l'opération.
Les intégrations du côté du système ERP devraient mettre en place des mesures de sécurité équivalentes, en utilisant généralement un identifiant Shopify durable comme référence externe.
Intégration de tarification personnalisée par client pour Shopify B2B
Si vous gérez également une boutique B2B sur Shopify, vous avez une autre question de propriété à régler : d'où doivent provenir les prix négociés?
Shopify B2B prend en charge les emplacements d'entreprise, les catalogues et les listes de prix associés, permettant ainsi à différents acheteurs B2B ou à des succursales d'accéder à des assortiments de produits et à une tarification spécifique.
Lorsque la tarification contractuelle est gérée dans un système ERP ou un moteur de tarification dédié, ce système demeurera souvent l'autorité en la matière, tandis que les prix qui en découlent seront synchronisés avec Shopify.
Cela dit, maintenez une distinction claire entre la tarification contractuelle et les promotions affichées en vitrine. Un rabais promotionnel appliqué lors du passage à la caisse ne devrait pas devenir automatiquement le nouveau prix dans le système ERP. Ce type d'intégration de tarification spécifique au client peut s'avérer beaucoup plus complexe qu'un simple flux de prix de base.
Que se passe-t-il lorsqu'une synchronisation ERP avec Shopify échoue?
Évidemment, lorsque vous ajoutez un système ERP à Shopify, vous devez prendre vos précautions et faire de votre mieux pour vous assurer que les systèmes connectés fonctionnent ensemble comme prévu. Toutefois, vous devez anticiper et planifier les pannes pour la plupart des intégrations à long terme.
Toute intégration prête pour la production nécessite un flux de travail de récupération. Cela pourrait ressembler à ceci :
-
Recevoir et vérifier l'événement Shopify.
-
Vérifier si l'événement a déjà été traité. Shopify fournit l’en-tête X-Shopify-Webhook-Id pour identifier les livraisons individuelles de webhooks.
-
Stocker l'événement dans une file d'attente ou dans un journal durable.
-
Valider les mappages et les informations requises.
-
Entrer l'opération dans le système ERP.
-
Réessayer lors de défaillances temporaires en utilisant un délai d'attente contrôlé.
-
Récupérer les données actuelles lorsqu'un conflit d'état obsolète survient.
-
Déplacer les données irrécupérables ou les erreurs de mappage vers une exception visible ou vers une file d'attente de lettres mortes.
-
Alerter l'équipe de soutien responsable, en fournissant suffisamment de contexte pour diagnostiquer le problème.
-
Corriger le problème et rejouer la transaction initiale en toute sécurité.
Notez que les nouvelles tentatives et la conciliation ont des objectifs distincts. Les nouvelles tentatives permettent de récupérer les opérations dont l'intégration sait qu'elles ont échoué, tandis que la conciliation peut mettre en lumière des événements ou des mises à jour que l'intégration n'a jamais reçus. Shopify recommande d’effectuer des tâches de conciliation, car les livraisons de webhooks peuvent être manquées ou mal gérées.
À quelle fréquence Shopify et un système ERP doivent-ils concilier leurs données?
Voici un autre aspect pour lequel il n'existe pas nécessairement une seule bonne réponse pour tous les marchands.
Pour les informations sensibles au temps comme les commandes et l'inventaire, une architecture robuste combine généralement une synchronisation des données en temps réel axée sur les événements avec des vérifications delta fréquentes et une conciliation programmée plus globale.
Comme point de départ, les commandes, le traitement des commandes et les retours ou remboursements peuvent être axés sur les événements, vérifiés par des conciliations delta fréquentes, puis soumis à une conciliation nocturne plus vaste. La tarification B2B, les données financières et les informations sur les produits, qui évoluent plus lentement, peuvent se contenter de vérifications programmées ou quotidiennes.
Cela dit, les entreprises gérant un grand volume de transactions pourraient nécessiter des contrôles plus stricts, tandis que les données de produits à faible rotation peuvent probablement tolérer des fenêtres d'intervention plus longues. Vous devez simplement vous assurer que votre processus de conciliation est indépendant du chemin de synchronisation habituel. Après une panne du système ERP, un déploiement d'intergiciel ou un changement de mappage, les équipes devraient également être en mesure d'exécuter immédiatement une conciliation ciblée.
Conclusion
Une intégration réussie d'un système ERP avec Shopify Plus relève tout autant de la gouvernance que du développement.
Chaque champ important doit avoir un propriétaire, chaque chemin d'intégration doit avoir une direction bien définie, et chaque transaction échouée doit pouvoir être repérée de manière visible. Cela devient encore plus crucial à mesure que votre écosystème s'élargit pour inclure des éléments tels que Shopify PDV, le B2B, un PIM, des systèmes de gestion d'entrepôt, de multiples emplacements et des intégrations ou des applications sur mesure.
Que vous planifiiez une nouvelle intégration ERP avec Shopify ou que vous soyez aux prises avec des synchronisations instables, l'équipe de Blue Badger est là pour vous. Nous pouvons cartographier la propriété de vos systèmes, évaluer les connecteurs natifs ou les plateformes iPaaS, bâtir des intergiciels sur mesure et vous offrir un soutien continu (Shopify, PDV, PIM, B2B, ERP). Discutez avec nos experts dès aujourd'hui.