Avant de commencer
- Le bon de livraison doit venir d'une commande client importée de Shopify et être validé.
- Les produits du bon de livraison doivent correspondre aux lignes Shopify par variante ou par SKU.
- L'application de la boutique a besoin de l'autorisation de gérer les traitements. S'il lui manque, Shopify refuse et le message le dit.
- Shopify ne prévient pas le client par e-mail sauf si vous l'activez : les deux cases de notification sont décochées par défaut.

Pas à pas
- Ouvrez la fiche de votre boutique Shopify dans Odoo, onglet « Operations », groupe « Sync Settings ».
- Cochez « Auto Send Fulfillment On Validate » si vous voulez que chaque bon de livraison validé s'envoie tout seul. Elle est décochée par défaut.
- Pour que Shopify envoie son e-mail au client, cochez « Notify Customer On Fulfillment » et, pour les changements de suivi, « Notify Customer On Tracking Update ».
- Décidez si vous cochez « Archive Shopify order when fully fulfilled », qui archive la commande dans Shopify quand elle est entièrement traitée depuis Odoo.
- Sur le bon de livraison, saisissez le numéro de suivi avant de valider. Avec un numéro, le traitement part même si vous n'avez pas activé l'envoi à la validation.
- Validez le bon de livraison. Dans son groupe « Shopify », vous verrez l'identifiant du traitement, l'état renvoyé par Shopify et l'heure de la dernière synchronisation.

Ce qui déclenche l'envoi
| Ce que vous faites dans Odoo | Ce que fait le connecteur |
|---|---|
| Vous validez le bon de livraison avec l'envoi à la validation activé | Crée le traitement dans Shopify |
| Vous validez le bon de livraison avec un numéro de suivi, même si l'envoi à la validation est décoché | Crée le traitement avec ce suivi |
| Vous validez sans numéro et avec l'envoi à la validation décoché | Rien ; il reste le bouton « Send Shopify Fulfillment » |
| Vous changez le numéro de suivi d'un bon de livraison déjà validé | Crée le traitement s'il n'existait pas ou met à jour son suivi |
| Vous cliquez sur « Update Shopify Tracking » | Renvoie le suivi du traitement qui existe déjà |
Comment l'envoi est construit
Les quantités
Le traitement reprend les quantités livrées sur le bon de livraison, rapprochées des lignes de la commande Shopify par variante ou par SKU, y compris dans les kits. Si Shopify a déjà un traitement qui couvre ces lignes, le connecteur le réutilise et lui ajoute le suivi au lieu d'en créer un autre.
Le suivi
Vous pouvez saisir plusieurs numéros sur le bon de livraison, séparés par des virgules, des points-virgules, des espaces ou des retours à la ligne : ils arrivent dans Shopify comme plusieurs numéros. Le transporteur que voit Shopify est le nom du transporteur de la commande client. Le lien de suivi est celui du bon de livraison ou celui que donne le transporteur, et il n'est envoyé que lorsqu'il y a un seul numéro.

Si quelque chose échoue
Un échec n'annule pas la validation : le bon de livraison reste validé, l'erreur est enregistrée et apparaît dans un bandeau rouge avec le lien « Retry send fulfillment ». Dans la liste des bons de livraison, ces lignes apparaissent en rouge. Voici les messages et quoi faire avec chacun :
Shopify auto-fulfillment failed: %s- L'envoi automatique à la validation n'est pas parti. Lisez le motif et cliquez sur « Retry send fulfillment ».
No delivered Shopify-linked quantities found in this picking.- Aucune quantité livrée ne correspond à un produit lié à Shopify. Vérifiez les produits du bon de livraison.
No fulfillable Shopify lines matched this picking quantities. Check Shopify variant mapping and remaining fulfillment quantities.- Les quantités ne correspondent pas à ce qui reste à traiter dans Shopify, ou la variante n'est pas liée.
Shopify denied fulfillment access. Add scopes read_merchant_managed_fulfillment_orders and write_merchant_managed_fulfillment_orders, then re-authorize the app.- Il manque ces autorisations à l'application. Ajoutez-les dans Shopify et autorisez-la de nouveau.
This picking already has a Shopify fulfillment. Use Update Shopify Tracking.- Le traitement existe déjà. Utilisez l'autre bouton pour envoyer le suivi.
Not sent to Shopify: %s- FlexigoTech Cloud a mis l'envoi en pause. Le bon de livraison reste validé et n'est pas marqué en échec.
Quand vous l'envoyez avec les boutons et que tout se passe bien, l'historique du bon de livraison le note avec le numéro du traitement.
Shopify prévient-il le client quand j'expédie depuis Odoo ?
Seulement si vous cochez les cases de notification de la boutique : une pour le traitement et une autre pour les changements de suivi. Tant qu'elles sont décochées, Shopify n'envoie pas son e-mail.
Est-ce dans toutes les versions d'Odoo ?
Oui. Les boutons du bon de livraison, l'envoi à la validation et la mise à jour du suivi sont dans le connecteur publié pour Odoo 17, 18, 19 et 20.
À lire aussi
Vérifié dans le code du connecteur (version 17.0, 18.0, 19.0 et 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: views/stock_picking_views.xml, models/stock_picking.py
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/stock_picking.py, models/shopify_instance.py, views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/stock_picking.py (write, _split_tracking_numbers, _shopify_tracking_info_payload)
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_instance.py (_create_fulfillment_from_picking), models/stock_picking.py
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/stock_picking.py
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_instance.py, views/shopify_instance_views.xml, views/menu_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
