# 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.

- Source canonique : [https://allaux.fr/wordpress-woocommerce/problemes/stock-desynchronise](https://allaux.fr/wordpress-woocommerce/problemes/stock-desynchronise)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Comparez la valeur _stock du produit en base avec le chiffre du système externe relevé au même instant : c’est l’écart qui désigne le coupable, pas l’affichage de la fiche. Contrôlez ensuite WooCommerce > Réglages > Produits > Inventaire, en particulier le délai de conservation du stock, qui réserve les articles des commandes non payées et fait paraître le stock plus bas qu’il ne l’est.

## Comment je procède

1. **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.
2. **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.
3. **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.
4. **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.
5. **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.

## Un correctif de fond, pas un simple réglage

> Ajuster le délai de réservation ou la fréquence d’un import planifié reste un réglage. Mais dès que deux systèmes doivent rester alignés en continu, la solution durable est presque toujours un petit service de synchronisation avec une logique d’arbitrage explicite, pas une case à cocher supplémentaire.

## Pages liées

- **Intégrations et API** — Connecter WooCommerce à un ERP, un fournisseur ou un autre canal de vente avec une logique de synchronisation propre. ([/services/integrations-api](/services/integrations-api))
- **Extension WooCommerce sur mesure** — Quand la synchronisation dépasse ce qu’un plugin du marché sait arbitrer entre deux sources. ([/wordpress-woocommerce/extension-sur-mesure](/wordpress-woocommerce/extension-sur-mesure))

## FAQ

### Un simple plugin de synchronisation suffit-il à régler le problème ?

Parfois, si les deux systèmes ont une API compatible et un rythme de synchronisation suffisant pour votre volume de vente. Sur un catalogue à rotation rapide ou avec plusieurs canaux, un plugin générique atteint vite ses limites.

### Pourquoi le stock se décale même sans vente sur WooCommerce ?

Parce que l’écart peut venir uniquement du côté du système externe : un import qui écrase une valeur, ou une synchronisation qui tourne à un rythme différent de celui attendu.

### Le délai de réservation de stock peut-il être désactivé ?

Oui, mais je le déconseille en général : il évite qu’un client bloqué au paiement fasse disparaître du stock disponible pour d’autres acheteurs pendant sa tentative de règlement.

### Combien de temps prend la mise en place d’une synchronisation fiable ?

Ça dépend surtout de la qualité de l’API ou du flux disponible côté système externe. Un ERP avec une API documentée va beaucoup plus vite qu’un simple export de fichier à interpréter.
