Le stock WooCommerce est désynchronisé
« Désynchronisé » veut presque toujours dire que deux systèmes pensent chacun détenir la vérité sur le stock, sans qu’aucun arbitrage ne tranche entre les deux. WooCommerce gère le stock produit par produit, ou variation par variation, via l’option « Gérer le stock ? » ; le problème apparaît dès qu’une source externe, fournisseur, ERP ou autre canal de vente, modifie ce chiffre sans passer par les mêmes règles.
Comment je procède
-
Vérification de la source de vérité
Je regarde d’où provient réellement le chiffre affiché : la valeur _stock en base WooCommerce, ou une donnée réimportée depuis un flux fournisseur, un ERP, ou un autre canal de vente, et à quelle fréquence.
-
Analyse du rythme de synchronisation
Un import CSV nocturne ou une synchronisation via l’API REST wc/v3/products qui ne tourne pas assez souvent laisse une fenêtre où deux ventes simultanées, sur deux canaux différents, peuvent survendre le même article.
-
Contrôle du délai de réservation
Le réglage woocommerce_hold_stock_minutes réserve le stock d’une commande en attente de paiement pendant un nombre de minutes défini. Une passerelle de paiement lente à confirmer peut faire ressembler cette réservation normale à une désynchronisation.
-
Recherche de commandes créées hors circuit standard
Une commande insérée directement par API ou par import, en dehors du tunnel de commande WooCommerce classique, peut contourner le hook habituel de décrément de stock et laisser un chiffre faux sans qu’aucune commande visible n’explique l’écart.
-
Décision sur la mécanique de synchronisation cible
Une fois la cause identifiée, je détermine si un réglage suffit ou si le vrai correctif est un petit service de synchronisation propre, avec une logique d’arbitrage claire entre les systèmes en cause.
Ce que je traite régulièrement
- Un produit vendu sur WooCommerce alors qu’il n’y en avait plus chez le fournisseur
- Le stock affiché ne correspond ni à celui de l’ERP, ni à celui du fournisseur, sans logique apparente
- Des commandes bloquent du stock pendant plusieurs minutes sans être finalisées, faussant les chiffres disponibles
- Un import de stock écrase des quantités qui venaient d’être vendues quelques minutes plus tôt
- Le stock est correct juste après l’import, puis dérive au fil de la journée
D’où vient réellement l’écart
WooCommerce stocke la quantité (_stock) et un statut calculé (_stock_status) en métadonnée du produit ou de la variation. Tant qu’une seule source modifie ce chiffre, via le tunnel de commande normal, tout reste cohérent. Le problème commence dès qu’un deuxième système, un flux fournisseur, un ERP ou un autre canal de vente, écrit aussi cette valeur, sans qu’aucun des deux ne sache ce que l’autre vient de faire.
Un import CSV nocturne ou une synchronisation par l’API REST WooCommerce (le point d’accès wc/v3/products) qui ne tourne qu’une ou deux fois par jour crée une fenêtre où le catalogue peut être survendu entre deux passages, en particulier sur un catalogue à rotation rapide.
Le réglage woocommerce_hold_stock_minutes ajoute une nuance souvent oubliée : une commande en attente de paiement réserve du stock pendant un délai fixe. Si la passerelle de paiement met du temps à confirmer, cette réservation normale peut se lire à tort comme une désynchronisation.
Pages liées
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.