Le connecteur Shopify, publié pour Odoo 17, 18, 19 et 20, est livré avec les deux tâches de stock actives : Shopify Push Stock (d'Odoo vers Shopify, toutes les 20 minutes) et Shopify Pull Stock (Shopify → Odoo), toutes les 6 heures. Que les deux soient actives ne veut pas dire que les deux font référence. Décidez laquelle est la référence et laissez l'autre se contenter de vous alerter.
Première question : où la marchandise bouge-t-elle physiquement ?
Si vous réceptionnez les achats, préparez les commandes et faites l'inventaire dans Odoo, Odoo est la référence. Shopify a seulement besoin de savoir combien il peut vendre. Si vous traitez encore les commandes depuis l'admin Shopify et qu'Odoo ne fait que facturer, Shopify reste la référence pour l'instant, et le premier chantier est de faire passer l'entrepôt dans Odoo.

Deuxième question : combien d'emplacements avez-vous ?
Shopify travaille avec des emplacements (locations) et Odoo avec des entrepôts. Le connecteur a son propre mapping dans Configuration › Mappings › Locations. Si vous avez une boutique physique et un entrepôt, chaque emplacement Shopify doit pointer vers son entrepôt Odoo. Sans ce mapping, le stock qui arrive à Shopify est la somme de tout, et la boutique finit par vendre ce qui se trouve dans une autre ville.

Troisième question : comment arrivent les commandes ?
Par défaut, par webhooks : Shopify notifie Odoo de chaque commande et Odoo traite les notifications chaque minute. Les notifications en échec sont relancées toutes les 30 minutes. Il existe aussi une vérification périodique des commandes toutes les 5 minutes, désactivée après l'installation. Ne l'activez que si votre Odoo ne peut pas recevoir de notifications depuis internet, par exemple derrière un pare-feu.
| Situation | Configuration recommandée |
|---|---|
| Odoo accessible depuis internet | Webhooks (par défaut) |
| Odoo derrière un pare-feu | Activer la vérification périodique des commandes |
| Plusieurs emplacements avec leur propre stock | Associer chaque emplacement à son entrepôt |
| Stock qui bouge aussi dans l'admin Shopify | Garder la lecture du stock et vérifier les écarts |
Quatrième question : quel type d'application utilisez-vous ?
Il y a deux façons de connecter la boutique. Si l'application est autorisée dans Shopify, vous connectez avec le bouton Connect with Shopify, et le client secret doit d'abord être enregistré dans FlexigoTech Cloud. Si c'est votre propre application, elle n'a pas besoin d'autorisation : cliquez simplement sur Connect. Odoo vous le rappelle si vous appuyez sur le mauvais bouton. Pour passer d'un type à l'autre, supprimez d'abord l'application de FlexigoTech Cloud.

Pour forcer une synchronisation
Si vous modifiez le mapping des emplacements ou corrigez un chiffre de stock à la main, inutile d'attendre le passage suivant. Configuration › Sync Now lance la synchronisation sur-le-champ, et le journal technique de synchronisation vous dit ce qui a été envoyé et si Shopify l'a accepté.
Une fois la décision prise
Avec Odoo comme référence, le plan de réassort dans Catalog › Restock Plan devient utile : il classe chaque produit comme OK, à surveiller, à recommander maintenant ou en rupture. C'est la partie que les boutiques qui suivaient leur stock dans un tableur apprécient le plus.

Si le stock d'un article oscille entre deux chiffres d'une synchronisation à l'autre, il y a presque toujours deux systèmes qui font référence en même temps. Choisissez-en un.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector 20.0 (5aebd133): data/ir_cron_data.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (5aebd133): views/menu_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (5aebd133): models/shopify_instance.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (5aebd133): models/shopify_product_analytics.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (5aebd133): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
