Un cas pour s'y retrouver : le transfert terminé et le bouton qui bloque
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Imaginez une entreprise fictive, Cerámicas del Norte, qui vend sur Shopify et gère son entrepôt dans Odoo. Lucía travaille à l'entrepôt, a un accès normal à Inventaire et personne ne lui a donné de permission Shopify. Il y a un transfert lié à une commande Shopify à l'état Terminé (Fait en Odoo 17.0), avec une valeur dans Erreur de traitement Shopify (Shopify Fulfillment Error). Lucía voit le bouton Réessayer l'envoi du traitement (Retry send fulfillment), clique dessus et Odoo répond :
You need Shopify Operator (or Manager) access to push fulfillment updates to Shopify.
L'action s'arrête. Le message ne parle pas du transfert, il parle de l'utilisateur : il manque une permission à Lucía.


Quand il apparaît exactement
Le message peut apparaître en cliquant sur l'un de ces boutons dans la fiche du transfert :
Réessayer l'envoi du traitement(Retry send fulfillment)Mettre à jour le suivi Shopify(Update Shopify Tracking)
Il est déclenché par une vérification du module qui s'exécute quand ces boutons appellent sa méthode. La condition dans le code est la suivante : si votre utilisateur n'appartient pas au groupe Shopify Operator, l'action s'arrête avec le message. La vérification est ignorée quand l'appel est fait par le superutilisateur (le code parle d'une automatisation interne). Le message cite aussi Manager, mais ce que lit le code, c'est l'appartenance au groupe Operator.
Pour accéder aux transferts depuis le menu : Shopify › Opérations › À expédier (Shopify › Operations › To Ship). Les niveaux Shopify et Opérations (Operations) demandent la permission Lecteur (Viewer) ; si vous ne l'avez pas, vous ne voyez pas ce niveau. Les boutons, eux, passent par la vérification Operator.
Quand les boutons sont visibles
Ces conditions de la vue valent pour Odoo 17, 18, 19 et 20 :
| Bouton | Quand il apparaît |
|---|---|
Réessayer l'envoi du traitement | Le transfert provient d'une commande Shopify (champ Est une commande Shopify (Is Shopify Order), qui n'apparaît dans aucune vue), a une valeur dans Erreur de traitement Shopify et est à l'état Terminé. |
Mettre à jour le suivi Shopify | Le transfert provient d'une commande Shopify, est à l'état Terminé et a une valeur dans Traitement Shopify (Shopify Fulfillment). |
Dans le cas de Lucía, voir le bouton n'a pas suffi. Les conditions du tableau portent sur le transfert, pas sur la personne qui le consulte.
Ce que cela signifie et pourquoi le module l'exige
Un transfert est un modèle standard d'Odoo. D'après le code du module lui-même, une personne ayant un accès normal à Inventaire peut lire et modifier un transfert lié à Shopify sans aucun groupe Shopify.
Ces boutons délèguent à la partie du module qui écrit dans Shopify avec les identifiants de la connexion. Sans vérification explicite, n'importe quel utilisateur authentifié ayant accès à Inventaire pourrait provoquer cette écriture, qu'il ait ou non un rôle Shopify. C'est pourquoi le module vérifie la permission côté serveur, dans la méthode elle-même : un groupe placé uniquement sur le bouton de la vue est un simple confort d'affichage et ne s'applique pas si la méthode est appelée directement.
Le message n'est donc ni une panne de Shopify ni un problème de connexion : c'est le module qui vous indique que votre utilisateur n'a pas la permission requise pour cette action.
Comment le résoudre
- Vérifiez que le message apparaît en cliquant sur
Réessayer l'envoi du traitementouMettre à jour le suivi Shopify. Ce sont les boutons qui passent par la vérification. - Demandez à la personne qui administre les utilisateurs de votre Odoo de vous donner la permission Shopify Operator. Le message mentionne aussi Manager, mais la condition du code est celle d'Operator.
- Rouvrez le transfert et relancez l'action avec votre utilisateur.
- Si vous n'êtes pas censé avoir cette permission, faites cliquer sur le bouton quelqu'un qui l'a.
Le même texte dans d'autres langues
Le schéma suivant montre à quoi ressemble le libellé du bouton de nouvelle tentative selon la langue d'Odoo :

| Langue | Libellé du bouton |
|---|---|
| Espagnol | Réessayer l'envoi du traitement |
| Allemand | Erfüllung erneut senden |
| Français | Réessayer l'envoi du traitement |
| Italien | Riprova invio evasione |
| Portugais | Repetir envio de processamento |
Questions que se posera la personne qui le voit
Pourquoi est-ce que je vois le bouton si je n'ai pas la permission ?
Parce que la vue décide de l'afficher selon le transfert (commande Shopify, état, et le champ que chaque bouton exige). Au clic, la vérification regarde votre utilisateur.
Est-ce que la permission Lecteur me suffit ?
Cette permission est celle que demandent les niveaux Shopify et Opérations du menu. La condition du code pour ces boutons est celle d'Operator.
Existe-t-il un appel qui contourne la vérification ?
Oui : celui du superutilisateur, que le code laisse exempté.
Cela change-t-il selon la version d'Odoo ?
Le message figure dans le code publié des branches 17, 18, 19 et 20, et les conditions des boutons du tableau valent pour les quatre.
Ce qu'il faut retenir du cas
- La vérification regarde votre utilisateur et non le transfert.
- Voir le bouton ne prouve pas que vous avez la permission Operator.
- Voir le menu
Shopify › Opérations › À expédierdemandeLecteur; les boutons passent par la vérification Operator.
Si un avertissement semblable apparaît sur un autre écran du module, l'article sur l'avertissement d'accès pour pousser des modifications vers Shopify traite la même permission sous un autre angle.
Comment FlexigoTech peut vous aider
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous êtes en train de répartir les permissions entre l'entrepôt et l'e-commerce, nous pouvons revoir avec vous qui a besoin de quoi. Vous trouverez plus de détails sur le connecteur sur la page du module.
À 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 (03641761): models/stock_picking.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (03641761): views/stock_picking_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
