· 7 min de lecture

Corriger les SKU de bundles Shopify sans chaos de feuilles de calcul


Quand votre boutique vend des bundles — coffrets cadeaux, multipacks, boîtes curatées — le suivi d'inventaire casse. Pourquoi les feuilles de calcul aggravent le problème, et la solution.

Le problème

Vous vendez une « Gift Box » contenant 1 bougie, 1 savonnette et 1 baume à lèvres. Chacun de ces composants est aussi vendu individuellement. Quand une Gift Box est vendue, vous devez déduire 1 unité de trois comptes d’inventaire différents — mais Shopify ne suit l’inventaire qu’au niveau du SKU, pas au niveau des composants.

Alors quelqu’un dans votre équipe ouvre une feuille de calcul.

À chaque commande de bundle, il soustrait manuellement les composants. À chaque arrivée de stock, il met à jour la feuille. À chaque fois que quelqu’un oublie de mettre à jour, les chiffres dérivent. Un mois plus tard, la feuille de calcul dit que vous avez 40 bougies en stock. L’étagère dit 12. Le client qui a commandé une Gift Box reçoit un email disant que la bougie est en rupture de stock — trois jours après l’achat.

C’est le problème d’inventaire des bundles, et c’est le problème d’inventaire le plus courant que j’entends des marchands Shopify qui vendent des kits, des sets ou des boîtes curatées.


Pourquoi les feuilles de calcul aggravent les choses

La feuille de calcul semble être une solution parce qu’elle est visible et familière. Mais elle introduit trois modes de défaillance qui s’accumulent avec le temps :

1. Délai entre la vente et la déduction

Quelqu’un doit remarquer la commande, ouvrir la feuille et mettre à jour les chiffres. Si votre boutique traite 30 commandes par jour et que 8 d’entre elles sont des bundles, ce sont 24 modifications manuelles de cellules — chaque jour. En manquer une, et l’erreur se propage : la prochaine commande de bundle peut survendre un composant que la feuille croit encore en stock.

2. Pas de transactions atomiques

Une déduction de bundle touche trois comptes d’inventaire. Dans une feuille de calcul, ce sont trois modifications indépendantes. Si la personne qui met à jour est interrompue après avoir modifié le compteur de bougies mais avant d’avoir modifié le compteur de savon, les données sont maintenant incohérentes — et personne ne le remarquera jusqu’à ce qu’un client se plaigne.

3. Pas de piste d’audit

Qui a changé le compteur de bougies de 40 à 12 ? Quand ? Pourquoi ? Dans une feuille Google partagée, la réponse est généralement « Je ne sais pas ». L’historique des versions existe, mais personne ne le vérifie jusqu’à ce que l’écart coûte déjà de l’argent.

Le résultat : dérive d’inventaire. Votre feuille de calcul et votre stock réel divergent lentement jusqu’à ce que l’écart soit suffisamment grand pour causer des survendes, des ruptures de stock, ou les deux.


Ce que Shopify fait (et ne fait pas)

Shopify suit l’inventaire par inventory_item. Chaque variante de chaque produit en a une. Quand une commande est expédiée, Shopify décrémente le inventory_item de cette variante. Cela fonctionne parfaitement pour les produits individuels.

Pour les bundles, Shopify propose deux approches :

ApprocheComment ça fonctionneLimitation
App Shopify Bundles (gratuit, première partie)Crée un produit bundle dont les composants sont liés ; pour les bundles fixes et les multipacks, Shopify ajuste automatiquement l’inventaire des composants à la vente.Fonctionne uniquement pour les bundles fixes — pas de bundles dynamiques/personnalisables, pas de logique de déduction sur mesure et pas de piste d’audit des ajustements contrôlable par votre workflow.
Apps bundle tierces ($15–49/mois)Certaines apps écoutent les commandes de bundles et ajustent l’inventaire des composants via l’Admin API.Chaque app implémente sa propre logique. Certaines sont lentes. Certaines cassent sur les remboursements partiels. Vous êtes lié à leurs tarifs.

L’écart : pour les bundles fixes, l’app première partie couvre l’essentiel, mais vous n’obtenez pas un système de déduction transparent et auditable qui vous appartient — capable de gérer les bundles dynamiques, les remboursements partiels et vos propres règles métier.


Le schéma : déduction de composants pilotée par webhook

La solution est une petite automatisation qui écoute les commandes de bundles et ajuste l’inventaire des composants via la Shopify Admin API. Pas de feuille de calcul. Pas de modifications manuelles. Pas d’abonnement par app.

Bundle order placed

Shopify orders/paid webhook fires

Your server reads the bundle's component list

For each component: POST /inventory_levels/adjust
   { available_adjustment: -1 × bundle_qty }

Shopify inventory is now correct

Log the adjustment (who, when, which components)

L’appel API clé est POST /admin/api/2024-10/inventory_levels/adjust.json :

{
  "location_id": 655441491,
  "inventory_item_id": 808950810,
  "available_adjustment": -2
}

C’est un ajustement atomique — Shopify l’applique en une seule transaction. Si la bougie a 5 unités disponibles et que vous ajustez de -2, elle devient 3. Pas d’état intermédiaire. Pas de mises à jour partielles.

Que se passe-t-il en cas de retour ou remboursement ?

Le même schéma en sens inverse : écoutez le webhook refunds/create, lisez quels articles ont été retournés, et ajustez l’inventaire des composants vers le haut. Le journal d’audit enregistre les deux directions.

Que se passe-t-il avec les bundles partiels ?

Si un client commande 2 Gift Boxes, l’ajustement est de -2 par composant. Le calcul est simple : quantité_bundle × quantité_composant_par_bundle. Le payload du webhook contient la quantité de l’article — pas de devinette.


Comparaison des coûts

ApprocheCoût mensuelQui le maintientPiste d’audit
Feuille de calcul$0 (mais 30–60 min/jour de temps de personnel)Votre équipe, manuellementAucune
App bundle tierce$15–49/moisLe fournisseur de l’appDépend de l’app
Automatisation webhook personnalisée~20 $/mois (hébergement VPS)Votre développeur, une foisComplète — chaque ajustement enregistré

Le coût mensuel de l’approche personnalisée se limite à l’hébergement — le même serveur qui gère vos autres webhooks Shopify. Le coût de construction unique est typiquement de 4–8 heures de développement.


À quoi ça ressemble en pratique

Un exemple illustratif (pas un résultat client) — une boutique vendant 15 SKU de bundles sur 3 sites, traitant 80 commandes/jour :

  • Avant : Le personnel passe 45 minutes/jour à mettre à jour la feuille de calcul d’inventaire. Survende mensuel : une poignée de commandes. Plaintes de clients sur des articles « en stock » qui ne le sont pas.
  • Après : Les commandes de bundles déduisent les composants dans les secondes suivant le paiement. Zéro mise à jour manuelle. Le survende tombe à quasi zéro (limité uniquement par la synchronisation d’inventaire de Shopify, qui est quasi temps réel).

L’automatisation gère 60–100 commandes de bundles/jour sans intervention humaine. Le journal d’audit enregistre chaque ajustement avec un horodatage, une référence de commande et les détails des composants.


Quand vous avez besoin de plus que la déduction de composants

La déduction de composants résout le problème immédiat. Mais si votre boutique grandit, vous atteindrez éventuellement la couche suivante :

  • Alertes de réapprovisionnement : Quand un composant tombe sous un seuil, notifier l’équipe achats.
  • Bundles multi-sites : La Gift Box est expédiée depuis le Site A, mais les bougies sont au Site B. L’automatisation doit vérifier quel site a du stock avant de déduire.
  • Bundles dynamiques : Le client choisit 3 articles dans une liste de 10. La liste des composants n’est pas fixe — elle est déterminée au checkout.

Chacun de ces cas est une extension directe du même schéma. Le webhook se déclenche, votre serveur lit la commande, applique la logique métier, et ajuste l’inventaire. L’API ne change pas — seule la logique entre le webhook et l’appel API grandit.


Résumé

PréoccupationFeuille de calculAutomatisé
Vitesse de déductionMinutes à heures< 2 secondes
Mises à jour atomiquesNonOui
Piste d’auditAucuneComplète
Coût mensuelTemps de personnel$0
Gère les retoursManuelAutomatique
Monte à 100+ commandes/jourCasseConçu pour

Si votre boutique vend des bundles et que votre équipe met encore à jour une feuille de calcul après chaque commande, la solution est une construction unique — pas un autre abonnement mensuel.


Cet article fait partie de la série d’automatisation Shopify. Si vous avez des problèmes d’inventaire de bundles, réservez une appel de cadrage de 20 min — je examinerai votre configuration et vous dirai si l’automatisation est la bonne solution. Pour la question plus large de quand l’inventaire sur feuille de calcul échoue complètement, voir Votre feuille de calcul d’inventaire va casser à 10 000 SKU.