Gérer un stock de packs composés sur Shopify sans rupture : le modèle matryoshka expliqué
Sommaire (8 sections)
- Comment Shopify gère-t-il les packs composés ?
- Pourquoi cet article
- 1. Le problème : Shopify ne gère pas les packs composés nativement
- Le modèle Shopify : 1 SKU = 1 stock
- Pourquoi c'est l'inverse de la réalité marchand
- Les deux mauvaises options qui restent
- Les chiffres réels sur 4 boutiques
- 2. Les hacks classiques (et leurs limites)
- Hack #1 — Shopify Bundles, l'app officielle
- Hack #2 — Apps tierces (Simple Bundles, Bundle Kit, Sumtracker)
- Hack #3 — Le tableur Google Sheets
- 3. Le stock gigogne : composants → packs → packs de packs
- Le principe en une phrase
- Exemple concret (cas réel JOLUVIA)
- La formule récursive du pack récursif
- Garde-fou anti-cycle
- 4. Les substituts par slot : la pièce manquante du puzzle
- Du composant fixe au slot flexible
- Exemple de slot multi-substituts
- Conséquence sur les ruptures
- Le cas réel JOLUVIA avant/après
- 5. Pour qui c'est utile (et pour qui c'est overkill)
- Les 3 critères de pertinence
- Quand c'est overkill
- Quand c'est indispensable
- FAQ — Stock pack composé Shopify
- Quelle différence entre un bundle et un pack composé ?
- Combien de niveaux de profondeur le stock gigogne peut-il gérer ?
- Comment le système choisit-il quel substitut décompter ?
- Peut-on faire du FIFO avec le stock gigogne ?
- Est-ce que ça marche avec Shopify Plus / multi-boutiques ?
- Comment éviter les cycles dans un stock gigogne ?
Gérer un stock de packs composés sur Shopify sans rupture : le stock gigogne expliqué
En résumé — Gérer un stock de packs composés sur Shopify est impossible nativement. Shopify fonctionne en mode 1 SKU = 1 stock. Le stock gigogne — aussi appelé matryoshka, en référence aux poupées russes qui s'emboîtent — empile composants → packs → packs de packs, avec des substituts par slot qui calculent le stock en cascade et résolvent le problème. Résultat sur 4 boutiques : ruptures divisées par 6, 47 min/j économisées, +1800€/mois récupérés.
Comment Shopify gère-t-il les packs composés ?
Shopify ne gère pas nativement les packs composés. La plateforme fonctionne avec un stock à un seul niveau : chaque SKU a son propre compteur, indépendant des autres. Vendre un pack ne décrémente pas le stock des composants qui le composent. Le marchand doit donc maintenir la cohérence à la main ou via une app tierce.

Pourquoi cet article
Si tu vends sur Shopify des bundles, coffrets, lots, abonnements mensuels ou packs découverte, tu connais ce scénario.
Un composant tombe en rupture. Tout le pack devient invendable. Même si tu as une alternative équivalente en stock.
⚠️ Attention — Tu finis par éditer la recette à la main toutes les semaines. C'est le symptôme #1 d'un stock multi-niveau mal géré.
Ce guide explique pourquoi Shopify échoue sur ce point et présente une approche radicalement différente : le stock gigogne, où le stock se calcule en cascade depuis les composants vers les packs.
1. Le problème : Shopify ne gère pas les packs composés nativement
Le modèle Shopify : 1 SKU = 1 stock
Shopify a été conçu autour d'un principe simple : un produit, un compteur de stock.
Tu crées un produit "Pack Découverte 5 saveurs". Shopify te demande combien d'unités de ce pack tu as. Pas combien de saveurs individuelles tu possèdes.
Pourquoi c'est l'inverse de la réalité marchand
Dans la vraie vie d'un marchand qui vend des bundles, le modèle est inversé :
- Tu n'as pas un stock de "Pack Découverte"
- Tu as un stock de chaque saveur individuelle
- Le nombre de packs vendables est une dérivée :
min(stock_saveur / quantité_dans_le_pack) - Quand tu vends un pack, ce sont les composants qui doivent être décrémentés
Shopify ne fait rien de tout ça nativement.
Les deux mauvaises options qui restent
Tu te retrouves face à un choix bancal :
- Maintenir le stock du pack à la main à chaque vente. Impraticable au-delà de 10 ventes/jour.
- Désactiver la gestion du stock sur les packs et prier pour ne pas survendre.
📊 Le chiffre — 60% des marchands Shopify de moins de 500 commandes/mois bricolent avec Google Sheets. C'est gratuit, mais ça casse vers 30 SKUs.
Les chiffres réels sur 4 boutiques
D'après notre suivi sur 4 boutiques Shopify JOLUVIA en production (env. 800-1200 commandes/mois cumulées) :
| Métrique | Valeur |
|---|---|
| Ruptures de pack "fausses" (composant équivalent dispo) | 23% |
| Temps quotidien à corriger les recettes manuellement | 47 min/j |
| CA manqué sur périodes critiques (Noël, fête des mères) | 12% |
2. Les hacks classiques (et leurs limites)
Hack #1 — Shopify Bundles, l'app officielle
Shopify propose Shopify Bundles, une app gratuite pour créer des packs à partir de variantes existantes.
C'est mieux que rien. Mais c'est très limité :
- Pas de packs de packs — impossible de faire "Pack 500g = 5 × Pack 100g"
- Pas de substituts — si la saveur Fraise tombe à 0, le bundle Shopify est bloqué
- Pas de gestion par lot/batch — pas de DLUO, pas de numéro de lot, pas de FIFO
Hack #2 — Apps tierces (Simple Bundles, Bundle Kit, Sumtracker)
Ces apps font mieux que Shopify Bundles :
- Simple Bundles — bundles à 2 niveaux, bon pour coffrets simples
- Bundle Kit — équivalent avec checkout customizable
- Sumtracker — ajoute la notion de stock multi-emplacement
⚠️ Attention — Limites communes à ces apps : récursivité gigogne limitée à 2 niveaux, pas de substituts par slot, tarif 19-49$/mois en plus de l'abonnement Shopify.
Hack #3 — Le tableur Google Sheets
C'est la solution de 60% des marchands sous 500 commandes/mois.
Un Google Sheet avec une formule MIN(B2/5, C2/3, D2/2) qui calcule le stock pack disponible. Synchronisé à la main avec Shopify.
Avantages : gratuit, flexible.
Inconvénients :
- Latence de 24-48h entre une vente et la mise à jour du stock
- Erreurs humaines fréquentes (formule cassée, ligne oubliée)
- Explosion de la complexité dès qu'on dépasse 30 SKUs
- Impossible d'introduire des packs de packs
3. Le stock gigogne : composants → packs → packs de packs
Le principe en une phrase
Le stock gigogne empile les niveaux de produit comme des poupées russes. Chaque niveau supérieur consomme du stock des niveaux inférieurs.
💡 Astuce — Pense le stock gigogne comme une arborescence : les feuilles sont des composants physiques, les nœuds sont des packs, la racine est le pack final affiché au client.
Exemple concret (cas réel JOLUVIA)
Niveau 0 — Composants (feuilles) :
- Bonbon acidulé Fraise : 100 unités
- Bonbon acidulé Cerise : 50 unités
- Bonbon acidulé Citron : 80 unités
Niveau 1 — Pack 100g (50g rouge + 50g jaune) :
- Recette : 1× "rouge" + 1× "jaune"
- Stock auto-calculé :
min(stock_rouge_total, stock_jaune_total)
Niveau 2 — Pack 500g (5× Pack 100g) :
- Recette : 5× Pack 100g (qui est lui-même un pack)
- Stock auto-calculé :
stock_pack_100g / 5

La formule récursive du pack récursif
Quand on demande "combien de Pack 500g puis-je vendre ?", le calcul descend en cascade :
- Pack 500g = 5× Pack 100g
- Pack 100g = 1× rouge + 1× jaune
- Rouge = somme des stocks (Fraise + Cerise) si substituts configurés
- Jaune = somme des stocks (Citron + ...)
- On remonte :
Pack 100g = min(rouge_total, jaune_total) Pack 500g = floor(Pack 100g / 5)
✅ Recommandation — Tout est calculé en temps réel, à chaque consultation du stock. Zéro synchronisation manuelle, zéro latence.
Garde-fou anti-cycle
Un stock gigogne mal configuré peut créer un cycle infini.
Exemple interdit : Pack A contient Pack B qui contient Pack A. Le calcul boucle.
Le stock gigogne doit donc inclure un garde-fou anti-cycle qui détecte ces configurations au moment de la création de la recette. Pas à la première vente.
4. Les substituts par slot : la pièce manquante du puzzle

Du composant fixe au slot flexible
C'est ici que le stock gigogne devient vraiment puissant et se transforme en packs intelligents.
Au lieu de définir une recette comme "1 unité de Fraise", on définit un slot qui accepte plusieurs alternatives priorisées.
Exemple de slot multi-substituts
Slot "rouge" du Pack 100g :
- 1× Fraise (priorité 0 = principal)
- 1× Cerise (priorité 1 = substitut)
- 1× Framboise (priorité 2 = substitut)
Conséquence sur les ruptures
Le pack tombe en rupture uniquement si TOUTES les alternatives sont à 0.
Tant qu'au moins une alternative a du stock, le pack reste vendable. Le système choisit automatiquement laquelle décompter lors de la préparation de commande (priorité 0 d'abord, puis 1, etc.).
💡 Astuce — Configure 2 à 3 substituts par slot pour les composants critiques. Tu absorbes les ruptures sans toucher au catalogue.
Le cas réel JOLUVIA avant/après
Avant les packs intelligents :
- 50 SKUs de packs
- 8-12 packs en rupture en permanence à cause d'un composant manquant
- Manque à gagner estimé : 1500-2200€/mois
Après packs intelligents (octobre 2025 → janvier 2026) :
- 0-2 packs en rupture en moyenne
- 0 minute par jour passée à corriger les recettes
- Récupération : +1800€/mois sur la boutique pilote
📊 Le chiffre — Ruptures divisées par 6, manque à gagner récupéré à 90%. Sur 4 boutiques, l'impact cumulé dépasse les 6000€/mois.
5. Pour qui c'est utile (et pour qui c'est overkill)
Les 3 critères de pertinence
Le stock gigogne avec packs intelligents est pertinent si tu valides au moins 2 des 3 critères suivants :
- Tu vends plus de 10 SKUs de packs/bundles/coffrets
- Tu as des composants interchangeables (couleurs, saveurs, parfums, références équivalentes)
- Tu fais plus de 100 commandes/mois sur les packs
Quand c'est overkill
- Tu vends 3 packs simples qui ne se chevauchent pas → un Google Sheet suffit
- Tu fais moins de 50 commandes/mois → la complexité ne se justifie pas encore
- Tu n'as aucun composant interchangeable → la valeur principale (substituts) est nulle
Quand c'est indispensable
- Tu vends 50 coffrets avec 8 composants chacun → le stock gigogne évite des heures de gestion manuelle
- Tu as des abonnements mensuels avec contenu variable → seuls les slots de substituts permettent de tenir
- Tu opères en multi-boutique Shopify → le calcul global cross-store n'est faisable qu'avec un vrai modèle
✅ Recommandation — Si tu hésites, fais l'inventaire de tes ruptures du dernier mois. Compte celles qui étaient évitables avec un substitut. Au-delà de 5/mois, le ROI est immédiat.
FAQ — Stock pack composé Shopify
Quelle différence entre un bundle et un pack composé ?
Un bundle Shopify est un assemblage de produits existants vendu ensemble sans décrémenter le stock des composants. Un pack composé consomme automatiquement le stock des composants via une recette. Les bundles natifs Shopify n'ont pas cette mécanique, contrairement au stock gigogne.
Combien de niveaux de profondeur le stock gigogne peut-il gérer ?
Théoriquement infini. En pratique, la limite raisonnable est 5 à 7 niveaux — au-delà, l'UX humaine devient ingérable (pas l'algorithme). Lucasstack pose une garde à 10 niveaux pour éviter les erreurs de configuration involontaires.
Comment le système choisit-il quel substitut décompter ?
Par ordre de priorité défini à la création du slot. Priorité 0 = principal, consommé en premier. Quand le principal tombe à 0, le système bascule automatiquement sur priorité 1, puis 2, etc. Tout est paramétrable slot par slot.
Peut-on faire du FIFO avec le stock gigogne ?
Oui. Il faut coupler le stock gigogne avec une gestion par lots/batches : chaque réception de composant crée un lot avec une date. Le système consomme alors d'abord les lots les plus anciens (FIFO natif).
Est-ce que ça marche avec Shopify Plus / multi-boutiques ?
Oui. Lucasstack synchronise le stock gigogne entre plusieurs boutiques Shopify (jusqu'à 10 selon le plan). Le calcul est global : 100g rouge à Paris + 50g rouge à Lyon = 150g disponibles, avec logique d'attribution boutique par boutique si tu veux les isoler.
Comment éviter les cycles dans un stock gigogne ?
Un garde-fou anti-cycle détecte les configurations interdites (Pack A → Pack B → Pack A) au moment de la création de la recette. Pas à la première vente. C'est une validation côté serveur, impossible à contourner depuis l'UI.
🚀 Tester Lucasstack — Le stock gigogne avec packs intelligents est natif dans Lucasstack. Aucune autre app Shopify ne fait les deux nativement. 14 jours gratuits, sans carte bancaire. Démarrer l'essai →
À propos de l'auteur — Johanna Poitevin est cofondatrice de Lucasstack et fondatrice de JOLUVIA SAS, qui opère 4 boutiques Shopify depuis 2023 avec 800 à 1200 commandes/mois cumulées. Elle a ressenti personnellement le besoin du stock gigogne avant de le construire — chaque mécanique décrite ici a été validée en production sur ses propres boutiques avant d'être industrialisée dans Lucasstack.
À lire ensuite :
À lire ensuite

Rupture de stock sur un composant de pack Shopify : les 4 stratégies (et laquelle choisir)
Un composant d'un pack tombe en rupture sur Shopify : voilà 4 stratégies pour gérer la situation (désactivation automatique, substitution manuelle, alerte fournisseur, substituts auto par slot), avec les pros, contras et le profil de boutique pour lequel chacune est le bon choix.

Lucasstack vs Shippingbo, Sendcloud et 4 alternatives : le comparatif logistique Shopify 2026
Comparatif sans langue de bois de 7 logiciels logistiques pour e-commerçants Shopify : Lucasstack, Shippingbo, Sendcloud, Veeqo, Sumtracker, Stocky, Inventory Planner. Tarifs réels, fonctionnalités et profil de boutique idéal.

WMS, OMS, IMS : quelle différence pour ton e-commerce et lequel choisir ?
WMS, OMS, IMS : trois acronymes qui désignent des logiciels logistiques différents. Voilà la vraie différence, qui en a besoin de quoi, et pourquoi 80% des marchands Shopify de moins de 5000 cmd/mois n'ont besoin que d'un OMS + IMS.
Tester Lucasstack — gratuit pendant 14 jours
Sans carte bancaire. Annulation en 1 clic. Stock gigogne inclus.
Démarrer l'essai gratuit