Si vous exploitez un dispositif où Google Sheets sert de référentiel de stock et alimente Shopify par synchronisation, vous finirez tôt ou tard par tomber sur cette question : "Il y a un SKU enregistré dans Shopify mais absent de la feuille — comment je dois le traiter ?"
L'écran de configuration des applications de synchronisation propose en général une option du type "mettre à zéro sur Shopify les lignes absentes de la feuille". Pratique — mais mal choisi, ce réglage peut faire ressusciter le stock d'un produit que vous pensiez retiré, ou inversement, retirer de la vente un SKU qui n'a fait que disparaître de la feuille. Dans cet article, nous mettons à plat les critères pour traiter ces lignes manquantes.
Ce que signifie réellement "une ligne absente de la feuille"
Clarifions d'abord ce que veut dire "une ligne absente de la feuille". Ce qui figure dans la feuille, c'est la liste des SKUs considérés comme relevant de la gestion de stock à un instant donné. Shopify, lui, conserve l'ensemble des SKUs jamais enregistrés. Quand on les compare, il y a toujours un certain nombre de SKUs présents dans Shopify mais absents de la feuille.
Cet écart continuera de se creuser tant que la boutique fonctionnera. Renouvellement de gamme, rebranding, arrêts de commercialisation, nettoyage saisonnier — la liste des SKUs dans la feuille bouge pour mille raisons. En face, les données produit de Shopify conservent les produits vendus dans le passé, donc l'écart se creuse avec le temps.
Les scénarios possibles
Même si l'état semble identique — "absent de la feuille" — des scénarios complètement différents se cachent derrière. Regardons les deux cas types.
Le cas de l'arrêt de commercialisation
Premier cas : vous avez décidé de ne plus référencer ce produit. Le fournisseur arrête la production, le stock est épuisé et vous ne recommandez pas, vous avez remplacé toute une série — les raisons varient, mais la conclusion est la même : on ne le vend plus.
Dans ce cas, l'absence de la ligne traduit une suppression intentionnelle. Le bon comportement est de passer le stock à 0 sur Shopify pour que les clients ne puissent plus l'acheter. On veut souvent conserver la fiche produit elle-même (pour le SEO ou l'archivage), donc la pratique "passer le stock à 0" plutôt que supprimer a tout son sens.
Le cas du simple oubli
Deuxième cas : l'absence de la ligne est un accident. Quelqu'un a supprimé une ligne par erreur, copié vers une autre feuille avec un filtre actif, un bug d'Apps Script a fait sauter des lignes — les causes varient, mais la situation est la même : vous voulez vendre le produit, mais il a disparu de la feuille.
Si dans ce cas "mettre à 0 les lignes absentes" est activé, c'est le drame. Des best-sellers que vous voulez vraiment vendre passent tous à 0 à cause d'un incident temporaire sur la feuille, et les ventes s'arrêtent. Le temps de s'en rendre compte, le manque à gagner s'est accumulé.
Comment choisir le réglage
Alors, comment le configurer ? Il n'y a pas de bonne réponse unique, mais selon la taille de votre boutique et la maturité de l'exploitation, il existe trois approches.
- 011. Ne pas toucher aux lignes absentes (approche conservatrice) : sûr, mais les produits arrêtés conservent leur stock
- 022. Mettre à 0 les lignes absentes (approche offensive) : propre, mais un faux pas sur la feuille stoppe immédiatement les ventes
- 033. Émettre seulement un avertissement (approche intermédiaire) : un rapport tourne avant le sync, et un humain tranche
Notre recommandation : tant que l'exploitation n'est pas stabilisée, option 1 (ne pas toucher) ; quand c'est stable, option 3 (avertissement) ; et seulement quand la gouvernance de la feuille est parfaite, option 2 (mise à zéro automatique). Aller directement à l'option 2, c'est transformer chaque petite erreur d'exploitation de la feuille en gros incident.
Côté back-office Shopify, vous pouvez aussi passer le statut produit en "Brouillon" ou "Archivé". Au-delà de mettre le stock à 0, déplacer les produits arrêtés vers "Archivé" les retire de la liste produits et garde l'exploitation propre. Combiner la "mise à zéro des lignes absentes" de l'app de sync avec l'"Archivage" côté Shopify établit une séparation bien plus nette.
Règles d'exploitation pour éviter les accidents
Quelle que soit l'approche retenue, il vaut mieux avoir des règles pour prévenir les accidents. En voici quelques-unes.
- Ajouter une colonne drapeau "actif" dans la feuille et gérer les arrêts via le drapeau plutôt qu'en supprimant des lignes
- Quand on supprime des lignes, conserver systématiquement un "journal des arrêts" sur une feuille séparée
- Avant chaque sync, vérifier le nombre de lignes et alerter si la baisse dépasse un pourcentage donné
- Après une mise à jour de la feuille, exécuter le premier sync en dry run (aperçu des changements)
- Faire chaque mois l'inventaire de la liste "présent dans Shopify mais absent de la feuille"
Particulièrement recommandée : la première — la colonne drapeau actif. Plutôt que de supprimer la ligne de la feuille, ajoutez une colonne "ACTIVE" à côté de la colonne A et passez les produits arrêtés à `FALSE`. Côté sync, on ne traite que les lignes où `ACTIVE=TRUE` : la ligne reste dans la feuille, mais le stock Shopify passe à 0. C'est aussi pratique plus tard quand on veut savoir "quand avons-nous arrêté ce produit ?".
Le traitement des lignes manquantes fait partie de ces réglages de synchronisation pour lesquels la décision initiale pèse particulièrement sur la suite. Ne vous précipitez pas. Calez le réglage sur la maturité d'exploitation de votre boutique et migrez progressivement vers des paramètres plus stricts — c'est la voie d'une synchronisation avec laquelle vous pourrez vivre longtemps.
Le dispositif qui relie la feuille à Shopify est pratique, mais derrière la commodité rôde toujours le risque de "résultats non voulus". C'est précisément pour cela que comprendre le sens de ces petits réglages finit par protéger la boutique.