Aller au contenu principal
Shopify

Ce que fait le bouton « Rembourser dans Shopify » dans Odoo, pas à pas

Le bouton Rembourser dans Shopify de la fiche de la commande de vente demande à Shopify un remboursement complet de la commande liée. Il n'apparaît que si la commande a une Réf. commande Shopify, demande une confirmation et, avant d'envoyer quoi que ce soit, vérifie vos droits et le lien avec Shopify.

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

Un cas pour parcourir le bouton pas à pas

Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.

Librería Faro est une boutique fictive qui vend sur Shopify et suit ses commandes dans Odoo avec ce module. Un client demande le remboursement d'une commande entière et Ana, de l'administration, ouvre cette commande de vente dans Odoo. Voici ce que fait le module à chaque étape, d'après son code d'Odoo 20.

D'abord : le bouton apparaît-il ?

Le bouton Rembourser dans Shopify se trouve dans la vue de la commande de vente et il est masqué quand le champ Réf. commande Shopify est vide. Avec les valeurs par défaut, ce champ est vide : sur une commande sans lien avec Shopify, vous ne verrez donc pas le bouton. Ce champ et Instance Shopify se trouvent sur la fiche de la commande, dans le groupe Shopify ; ils sont en lecture seule et masqués tant que la référence est vide. La même condition de vue vaut pour Odoo 17, 18, 19 et 20.

Schéma réalisé avec du code, pas un écran d'Odoo : le bouton de remboursement Shopify avec, à côté, 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) : le bouton, présent dans Odoo 17, 18, 19 et 20, et à côté les messages qui peuvent l'arrêter, celui de commande non liée et celui du manque d'accès Shopify Operator ou Manager.

Ensuite : la confirmation

Quand vous cliquez sur le bouton, Odoo demande Créer un remboursement complet de cette commande dans Shopify ?. Si vous acceptez, Odoo exécute l'action du bouton.

Puis : ce qu'il vérifie, dans cet ordre

  1. Droits. La première chose que fait l'action est de vérifier que votre utilisateur a l'accès Shopify Operator ou Manager. Sinon, elle s'arrête avec You need Shopify Operator (or Manager) access to push changes to Shopify. Le commentaire du code en explique la raison : un utilisateur avec l'accès normal aux Ventes, sans aucun rôle Shopify, pourrait sinon lancer un véritable appel à Shopify avec les identifiants de la boutique. C'est pourquoi la vérification est dans l'action elle-même et ne dépend pas de l'affichage du bouton.
  2. Lien avec Shopify. Pour chaque commande, l'action exige que la référence Shopify et l'instance soient renseignées. S'il en manque une, elle s'arrête avec La commande de vente … n'est pas liée à une commande Shopify., avec le nom de la commande à la place des points de suspension. Comme le bouton n'est visible que si la référence est renseignée, si ce message apparaît quand vous cliquez depuis la fiche, regardez dans le groupe Shopify si Instance Shopify a une valeur.

Quand un message arrête l'action, le processus s'interrompt là et ne va pas jusqu'à demander le remboursement de cette commande.

Enfin : ce qu'il demande à Shopify

Si la commande passe ces vérifications, son instance Shopify reçoit l'ordre de créer le remboursement. D'après le code :

  • Lignes. Toutes les lignes importées sont remboursées : celles qui ne sont ni des sections ni des notes, ne sont pas des lignes d'expédition et portent un identifiant de ligne Shopify. La quantité est celle de la ligne, arrondie à l'entier.
  • Expédition. Les lignes d'expédition sont exclues et la demande ne réclame pas le remboursement des frais d'expédition.
  • Note. Sauf indication contraire, la note envoyée à Shopify est Refunded from Odoo.
  • Avis au client et solde de boutique. Ils sont repris des options de l'instance : prévenir le client du remboursement et rembourser en solde de boutique plutôt que sur le moyen de paiement d'origine.
  • Devise. Le module interroge Shopify sur le remboursement suggéré et, si Shopify renvoie une devise, l'inclut dans la demande.
  • Nouvelles tentatives. La demande porte une clé qui décrit exactement ce remboursement (commande, lignes, quantités, expédition et méthode). Si elle est répétée, à cause d'une réponse perdue ou d'un second clic impatient, elle porte la même clé et Shopify ne rembourse qu'une fois, d'après le commentaire du code.

Si Ana n'a pas le rôle

Si Ana voit le message de droits, le remboursement n'a pas été demandé. Elle a besoin que la personne qui administre Odoo lui donne l'accès Shopify Operator (ou Manager), comme le dit le message lui-même, puis de cliquer de nouveau sur le bouton.

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 faut retenir du cas

  • Le bouton n'est pas disponible pour n'importe quelle commande : il dépend de Réf. commande Shopify, et cette référence ne se remplit pas à la main car le champ est en lecture seule.
  • Vos droits et le lien de la commande (référence et instance) sont vérifiés avant de parler à Shopify, et si l'un échoue, l'action s'arrête.
  • Le remboursement demandé est complet pour les lignes importées, sans les lignes d'expédition ni les frais d'expédition.
  • L'avis au client et le remboursement en solde de boutique ne se choisissent pas au clic : ils viennent des options de l'instance.
  • Une nouvelle tentative identique ne duplique pas le remboursement dans Shopify, grâce à la clé que porte la demande.

Avant de l'essayer dans votre Odoo

Le bouton existe dans les branches d'Odoo 17, 18, 19 et 20, qui sont les versions publiées du module sur Odoo Apps ; le code que j'ai décrit est celui d'Odoo 20. Avec Odoo en français, il s'appelle Rembourser dans Shopify ; dans les autres langues, le libellé change, comme le montre le schéma.

Schéma réalisé avec du code, pas un écran d'Odoo : le libellé du bouton de remboursement dans plusieurs langues
Schéma réalisé avec du code à partir des traductions publiées du module (ce n'est pas une capture d'Odoo) : le libellé du bouton selon la langue d'Odoo. En espagnol, Reembolsar en Shopify ; en allemand, In Shopify erstatten ; en français, Rembourser dans Shopify ; en italien, Rimborsa in Shopify ; en portugais, Reembolsar no Shopify.

Le module est en paiement unique par version d'Odoo et nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an HT. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec. Tout est dans la fiche Odoo Apps et sur la page du module.

Si votre question porte sur un autre aspect des commandes, consultez le message sur les données Shopify pour créer la commande de vente. Et si vous mettez en place Odoo avec Shopify et souhaitez revoir les droits, les instances ou un flux de retours sur mesure, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.

Questions rapides

Pourquoi je ne vois pas le bouton sur une commande ?

Parce que le bouton est masqué quand Réf. commande Shopify est vide, et avec les valeurs par défaut il l'est.

Demande-t-il une confirmation ?

Oui : Créer un remboursement complet de cette commande dans Shopify ?.

À lire aussi

Ce que fait le bouton « Récupérer le stock » du connecteur Shopify pour OdooCe que fait le bouton Récupérer le stock du connecteur Shopify pour Odoo : quand il apparaît, ce qu'il vérifie.Avertissement « est maintenant l'emplacement principal » du connecteur Shopify pour OdooQue signifie l'avertissement « est maintenant l'emplacement principal pour … » du connecteur Shopify pour Odoo, quand il apparaît et comment changer.Erreur de création du bon de commande : données Shopify manquantesQue signifie l'avis de Shopify Connector for Odoo en cliquant sur « Créer un bon de commande » sans données de commande.
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées

Sources