Comment fonctionne BundlesIQ
BundlesIQ développe les variantes de bundle en leurs variantes de composants (selon votre mode de gestion configuré) afin que votre vitrine puisse vendre un seul « article de bundle » tandis que vos opérations et rapports reflètent les articles sous-jacents.

Terminologie (important)
BundlesIQ fonctionne de variante à variante :
- Produit : Un conteneur de produit Shopify (ce que les commerçants naviguent souvent dans l'Admin)
- Variante : L'article au niveau SKU achetable (c'est ce que BundlesIQ cartographie et détecte)
- Variante SKU fantôme : La variante bundle que les clients achètent (l'élément de ligne « parent »)
- Variantes de composants : La ou les variantes contenues dans le bundle, chacune avec une quantité
Lorsque ce document dit « produit », il fait référence à la façon dont l'Admin Shopify est organisé. La détection et la cartographie réelles sont toujours effectuées en utilisant les ID de variante.
Le modèle SKU fantôme
BundlesIQ utilise une approche de variante SKU fantôme pour le bundling :
- Vous choisissez la variante que les clients achèteront comme bundle :
- Sélectionnez une variante Shopify existante, ou
- Créez l'article de bundle dans BundlesIQ (plus rapide, mais plus limité que l'Admin Shopify)
- Dans BundlesIQ, vous définissez le bundle en liant cette variante SKU fantôme à une ou plusieurs variantes de composants (plus les quantités)
- Lorsqu'un client achète la variante SKU fantôme, BundlesIQ la détecte et traite la commande en fonction de votre mode de gestion (Opérationnel, Hybride, Reporting, ou Parent-Uni/BOM)

Exemple concret (de variante à variante)
Produit A : « Pomme »
- Variante A (standard) : « Unitaire »
- Variante B (bundle) : « Paquet de deux » → composants : Variante A × 2
- Variante C (bundle) : « Paquet de trois » → composants : Variante A × 3
- Variante D (bundle) : « Paquet de quatre » → composants : Variante A × 4
- Variante E (bundle) : « Paquet de cinq » → composants : Variante A × 5
Le bundle semble être un « produit » dans l'Admin Shopify, mais BundlesIQ les cartographie et les traite comme des variantes.
Pourquoi des variantes SKU fantômes
Les variantes SKU fantômes gardent la vitrine simple tout en permettant au back-office de rester précis :
- Les clients voient un article avec un prix
- Ops/Entrepôt peuvent travailler avec les articles réels de préparation/emballage (lorsque votre mode ajoute des composants à la commande)
- Comptabilité/Rapport peut suivre les revenus au niveau que vous choisissez (niveau bundle, niveau composant, ou les deux)
- Contrôle des stocks dépend du mode de gestion :
- Dans les modes où les composants sont sur la commande, le flux normal d'inventaire de Shopify s'applique aux variantes de composants
- En mode Parent-Uni (BOM), BundlesIQ peut optionnellement gérer l'inventaire des composants via des états d'inventaire (plus ci-dessous)
Modes de gestion (Ce qui change sur la commande)
BundlesIQ prend en charge plusieurs modes de gestion. Le mode détermine ce qui apparaît sur la commande finale :
| Mode de gestion | Variante SKU fantôme sur la commande ? | Variantes de composants sur la commande ? | Cas d'utilisation typique |
|---|---|---|---|
| Opérationnel | ❌ Retiré | ✅ Oui (tarifé) | Entreposage + réalité opérationnelle (préparation/emballage) |
| Hybride | ✅ Oui (défini à 0,00 $) | ✅ Oui (tarifé) | Ops + visibilité du bundle conservée |
| Reporting | ✅ Oui (tarifé) | ✅ Oui (défini à 0,00 $) | Les revenus restent sur le bundle, les ops voient toujours les composants |
| Parent-Uni (BOM) | ✅ Oui (tarifé) | ❌ Non | Modèle de coût de fabrication/kitting ; pas d'expansion de ligne de commande |

Le pipeline de transformation
Lorsqu'une commande (ou une commande brouillon) est créée, BundlesIQ exécute ce pipeline :
1) Détection
Shopify envoie un webhook (par exemple, orders/create ou draft_orders/create). BundlesIQ vérifie l'ID de variante de chaque élément de ligne par rapport à son index de bundle.
- Les SKU sont optionnels — BundlesIQ ne nécessite pas de SKU pour détecter les bundles
- La détection est basée sur l'identité de la variante, pas sur le titre/handle du produit

2) Protection 3PL (Optionnelle)
Si la protection 3PL est activée, BundlesIQ peut :
- Marquer la commande comme en cours de traitement (exemple :
BIQ_PROCESSING) - Placer optionnellement un maintien de fulfillment afin que votre 3PL/entrepôt n'importe pas la commande prématurément
3) Chargement de configuration
BundlesIQ charge :
- Définition du bundle (variante SKU fantôme + variantes de composants + quantités)
- Configuration des prix (surcharge au niveau du bundle ou par défaut du magasin)
- Mode de gestion (surcharge du bundle ou par défaut du magasin)
- Toute barrière (limites, règles de validation, paramètres 3PL, etc.)
4) Calcul et validation des prix
BundlesIQ détermine comment les prix doivent être représentés sur la commande. C'est là que se trouvent la plupart des cas particuliers.
Réalité clé :
- BundlesIQ utilise principalement des remises/allocations pour atteindre les prix cibles des composants.
- Augmenter le prix effectif d'un composant au-dessus du prix de base de la variante n'est pas toujours pris en charge dans tous les scénarios.
Validations courantes :
- Le prix dirigé par le bundle nécessite généralement que la somme de détail de vente du composant (qty × prix) soit >= le prix du bundle pour éviter des allocations impossibles
- Le prix fixe sur un composant doit être <= le prix de vente du composant
5) Transformation de la commande (dépendant du mode)
Pour les modes Opérationnel / Hybride / Reporting, BundlesIQ modifie la commande :
- Ajoute des éléments de ligne de composants (quantités correctes)
- Applique des remises/allocations pour atteindre le résultat de prix configur��
- Modifie l'élément de ligne SKU fantôme en fonction du mode de gestion (le retire, le définit à 0 $, ou le garde tarifé)
Remarques :
- BundlesIQ évite d'introduire des frais supplémentaires lors de la transformation (par exemple, les clients ne devraient pas soudainement payer plus à cause de l'expansion).
- La présentation finale des frais d'expédition/taxes dépend de la configuration du magasin et des règles de calcul de Shopify, mais l'intention est « pas d'augmentation surprise due à la transformation elle-même ».
Pour le mode Parent-Uni (BOM), BundlesIQ n'ajoute pas d'éléments de ligne de composants à la commande :
- L'élément de ligne SKU fantôme reste tel quel
- Aucun élément de composant n'apparaît sur la commande
- BundlesIQ peut optionnellement gérer l'inventaire des composants en transférant les quantités dans un état d'inventaire non vendable (par exemple, réservé/engagé selon le flux de travail), puis :
- consommer lors de l'exécution, ou
- libérer lors de l'annulation
6) Post-traitement
Après un traitement réussi :
- L'étiquette de traitement est mise à jour (exemple :
BIQ_PROCESSING→BIQ_READY) - Les maintiens sont libérés (si activés)
- Un champ métadonnées d'audit est écrit dans la commande (résumé de haut niveau de ce qui s'est passé)
- Un enregistrement d'instance de bundle est sauvegardé (instantané complet avant/après + journaux internes)
7) Gestion des erreurs
Si le traitement échoue :
- BundlesIQ ne « s'engage pas à moitié » dans les changements. Il valide d'abord et ne s'engage à modifier la commande qu'une fois les vérifications passées.
- La commande est marquée comme échouée (exemple :
BIQ_ERROR) - Les détails sont enregistrés dans le tableau de bord de santé de BundlesIQ
- Un comportement de réessai optionnel peut réessayer le traitement après un temps d'attente
- Vous pouvez manuellement Reprocesser une commande depuis l'Admin Shopify via l'action/menu BundlesIQ (réexécute le pipeline)

Où les données sont stockées
BundlesIQ stocke les données à la fois dans Shopify et dans la base de données cloud de BundlesIQ.
Sur votre boutique Shopify
| Emplacement | Données |
|---|---|
| Étiquettes de commande | Étiquettes d'état de traitement (ex : BIQ_PROCESSING, BIQ_READY, BIQ_ERROR) |
| Métadonnées de commande | Piste d'audit / résumé de transformation (ex : bundles_iq.transformation_audit) |
| Notes de commande (optionnelles) | Avertissements/indicateurs lisibles par l'homme (si activés) |
Dans la base de données cloud de BundlesIQ
| Collection | Données |
|---|---|
| Bundles | Définitions de bundle, composants, groupes de substitution, configuration des prix |
| Instances de bundle | Enregistrements de traitement par commande avec instantanés avant/après |
| Journaux de traitement | Journal d'événements horodatés pour les webhooks, détection, modifications, réessais |
| Paramètres | Préférences de magasin, valeurs par défaut du mode de gestion, portée, configuration 3PL |
| Index de variantes de bundle | IDs de variantes SKU fantômes → cartographie de définition de bundle |
| Index de bundle de composants | IDs de variantes de composants → bundles qui les incluent |
Temps de traitement (À quoi s'attendre)
BundlesIQ traite de manière asynchrone après que Shopify a envoyé le webhook. Le temps de traitement dépend de :
- nombre de bundles sur la commande
- nombre de composants par bundle
- débit de l'API Shopify + limites de taux
- si l'allocation des prix nécessite des appels de validation supplémentaires
Plages typiques :
- Petite commande (bundle unique, quelques composants) : quelques secondes
- Plusieurs bundles / nombreux composants : plusieurs secondes à ~dizaines de secondes
- Mise en file d'attente à fort volume : plus long
Si la protection 3PL est activée, la commande reste en attente jusqu'à ce que BundlesIQ la marque comme prête, donc la variance de timing ne devrait pas affecter l'exactitude de fulfillment.