Aller au contenu principal
Shopify

Que fait le bouton « Retourner au stock » de Shopify Connector, pas à pas

Le bouton Retourner au stock d'un remboursement Shopify crée dans Odoo un ou plusieurs transferts de retour déjà validés, avec ce qu'il reste à retourner de ce que Shopify a remis en stock ; si Odoo l'avait déjà retourné, il n'en crée pas d'autre et ouvre la livraison. Il n'est visible qu'avec certaines valeurs du champ Retour en stock et, si quelque chose échoue, il s'arrête avec un message de produits non liés ou une erreur de création.

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

Le détail de la méthode ci-dessous correspond au code d'Odoo 20. Le bouton existe dans les branches 17, 18, 19 et 20, avec la même condition de visibilité.

Où il se trouve et quand il s'affiche

Où se trouve le bouton Retourner au stock et quand apparaît-il ?

Il se trouve dans la fiche de Remboursements Shopify, que l'on ouvre depuis Ventes › Shopify › Operations › Remboursements. La vue ne l'affiche que lorsque le champ Retour en stock est sur en attente, en révision ou en échec ; avec toute autre valeur, elle le masque. Avec les valeurs par défaut, il n'est pas visible, car ce champ démarre sur une valeur qui n'est aucune de celles-là. Dans Odoo en français le bouton s'appelle Retourner au stock ; le second schéma montre son intitulé dans d'autres langues.

Schéma avec le menu des remboursements, le bouton Retourner au stock et les messages 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.
Schéma avec le texte du bouton Retourner au stock en espagnol, allemand, français, italien et portugais
Schéma réalisé avec du code à partir des traductions publiées du module, ce n'est pas une capture d'Odoo : en espagnol Retourner au stock, en allemand Lager zurückgeben, en français Retourner au stock, en italien Restituisci al magazzino et en portugais Devolver ao stock.

Que se passe-t-il si le retour en stock était déjà fait ?

La méthode le vérifie avant toute chose. Si le champ était en échec mais que le transfert de retour était déjà fait, elle le laisse comme fait et efface le texte de l'erreur. S'il était déjà fait et qu'il existe un Transfert de retour, elle ouvre ce transfert ; s'il n'y en a aucun, elle ne fait rien de plus.

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 crée

Comment décide-t-il quels produits il retourne ?

Il lit les lignes de réapprovisionnement du remboursement, c'est-à-dire ce que Shopify a remis en stock. Il écarte celles dont la quantité est nulle ou négative. Pour chacune, il cherche d'abord le produit par l'identifiant de variante Shopify et, s'il ne le trouve pas, par le SKU. Les lignes qui ne sont pas résolues n'entrent pas dans le retour et laissent un avertissement dans le log. S'il ne reste aucun produit, la méthode s'arrête avec le message que tu verras plus bas.

Que fait-il si le remboursement a un bon de commande avec des livraisons validées ?

Dans la fiche, le champ Bon de commande se trouve dans le groupe Amounts. Le code cherche les livraisons de sortie de cette commande qui sont déjà faites. S'il y en a, il calcule ce qu'il reste à retourner pour chaque produit : ce que Shopify a remis en stock dans tous les remboursements de cette commande, moins ce que les retours non annulés ont déjà ramené (y compris ceux faits par Odoo lui-même), et jamais plus que ce qui a été livré. La répartition va de la livraison la plus ancienne à la plus récente, sans dépasser ce qu'a expédié chacune moins ce qui en est déjà revenu.

Il crée un retour validé pour chaque livraison concernée, il peut donc y en avoir plusieurs. Lorsque la livraison contient le mouvement de ce produit, le retour est lié à lui comme un retour d'Odoo même, de sorte que la livraison le compte comme retourné.

S'il ne reste rien à retourner, il ne crée aucun transfert : il marque le retour en stock comme fait, efface l'erreur, laisse dans les livraisons qui ont expédié ces produits la note Remboursement Shopify … : il ne reste rien à retourner de cette livraison, Odoo l'a déjà retourné. et ouvre la première d'entre elles.

Et s'il n'y a pas de commande ou aucune livraison validée ?

Il crée alors un transfert d'entrée manuel, avec comme origine l'emplacement clients et comme destination l'emplacement de stock de l'entrepôt. L'entrepôt est celui configuré dans l'instance Shopify ou, à défaut, le premier qu'il trouve pour la société de l'instance. Il utilise un type d'opération d'entrée de cet entrepôt, donne à chaque mouvement la description Retour : … avec le nom du produit, confirme le transfert, le réserve, passe la quantité demandée comme faite et le valide.

Qu'est-ce qui change quand tout se passe bien ?

Le retour en stock passe à fait, le texte d'erreur est effacé et le champ Transfert de retour, dans le groupe Amounts de la fiche, pointe vers le premier transfert créé. Ce champ est masqué tant qu'il est vide et c'est le bouton qui le remplit, pas l'utilisateur. Tous les transferts ont comme origine Remboursement Shopify … avec le nom du remboursement (le champ Name, groupe Shopify).

Le bouton laisse des notes dans les transferts : dans chaque retour, Stock retourné depuis le remboursement Shopify …. Transfert : … et, s'il provient d'une livraison, dans cette livraison, Remboursement Shopify … : retourné dans …. À la fin, le premier transfert de retour est ouvert.

Erreurs et que faire

Que faire avec Aucun produit à réapprovisionner trouvé pour ce remboursement. Assurez-vous que les produits sont liés par SKU ou identifiant de variante Shopify. ?

C'est le message (No restockable products found for this refund. Make sure products are linked by SKU or Shopify variant ID.) que donne le bouton quand, après lecture des lignes, il ne reste aucun produit : lignes de quantité nulle ou négative, ou produits que ni l'identifiant de variante ni le SKU ne permettent de localiser. Il survient avant toute création et ne modifie pas le champ Retour en stock. Vérifie que les produits du remboursement sont liés dans Odoo par SKU ou par identifiant de variante Shopify, comme le demande le message, puis clique à nouveau.

Que signifie Échec de la création du retour en stock : … ?

C'est le message (Failed to create stock return: …) qui s'affiche quand quelque chose échoue pendant que la méthode cherche des livraisons ou crée et valide les transferts. Après les deux-points figure le texte de l'erreur d'origine, et c'est ce texte qui indique quoi corriger. Avant de l'afficher, la méthode met Retour en stock en échec et enregistre le texte de l'erreur. Comme la condition de la vue inclut la valeur en échec, le bouton reste visible une fois la cause corrigée.

Combien cela coûte-t-il et de quoi ai-je besoin pour l'utiliser ?

Shopify Connector coûte 9 € par version d'Odoo, pour 17, 18, 19 et 20, en paiement unique HT (consulte la fiche Odoo Apps). Il nécessite en plus l'abonnement à FlexigoTech Cloud : le plan Connecteur coûte 49 €/mois ou 490 €/an HT, avec jusqu'à 3 comptes de la plateforme. Si tu veux que le flux de retours s'adapte à tes entrepôts, FlexigoTech déploie Odoo et développe des connecteurs et intégrations sur mesure.

À lire aussi

Ce que fait le bouton Pull Stock de Shopify Connector, pas à pasCe que fait le bouton Pull Stock de Shopify Connector dans Odoo 20 : quand il apparaît, ce qu'il vérifie, quels ajustements d'inventaire il crée et quelles…
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées

Sources