Où se trouve le bouton et qui le voit
Le bouton Récupérer le stock se trouve sur la fiche de chaque boutique, dans l'écran Instances Shopify (Shopify Instances). Ces fiches s'ouvrent depuis le menu Shopify › Configuration › Boutiques (Shopify › Configuration › Stores). Si vous n'avez pas le droit d'accès à un niveau, vous ne voyez pas ce niveau : Configuration demande Opérateur (Operator) et Shopify demande Lecteur (Viewer). Le bouton ne dépend d'aucune condition de la vue : il est toujours visible, et il existe dans Odoo 17, 18, 19 et 20. Ce qui suit décrit le code d'Odoo 20.

Selon la langue d'Odoo, le bouton s'appelle Obtener stock en espagnol, Bestand abrufen en allemand, Récupérer le stock en français, Recupera stock en italien et Obter stock en portugais.


Étapes pour l'utiliser
- Ouvrez
Shopify › Configuration › Boutiqueset entrez dans la fiche de la boutique. - Allez dans l'onglet
Opérations(Operations), groupeParamètres de synchronisation(Sync Settings), et vérifiez queSynchronisation du stock activéeest cochée. Avec les valeurs par défaut, elle ne l'est pas, et avec la case décochée le bouton ne fait rien pour cette boutique. - Regardez le champ
Société(Company) de la fiche : le bouton ne travaille qu'avec les produits de cette société. - Si vous voulez savoir quel emplacement Shopify sera interrogé, regardez
Default Location Giddans l'ongletWebhooks. Son aide indiqueGID d'emplacement GraphQL Shopify utilisé pour la synchronisation des stocks.S'il est vide, il est rempli avec le premier emplacement renvoyé par Shopify. C'est ce que fait le bouton au clic, et aussi, sans que vous touchiez à rien, la tâche planifiéeEnvoyer le stock vers Shopify(Shopify Push Stock), qui s'exécute toutes les 20 minutes et est active à l'installation. - Cliquez sur
Récupérer le stock. - Une fois terminé, vérifiez le stock des produits dans l'emplacement d'Odoo qui a été utilisé (le choix est expliqué plus bas).
Ce qu'il fait en interne, dans l'ordre
- Si
Synchronisation du stock activéen'est pas cochée, il passe à la boutique suivante sans ouvrir aucun enregistrement. - Il ouvre un enregistrement de synchronisation de type lecture du stock, en cours.
- Il cherche les produits de cette boutique liés à Shopify : les produits actifs, avec identifiant d'article d'inventaire et dont le produit appartient à la société de la boutique. S'il n'y en a aucun, il clôture l'enregistrement comme terminé, avec une note, et s'arrête là.
- Il choisit l'emplacement d'Odoo : l'emplacement Shopify marqué comme principal et auquel un emplacement d'Odoo est affecté. S'il n'existe pas, il utilise l'entrepôt de la boutique ou, à défaut, le premier entrepôt de la société, et son emplacement de stock. S'il n'en trouve aucun, l'enregistrement passe en échec et cette boutique est interrompue, sans lancer le message d'erreur décrit plus bas.
- Il détermine l'emplacement Shopify : celui de
Default Location Gidou, s'il est vide, le premier renvoyé par Shopify, qui est alors enregistré dans ce champ. - Il demande à Shopify la quantité disponible de chaque article dans cet emplacement, par blocs de 100 articles maximum.
- Pour chaque produit dont Shopify a renvoyé une quantité, il ajuste le stock de l'emplacement d'Odoo de la différence entre la quantité de Shopify et celle qu'Odoo a actuellement dans cet emplacement, et note la date de dernière synchronisation du stock de ce lien. Les produits sans quantité renvoyée sont ignorés. Si l'un échoue, il est compté comme une erreur et le traitement continue avec les autres.
- Il clôture l'enregistrement avec les produits mis à jour et les erreurs : correct s'il n'y a pas eu d'erreurs, partiel s'il y a eu des erreurs et aussi des mises à jour, en échec s'il y a eu des erreurs et aucune mise à jour.
Ce qui change et ce qui ne change pas
Le stock d'Odoo change : la quantité de chaque produit dans l'emplacement choisi devient la quantité disponible indiquée par Shopify. Le bouton lit dans Shopify et applique dans Odoo.
La tâche planifiée Envoyer le stock vers Shopify va dans le sens inverse : toutes les 20 minutes, active à l'installation, elle envoie des quantités d'Odoo vers Shopify, et ce qu'elle envoie est la quantité libre (celle qui existe moins celle déjà réservée). Gardez-le en tête au moment de décider qui fait autorité sur le stock.
L'erreur possible
En cliquant sur Récupérer le stock, l'action peut s'arrêter avec La synchronisation du stock Shopify a échoué pour … : … (Shopify stock pull failed for …: …).
- Quand elle apparaît : quand quelque chose échoue pendant l'exécution de la boutique. Les échecs d'un produit isolé ne la déclenchent pas : ils sont comptés comme des erreurs et le reste continue.
- Ce qu'elle contient : le premier emplacement est le
Domaine de la boutique(Shop Domain) de la fiche ; après les deux-points figure le texte de l'erreur d'origine. - Ce qui reste : l'enregistrement de cette exécution reste en échec avec l'erreur.
- Que faire : lisez le motif indiqué après les deux-points et corrigez-le. Pour savoir de quelle boutique il s'agit, comparez avec
Domaine de la boutique, dont l'aide demande le domaine exact de Shopify (par exempleflexigobe.myshopify.com).
Si la connexion passe par FlexigoTech Cloud et que le service rejette l'appel et le met en pause, l'enregistrement de cette exécution est supprimé au lieu de rester en échec.
Prix et aide de FlexigoTech
Le module est en paiement unique par version d'Odoo (17, 18, 19 et 20) et nécessite l'abonnement à FlexigoTech Cloud, formule Connecteur : 49 €/mois ou 490 €/an HT, jusqu'à 3 comptes de la plateforme. Le prix de chaque version figure sur la fiche d'Odoo Apps et sur la page du module. Avec l'abonnement, le module pour les nouvelles versions d'Odoo est inclus si vous l'avez acheté sur flexigotech.com ; sur l'Odoo App Store, chaque version s'y achète.
Si vous êtes en train de mettre en place Odoo et que vous voulez bien connecter le stock de Shopify, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.
À 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 (d7e627b4): views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
