← Blog

Connecter Sage 100 à Shopify : synchronisation stock en temps réel expliquée

La plupart des intégrateurs ont une réponse toute prête quand vous demandez comment connecter votre Sage 100 à Shopify : un middleware SaaS, facturé mensuellement, qui s'intercale entre les deux systèmes. Le discours est propre. La réalité, c'est que vous devenez dépendant d'un tiers que vous n'avez pas choisi, en payant un abonnement récurrent pour une boîte noire que vous ne contrôlez pas. Il existe une autre voie.

Le problème avec les middlewares SaaS

Les connecteurs middleware pour les intégrations ERP-Shopify sont vendus comme des solutions clé en main. En pratique, ils impliquent des coûts récurrents — généralement entre 100 € et 500 € par mois — qui s'accumulent indéfiniment tant que votre activité tourne.

Au-delà du coût, la dépendance est structurelle. Si le fournisseur SaaS ferme, change ses tarifs, ou arrête simplement de supporter votre version de Sage, toute votre intégration est en danger. Et quand une synchronisation échoue — ce qui arrivera tôt ou tard — le message d'erreur que vous recevez est souvent cryptique. Vous ne pouvez pas regarder à l'intérieur de la boîte noire pour comprendre ce qui s'est passé.

Une connexion directe entre Sage 100 et Shopify supprime cet intermédiaire entièrement. Elle nécessite un investissement de développement initial, mais le résultat est un système que vous possédez, que vous pouvez auditer, et que vous pouvez modifier sans demander la permission à personne.

Ce qu'est le Business Object Interface de Sage 100

Sage 100 expose une interface programmatique appelée Business Object Interface, ou BOI. Il s'agit d'une couche COM installée avec l'application Sage 100 qui permet à des scripts externes de lire et d'écrire dans le modèle de données Sage en utilisant la même logique métier que l'application elle-même — règles de validation, déclencheurs, et tout le reste.

Concrètement, vous pouvez utiliser le BOI pour interroger le niveau de stock actuel d'une référence, récupérer le prix de vente d'une famille de produits, ou pousser une nouvelle commande client directement dans Sage sans aucune ressaisie manuelle. Le BOI est accessible depuis n'importe quel langage capable d'appeler des objets COM : Python via la bibliothèque win32com est l'approche la plus courante, mais Node.js avec des add-ons natifs ou des scripts C# fonctionnent également.

Aucune licence Sage supplémentaire n'est nécessaire. Si Sage 100 tourne déjà sur un serveur Windows, le BOI est déjà disponible.

Comment fonctionne l'API Shopify

Shopify expose deux mécanismes complémentaires pour l'intégration. L'API REST Admin permet d'interroger et de mettre à jour des ressources — niveaux de stock, prix des produits, statuts des commandes — via des requêtes HTTP standard authentifiées par un token d'accès.

Les webhooks gèrent la direction entrante : quand une commande est créée sur Shopify, quand elle est expédiée, quand un produit est supprimé, Shopify envoie un POST HTTP vers une URL que vous contrôlez. Votre script reçoit l'événement et agit dessus en quasi temps réel.

Une contrainte à garder en tête : l'API a des limites de taux. Le plan Basic autorise environ 2 requêtes par seconde ; les plans supérieurs augmentent ce plafond. Pour des mises à jour de stock sur de grands catalogues, un mécanisme de file d'attente est nécessaire pour rester dans les limites et éviter l'erreur 429.

Architecture d'une connexion directe

L'intégration est un script — typiquement un processus Python ou Node.js — qui fait le pont entre les deux systèmes. Il tourne sur le même serveur Windows que Sage 100, ou sur un serveur avec accès réseau à l'installation Sage.

Le flux de synchronisation du stock va de Sage vers Shopify : le script interroge le BOI pour les niveaux de stock mis à jour à intervalles réguliers ou sur déclencheur, puis appelle l'API Inventory de Shopify pour mettre à jour la quantité correspondante. En mode delta uniquement — pas besoin de pousser tout le catalogue à chaque exécution.

Le flux des commandes va dans l'autre sens : un endpoint webhook reçoit l'événement « order created » de Shopify, valide le payload, et utilise le BOI pour créer la commande de vente correspondante dans Sage — client, lignes, quantités et adresse de livraison inclus.

Ce qui se synchronise

Une intégration directe bien construite couvre généralement quatre types de données. Les niveaux de stock sont mis à jour de Sage vers Shopify après chaque mouvement d'inventaire — ventes, réceptions, ou ajustements manuels. Les prix sont poussés de Sage vers Shopify quand un tarif change, pour que la boutique en ligne reflète toujours le tarif en cours.

Les commandes passent de Shopify vers Sage automatiquement au moment de la validation, supprimant la ressaisie manuelle. Les fiches clients sont créées ou mises à jour dans Sage à la première commande, constituant une base client unifiée qui inclut acheteurs en boutique et en ligne.

Quand un middleware reste justifié

Une connexion directe est le bon choix pour la plupart des commerçants avec un catalogue établi et une équipe de développement — ou un partenaire développement — capable de maintenir l'intégration dans la durée.

Il existe des cas où un middleware a du sens. Les volumes de commandes très élevés — plusieurs milliers de commandes par jour — peuvent bénéficier d'une solution industrialisée avec une infrastructure dédiée et des garanties de haute disponibilité. Les équipes sans développeur interne qui ne peuvent pas s'engager à maintenir un script trouveront un middleware géré plus simple à opérer. Et les configurations multi-canaux connectant Sage à Amazon, WooCommerce et Shopify simultanément peuvent justifier un hub qui gère les trois plutôt que trois intégrations custom séparées.


Vous utilisez Sage 100 et souhaitez le connecter à Shopify sans abonnement récurrent ? Contactez-nous — nous auditons votre configuration actuelle et concevons l'intégration directe adaptée à votre catalogue et à votre volume de commandes.

Un projet ?

Parlons de votre site web ou de votre CRM.

Prendre contact →