Aller au contenu principal
Shopify

Bouton « Envoyer le stock » de Shopify Connector for Odoo : ce qu'il fait pas à pas

Le bouton Envoyer le stock (Push Stock) envoie à Shopify la quantité libre de chaque produit lié à la boutique ; Odoo le fait déjà seul avec une tâche planifiée toutes les 20 minutes, le bouton sert donc à le lancer sur-le-champ. Voici quand il s'affiche, ce qu'il vérifie, ce qui change dans Odoo et quels messages il peut afficher.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
Shopify
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 20.0 · dans les sources citées à la fin
Lecture
6 min

Où se trouve le bouton et quand faut-il l'utiliser

Où se trouve le bouton Envoyer le stock (Push Stock) et quand apparaît-il ?

Il se trouve sur la fiche de la boutique, dans l'écran Instances Shopify (Shopify Instances). On y accède par le menu Shopify › Configuration › Boutiques (Shopify › Configuration › Stores) ; pour le voir, il faut les droits demandés à chaque niveau : Lecteur (Viewer) pour Shopify et Opérateur (Operator) pour Configuration. Le bouton n'a aucune condition de visibilité : il s'affiche sur la fiche dans les versions 17, 18, 19 et 20 d'Odoo. Le fonctionnement décrit ci-dessous est celui du code du module dans Odoo 20.0. Avec Odoo en espagnol, le bouton s'appelle Envoyer le stock ; en allemand, Bestand übertragen ; en français, Envoyer le stock ; en italien, Invia stock ; en portugais, Envoyer le stock.

Schéma réalisé avec du code : le menu Shopify › Configuration › Stores, le bouton Push Stock et, sur le côté, les messages d'emplacement qui peuvent l'arrêter
Schéma réalisé avec du code à partir du code publié du module, ce n'est pas une capture d'Odoo : le menu, le bouton et les messages d'emplacement qui peuvent l'arrêter.
Schéma réalisé avec du code du texte Push Stock selon la langue : Envoyer le stock en espagnol, Bestand übertragen en allemand, Envoyer le stock en français, Invia stock en italien et Envoyer le stock en portugais
Schéma réalisé avec du code à partir des traductions publiées du module, ce n'est pas une capture d'Odoo : comment s'affiche le texte du bouton selon la langue d'Odoo.

Dois-je l'utiliser ou Odoo envoie-t-il le stock tout seul ?

Le chemin normal est automatique : la tâche planifiée Envoyer le stock vers Shopify (Shopify Push Stock) arrive à ce même envoi toutes les 20 minutes et elle est active dès l'installation. Le bouton est l'exception : il sert à lancer l'envoi tout de suite, sans attendre la tâche. Une fois terminé, le champ Dernier envoi de stock (Last Stock Push) porte la date ; il est visible sur la fiche et dans la liste des boutiques, en lecture seule, et c'est le code qui l'écrit, pas vous. Le bouton Réinitialiser la synchronisation (Reset Sync) le vide.

Et le stock dans l'autre sens, de Shopify vers Odoo ?

C'est une autre tâche : Importer le stock Shopify (Shopify → Odoo) (Shopify Pull Stock (Shopify → Odoo)), toutes les 6 heures et active à l'installation. Sa méthode n'agit que si la case Synchronisation du stock activée (Sync Stock Enabled) est cochée ; elle se trouve sur la fiche de Instances Shopify, onglet Opérations (Operations), groupe Paramètres de synchronisation (Sync Settings), et elle est décochée par défaut. La méthode du bouton Envoyer le stock, telle qu'elle est écrite, ne regarde pas cette case.

Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vidéo : Your Odoo doesn't talk to Amazon, Temu or Shopify? (vidéo en anglais)

Ce qu'il vérifie et ce qu'il envoie

Quels produits envoie-t-il ?

Pour chaque boutique, le module cherche les produits liés à celle-ci qui sont actifs et ont un article d'inventaire Shopify attribué. Il écarte ensuite ceux d'une société différente de celle de la boutique (Société, Company), même si le lien existait auparavant. S'il n'en reste aucun, il n'envoie rien à Shopify : il met seulement la date dans Dernier envoi de stock et passe à la boutique suivante.

Quelle quantité envoie-t-il : celle qui existe ou la disponible ?

La libre : les quantités en stock moins ce qui est déjà réservé, calculée avec la société de la boutique, arrondie à un nombre entier et ramenée à zéro s'il n'y a pas de valeur. La raison, selon le code lui-même : une commande Shopify confirmée dans Odoo réserve l'unité, mais le stock ne baisse qu'à la validation de la livraison. Si l'on envoyait les quantités en stock, entre la vente en ligne et l'expédition Shopify verrait de nouveau cette unité comme disponible, et pour la dernière unité un second client pourrait l'acheter. Plus de détails sur les commandes et les bons de livraison dans ce que le module ajoute aux ventes et dans ce qu'il ajoute aux bons de livraison.

Si j'envoie à nouveau les mêmes quantités, Shopify les ignore-t-il comme un doublon ?

Non. Chaque exécution de l'envoi génère sa propre clé et la fait varier à chaque lot, précisément pour que des quantités identiques envoyées plus tard ne soient pas prises pour un doublon. L'envoi se fait par lots de cent produits au maximum. Dans chaque lot, la quantité disponible dans Shopify est fixée telle que la calcule Odoo, avec le motif de correction et sans la comparer à ce que Shopify a à ce moment-là.

Ce qui change et quelles erreurs peuvent survenir

Quel emplacement Shopify utilise-t-il et qu'est-ce qui change dans Odoo ?

Il cherche d'abord l'emplacement : il utilise celui que la boutique a déjà enregistré et, s'il n'y en a aucun, il interroge Shopify, prend le premier qu'il renvoie et enregistre son identifiant et son nom. Dans Odoo, ce qui change, ce sont des dates : après l'envoi de chaque lot, il note la date de synchronisation du stock sur chaque produit de ce lot, et à la fin il écrit Dernier envoi de stock dans la boutique. Si une erreur interrompt l'action, le message s'affiche et cette dernière date n'est pas enregistrée.

Quels messages d'emplacement ou de connexion peuvent s'afficher en cliquant sur le bouton ?

Ceux-ci. Aucun emplacement Shopify trouvé pour … (No Shopify locations were found for …) : la boutique n'avait pas d'emplacement enregistré et Shopify n'en a renvoyé aucun ; à la place des points figure le domaine de la boutique. Shopify n'a pas retourné d'identifiant d'emplacement valide. (Shopify did not return a valid location id.) : Shopify a renvoyé un emplacement sans identifiant. Ces deux messages d'emplacement ne peuvent apparaître que lorsque l'emplacement enregistré manque. Il y a aussi Aucune connexion Shopify pour …. Ouvrez l'onglet Connection et suivez les étapes de configuration. (Shopify is not connected for …. Open the Connection tab and follow the setup steps.) : la boutique n'a toujours pas de jeton d'accès ; à la place des points figure le nom de la boutique. Ouvrez sa fiche, onglet Connection, et suivez les étapes de configuration.

Et les messages de l'appel à Shopify ?

Ils s'affichent aussi en cliquant sur le bouton. L'appel GraphQL Shopify a échoué (…) : … (Shopify GraphQL call failed (…): …) s'affiche quand Shopify répond avec un code d'erreur égal ou supérieur à 400 ; le message contient ce code et le début de la réponse. Avant de renoncer, le module traite le 401 et le 429 : face à un 401, il tente de renouveler l'accès et recommence, s'il y a un jeton de renouvellement ou des identifiants client ; face à un 429, il attend et recommence, avec jusqu'à trois tentatives pour un appel normal. Peuvent aussi s'afficher GraphQL Shopify a retourné des erreurs : … (Shopify GraphQL returned errors: …) et L'appel GraphQL Shopify a épuisé les tentatives. (Shopify GraphQL call exhausted retries.). Dans tous les cas, conservez le texte complet du message : c'est ce dont a besoin la personne qui vérifie la connexion.

Si vous le mettez en place avec de l'aide

FlexigoTech met en œuvre Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Le module est en paiement unique par version d'Odoo (prix sur sa fiche Odoo Apps et sur la page du module) et nécessite l'abonnement à FlexigoTech Cloud : plan Connecteur, 49 €/mois ou 490 €/an HT, jusqu'à 3 comptes de la plateforme. Avec cette connexion, les identifiants sont stockés chiffrés, la synchronisation est surveillée et un e-mail est envoyé en cas d'échec.

Si l'un de ces messages ne se résout pas, écrivez-nous avec le texte complet et la version d'Odoo que vous utilisez.

À lire aussi

Ce que le connecteur Shopify ajoute aux commandes de vente d'OdooCe que le connecteur Shopify ajoute à la commande de vente Odoo : champs du groupe Shopify, état de livraison et boutons pour envoyer, annuler et rembourser.Ce que Shopify Connector for Odoo ajoute aux transferts d'InventaireCe que Shopify Connector for Odoo ajoute aux transferts d'Inventaire : champs de traitement, boutons de nouvel essai et de suivi, et quand ils s'affichent.
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées

Sources