Quand on gère le stock en synchronisant la feuille avec Shopify, on finit par se poser cette question : "J'ai 100 unités en entrepôt, mais 20 commandes non traitées sont arrivées. La feuille indique 100, alors qu'en réalité je ne peux en vendre que 80. Je veux afficher correctement ces 80 au client."
Cette intuition est tout à fait juste — mais Shopify intègre déjà une notion similaire : la relation entre les deux chiffres appelés disponible et engagé. Dans cet article, dans le contexte de la synchronisation par feuille, nous voyons en quoi tient l'approche "retirer les non traitées" et comment elle s'articule avec le fonctionnement de Shopify.
Pourquoi raisonner en "stock de la feuille moins non traitées"
D'abord, pourquoi vouloir faire ce calcul ? Cela vient d'une sensation de terrain. 100 unités sur l'étagère. Mais 20 commandes sont déjà arrivées et partent demain. À cet instant, ce qui est réellement vendable, ce sont 80 unités. Vouloir afficher 80 au client, c'est tout naturel.
L'autre motivation : éviter la survente. Si vous laissez 100 dans la feuille, Shopify affichera aussi 100, et si encore 90 commandes arrivent, vous vous retrouvez avec 110 commandes pour 100 unités — survente assurée. En affichant un chiffre déjà amputé des non traitées, on évite ce type d'incident.
Autrement dit, le calcul "stock de la feuille moins non traitées = ce qui reste vraiment" est, sur le plan opérationnel, parfaitement sain. Mais si vous le mettez en œuvre directement, vous heurtez certains aspects du fonctionnement de Shopify. Regardons cela maintenant.
Comment disponible et engagé s'articulent
Shopify gère le stock à travers plusieurs statuts. Les deux qui comptent ici sont disponible (Available) et engagé (Committed). En comprendre la différence permet de décider si "feuille moins non traitées" est même nécessaire.
Les statuts de stock dans Shopify
Le stock dans Shopify se répartit grossièrement en ces statuts (résumé de l'aide officielle) :
- On hand (en stock) : le total réellement en entrepôt
- Committed (engagé) : commandé mais pas encore expédié
- Available (disponible) : ce qui est vendable (On hand moins Committed moins autres)
- Reserved (réservé) : temporairement bloqué
- Damaged (endommagé) : non vendable
Le point clé : ce qui apparaît sur le bouton d'achat côté client, c'est Available. Shopify calcule déjà en interne "On hand moins Committed" et affiche le disponible. D'une certaine manière, le travail de "retirer les non traitées" est déjà fait par Shopify.
Comprendre le comportement de Shopify
C'est ici qu'on peut un peu se perdre. Le chiffre 100 que vous synchronisez depuis la feuille, vers quel statut Shopify l'écrit-il ?
La plupart des applications de synchronisation écrivent le chiffre de la feuille soit dans On hand, soit dans Available. Se tromper de réglage produit des résultats surprenants.
Si le chiffre de la feuille est envoyé en tant qu'On hand, Shopify déduit automatiquement Committed. Feuille 100, Committed 20 — le client voit 80. C'est le comportement sain.
Si en revanche le chiffre de la feuille est envoyé directement en tant qu'Available, Shopify ne déduit rien. Il écrase Available avec le 100 de la feuille — du coup, les 20 engagés sont soit comptés deux fois, soit oubliés. C'est souvent la source des confusions.
Comment le gérer dans la synchronisation par feuille
Sur cette base, voyons comment exploiter au mieux la feuille. Pour faire court : il y a trois options.
- 011. Ne conserver dans la feuille que le stock physique et l'envoyer à Shopify en tant qu'On hand. La déduction, c'est Shopify qui la fait.
- 022. Calculer dans la feuille le chiffre déjà amputé des non traitées et l'envoyer à Shopify en tant qu'Available.
- 033. Conserver dans la feuille le stock physique et déduire d'avance un "engagé estimé" en guise de marge.
L'option 1 est la plus simple et s'aligne naturellement sur le fonctionnement de Shopify. Côté feuille, on se concentre sur le décompte de ce qui est en entrepôt — pas besoin d'aller chercher la valeur de Committed. L'application de synchronisation reste elle aussi simple.
L'option 2 impose de récupérer les données de commande Shopify dans la feuille, ce qui alourdit l'implémentation. Avec Apps Script ou un outil d'intégration dédié, on importe la quantité non traitée et on soustrait dans la feuille. C'est faisable, mais si la synchronisation des données de commande et celle de la feuille se désynchronisent, d'autres problèmes apparaissent.
L'option 3 est une astuce d'exploitation valable. Sur l'intuition qu'"il y a en permanence à peu près tant de commandes non traitées", on en déduit cette quantité d'avance comme marge. Pas parfait, mais simple et facile à exploiter.
Vouloir retirer les non traitées est en soi une bonne idée. Mais Shopify possède déjà la notion de Committed et, selon la configuration de la boutique, il n'est souvent pas nécessaire de soustraire deux fois. Comprenez d'abord le modèle de stock de Shopify, puis distinguez les questions "qu'est-ce que je veux soustraire dans ma boutique ?" et "qu'est-ce que Shopify fait automatiquement ?" — la confusion se dissipera.
Un seul chiffre de stock a plusieurs visages : On hand, Committed, Available. Quand vous mettez en place la synchronisation entre la feuille et Shopify, il vaut la peine de s'arrêter une fois pour mettre ces relations au clair. Quelques heures de compréhension au début vous épargneront des mois de confusion ensuite.