Quand il apparaît et ce qu'il demande
Le bouton Pull Stock se trouve sur la fiche de Shopify Instances, qui s'ouvre depuis le menu Ventes › Shopify › Control Center › Instances (avec Odoo en français, le premier niveau s'appelle Ventes). Il existe dans les branches 17, 18, 19 et 20 du module et il est toujours visible, sans aucune condition.

Pull Stock et ce qui peut l'arrêter.Pour qu'il fasse quelque chose, l'instance doit avoir la case Récupérer le stock depuis Shopify activée : Shopify devient ainsi le propriétaire du stock. Selon son aide, elle ne peut pas être activée en même temps que l'envoi de stock (Sync Stock Enabled) ni avec une autre boutique qui ramène du stock vers le même emplacement Odoo. L'aide ajoute que ce que Shopify compte comme endommagé, en contrôle qualité ou comme stock de sécurité entre dans son stock : dans Odoo, c'est du stock comme le reste.

Pas à pas
- Commencez par la voie automatique. Sur la fiche de
Shopify Instances, ongletOperations, groupeParamètres de synchronisation(Sync Settings), activezRécupérer le stock depuis Shopify. Elle est désactivée par défaut. - Activez aussi la tâche planifiée
Shopify Pull Stock (Shopify → Odoo): elle s'exécute toutes les six heures et elle est désactivée à l'installation. L'aide de la case le précise : l'activer ne lance pas la récupération. - Cliquez sur
Pull Stockuniquement quand vous voulez récupérer le stock maintenant, sans attendre la tâche. C'est la voie manuelle, et elle suit ce qui suit. - Avant de créer quoi que ce soit, le bouton vérifie que la case est activée. Si ce n'est pas le cas, il s'arrête et ne change rien.
- Il vérifie ensuite que la personne qui clique a des droits sur l'Inventaire, car la récupération fait des ajustements d'inventaire. Sinon, il s'arrête avec le message de droits du tableau.
- Il crée une entrée dans le journal de synchronisation, de type récupération de stock, en cours.
- Il cherche les liens de produit actifs de cette instance qui ont un article d'inventaire Shopify et écarte ceux d'un produit d'une autre société lié avant une correction. S'il n'en reste aucun, il clôture le journal comme terminé, avec une note, et ne change rien.
- Il détermine l'emplacement Odoo : celui lié à l'emplacement principal de Shopify ou, à défaut, l'emplacement de stock de l'entrepôt de la boutique (de sa société). S'il n'en trouve aucun, il marque le journal comme échoué et y laisse le motif.
- Il vérifie qu'aucune autre boutique active avec la case activée ne ramène du stock vers ce même emplacement, vers un emplacement qu'il contient ou vers un emplacement qui le contient. Si c'est le cas, il marque le journal comme échoué et s'arrête sans toucher au stock.
- Il utilise l'emplacement Shopify enregistré dans
Default Location Gid(ongletWebhooksde la fiche). S'il est vide, il demande à Shopify son premier emplacement et l'enregistre là. - Il demande à Shopify, par blocs de cent articles, combien il y en a dans cet emplacement (ce qui s'y trouve, y compris ce qui est déjà engagé).
- Il saute les produits suivis par lots ou numéros de série, ceux qui ne sont pas stockés et les kits, et les note. Les produits pour lesquels Shopify n'a renvoyé aucune quantité sont laissés tels quels.
- Si, dans l'emplacement Odoo (avec ses sous-emplacements), il y a un comptage en attente pour ce produit, il ne l'écrase pas : il le laisse sans ajustement et le note.
- Il calcule l'écart : stock de Shopify, moins ce qu'Odoo a livré depuis cet emplacement (avec ses sous-emplacements) pour des commandes ouvertes de la boutique et que Shopify n'a pas encore traité, moins ce qu'Odoo a de disponible dans l'emplacement. Il ne compte pas ce que le connecteur a traité ni les commandes que Shopify a traitées par une autre voie.
- Si l'écart est positif, il crée et applique un ajustement d'inventaire qui augmente le stock de l'emplacement. S'il est négatif, il le diminue en retirant du stock de l'emplacement (sous-emplacements et colis inclus, jamais ce qui appartient à un propriétaire), dans l'ordre de sortie. Si Odoo n'a pas assez de stock ajustable pour diminuer, il n'ajuste pas ce produit et le compte comme une erreur.
- Chaque produit est traité à part : si l'un échoue, il est compté comme une erreur et le suivant est traité. Quand il ajuste un produit, il note la date de synchronisation sur son lien.
- Il clôture le journal avec une note : combien de quantités ont été récupérées et quels produits ont été sautés, laissés avec un comptage en attente ou n'ont pas pu être diminués. Le statut est correct s'il n'y a pas eu d'erreurs, partiel s'il y a eu des erreurs et que quelque chose a été mis à jour, et échoué s'il y a eu des erreurs et que rien n'a été mis à jour.
Quelques messages que peut afficher le bouton
| Message | Quand il apparaît | Que faire |
|---|---|---|
Récupérer le stock depuis Shopify fait des ajustements d'inventaire : il faut des droits sur l'Inventaire. (Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights.) | Au clic sur le bouton sans droits sur l'Inventaire. | Faire cliquer un utilisateur ayant des droits sur l'Inventaire. |
La synchronisation du stock Shopify a échoué pour … : … (Shopify stock pull failed for …: …) | Si quelque chose échoue pendant la récupération, une fois le journal créé. Le domaine de la boutique (Shop Domain) vient d'abord, puis le motif. | Lisez le motif après les deux points : le journal reste en échec avec ce texte. |
Si FlexigoTech Cloud a mis le service en pause, le code supprime l'entrée du journal et ne la laisse pas en échec ; dans ce cas, le message d'échec de la dernière ligne n'est pas généré.

Que vérifier ensuite
Ouvrez le journal de cette exécution : son statut et sa note indiquent combien de quantités ont été récupérées et quels produits ont été sautés, laissés à cause d'un comptage en attente ou n'ont pas pu être diminués. Les ajustements restent dans l'historique d'inventaire et sont valorisés comme n'importe quel autre. Si un produit apparaît dans la note à cause d'un comptage en attente, la note elle-même indique de l'appliquer ou de le supprimer dans Odoo.
Coût et aide
Le module coûte 9 € par version d'Odoo, pour 17, 18, 19 et 20, HT et en paiement unique. Il nécessite en plus l'abonnement à FlexigoTech Cloud : le plan Conector est à 49 €/mois ou 490 €/an HT.
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_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Code du module : flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
