BEAR - WooCommerce Bulk Editor and Products Manager Professional

Statut de stock WooCommerce qui ne change pas ou revient : causes et solutions

Vous passez un produit sur En stock (In stock), l'éditeur indique que c'est enregistré, et après un rechargement il est de nouveau Rupture de stock (Out of stock). Ou bien Rupture de stock revient sans cesse en En réapprovisionnement (On backorder), ou une quantité que vous avez saisie disparaît. Quand le statut de stock WooCommerce ne change pas, l'enregistrement n'a presque jamais échoué : WooCommerce a lui-même recalculé le statut à partir d'autres champs au moment de la sauvegarde du produit, et il le fait de la même façon dans son propre écran produit et dans BEAR. Une fois que vous savez quels champs décident du statut, chaque cas se règle en peu de temps.

Ce qui détermine le statut de stock dans WooCommerce

Tout dépend de Gérer le stock (Manage stock), l'interrupteur qui indique à WooCommerce de compter les unités du produit.

Gérer le stockD'où vient le statut
DésactivéLe statut est un simple champ : ce que vous définissez est conservé. À chaque enregistrement, WooCommerce vide la quantité et remet les commandes en réapprovisionnement sur Ne pas autoriser (Do not allow), car elles n'ont aucun sens sans comptage.
ActivéLe statut est calculé à chaque enregistrement. Quantité supérieure au Seuil de rupture de stock (Out of stock threshold) : En stock. Sinon, commandes en réapprovisionnement autorisées : En réapprovisionnement. Sinon : Rupture de stock. Un statut choisi à la main est aussitôt remplacé.

Le Seuil de rupture de stock est une option valable pour toute la boutique, sous WooCommerce → Réglages → Produits → Inventaire (Inventory), à 0 par défaut. S'il est réglé sur 2, un produit avec 2 unités en stock passe en Rupture de stock à son prochain enregistrement ou à sa prochaine vente, ce qui explique la plupart des cas de « rupture de stock malgré une quantité positive ».

Les produits variables ajoutent une couche supplémentaire :

  • Un produit variable qui ne gère pas lui-même le stock tire son statut de ses variations : En stock si au moins une variation est en stock, sinon En réapprovisionnement si l'une l'est, sinon Rupture de stock. Un statut défini sur un tel produit parent est remplacé à partir des variations dès qu'il est enregistré.
  • Une variation avec son propre Gérer le stock fonctionne comme un produit simple. Une variation sans cette option, sous un parent qui gère le stock, vend à partir de la quantité commune du parent. Une variation où ni elle ni le parent ne comptent le stock a un statut que vous définissez à la main.

Pourquoi l'éditeur affiche un statut et la boutique un autre

La cellule du statut de stock est une liste déroulante. Quand vous choisissez une valeur, BEAR l'envoie, WooCommerce enregistre le produit et recalcule, et la cellule continue d'afficher l'option choisie avec le message Enregistré (Saved). La valeur recalculée n'apparaît qu'au rechargement du tableau. C'est le signalement classique : le statut « change », et après être passé à une autre page puis revenu, c'est l'ancien.

Le tableau est aussi un instantané du moment où il a été chargé. Les commandes passées depuis ont pu diminuer des quantités et changer des statuts que la page ouverte n'affiche pas. Rechargez-le avant de juger une valeur.

Les solutions pour chaque symptôme

Rupture de stock revient en En réapprovisionnement

Le produit gère le stock, sa quantité est inférieure ou égale au seuil et les commandes en réapprovisionnement sont autorisées. WooCommerce choisira toujours En réapprovisionnement dans cette situation. Réglez Autoriser les commandes en réapprovisionnement (Allow backorders) sur Ne pas autoriser et le statut devient Rupture de stock de lui-même ; il n'y a pas besoin de définir le statut. Dans l'onglet Modifier en bloc (Bulk Edit), Autoriser les commandes en réapprovisionnement se trouve dans la section Complémentaire (Additional) et sa colonne est désactivée par défaut dans l'éditeur. Dans la version gratuite, il ne fait pas partie des opérations en masse : modifiez-le produit par produit dans sa cellule (voir les limites de la version gratuite).

Impossible de définir En stock

Le produit gère le stock et sa quantité est 0, ou n'est pas supérieure au seuil. Deux possibilités. Si vous comptez ce produit, saisissez la quantité réelle : le statut suit. Si vous ne le comptez pas (fabrication à la commande, services, dropshipping), réglez d'abord Gérer le stock sur Non (No), puis définissez le statut, en deux étapes distinctes comme expliqué plus bas.

La quantité saisie disparaît

Le produit ne gère pas le stock, donc WooCommerce supprime le nombre à l'enregistrement. BEAR prend en charge un cas pour vous : une quantité de 0 ou moins active Gérer le stock, en partant du principe que vous voulez que WooCommerce commence à compter, et le statut devient alors Rupture de stock ou En réapprovisionnement. Un nombre positif sur un produit sans gestion de stock n'est tout simplement pas conservé. Activez d'abord Gérer le stock, puis saisissez la quantité. Si vous ne voulez pas qu'un 0 active la gestion, renvoyez false depuis le filtre woobe_stock_quantity_dependency (functions.php du thème enfant ou extension de snippets de code) :

add_filter( 'woobe_stock_quantity_dependency', '__return_false' );

Deux endroits n'acceptent jamais de quantité : un produit variable qui ne gère pas le stock (son stock se trouve dans les variations), et une variation qui vend à partir du stock commun de son parent. Modifiez la quantité commune sur le produit parent.

Une ou deux exécutions en masse : l'ordre des champs

Quand plusieurs champs sont cochés dans l'onglet Modifier en bloc (Bulk Edit), BEAR les applique à chaque produit l'un après l'autre, dans l'ordre du formulaire : d'abord la section Basique (Basic) (quantité en stock (in stock quantity), puis Définir : statut de stock (Set: stock status)), ensuite la section Complémentaire (Gérer le stock, puis Autoriser les commandes en réapprovisionnement). Chaque étape enregistre le produit, et WooCommerce recalcule le statut à chaque fois. Deux combinaisons ne donnent donc pas ce qu'elles semblent promettre :

Cochés ensembleCe qui se passeÀ faire à la place
Gérer le stock : Non (Manage stock: No) + Définir : statut de stock En stockLe statut est écrit alors que le produit compte encore le stock, et il est recalculé ; puis le comptage est désactivé et le statut calculé reste.Lancez d'abord Gérer le stock : Non, puis le statut dans une seconde exécution.
Gérer le stock : Oui (Manage stock: Yes) + quantité en stock 25La quantité est écrite alors que le produit ne compte pas encore le stock, et elle est supprimée ; puis le comptage est activé sans quantité, et le produit est en rupture de stock.Lancez d'abord Gérer le stock : Oui, puis la quantité.

Désactiver Gérer le stock ne réinitialise jamais le statut : un produit qui était en rupture de stock le reste jusqu'à ce que vous le définissiez. BEAR garde de côté la dernière quantité quand vous désactivez le comptage et la remet si vous le réactivez dans BEAR. Les deux exécutions figurent dans l'onglet Historique (History) et peuvent être annulées. Une exception dans BEAR 2.2.4 : Historique ne stocke l'ancien statut de stock que sous la forme en stock ou non, de sorte qu'un produit qui était En réapprovisionnement (ou avait un statut personnalisé) revient en Rupture de stock après une annulation. Vérifiez ces produits après l'annulation et remettez-les comme avant. Le guide général pour ces champs se trouve dans BEAR comme gestionnaire de stock WooCommerce.

Produits variables et variations

Pour modifier ce que voient les clients sur un produit variable, modifiez ses variations. Activez variations dans le panneau d'outils : l'éditeur affiche alors les variations des produits de la page, et les opérations en masse s'appliquent uniquement aux variations (voir produits variables et leurs variations). Le statut du parent suit une fois celles-ci enregistrées.

Un cas fréquent après un import ou une migration depuis un autre système de boutique : toutes les variations sont arrivées avec Gérer le stock activé et certaines avec une quantité de 0, si bien que le thème affiche des mentions « rupture de stock » sur des produits disponibles. Filtrez par type de produit variable, activez variations, puis saisissez les quantités réelles, ou réglez Gérer le stock : Non et, dans une seconde exécution, Définir : statut de stock sur En stock.

Le filtrage repose sur les mêmes valeurs enregistrées. Le filtre de statut de stock de l'onglet Filtres (Filters) compare le statut propre à chaque produit et ne correspond pas aux variations : un produit variable dont trois tailles sur cinq sont épuisées reste donc En stock et n'apparaît pas sous Rupture de stock. Pour trouver les variations épuisées, utilisez le filtre de quantité en stock, qui lit les quantités des variations et les renvoie avec leurs produits parents.

Un stock qui change tout seul

BEAR n'a pas de tâches en arrière-plan : il n'écrit le stock que lorsque quelqu'un lance une modification dans l'outil. Si son serveur MCP est activé, un assistant IA qui y est connecté peut lui aussi modifier le stock. L'onglet Historique indique qui a fait chaque modification et si elle a été faite à la main ou via l'assistant IA (un administrateur voit les modifications de tout le monde) : une modification absente de l'Historique n'a donc pas été faite par BEAR. Les sources habituelles sont ailleurs :

  • Les commandes. Une commande diminue la quantité une fois qu'elle est payée, en cours de traitement ou en attente, une commande annulée la restitue, et lorsque les commandes en réapprovisionnement sont autorisées, la quantité passe sous zéro.
  • Les extensions de synchronisation et d'inventaire. Les connecteurs vers la comptabilité, un ERP, une caisse ou un système d'entrepôt récupèrent souvent les niveaux de stock selon un calendrier et écrasent ce que vous avez saisi, parfois avec des nombres très inférieurs à zéro. Trouvez l'option qui importe les niveaux de stock et décidez quel système fait foi.
  • Un cache d'objets persistant. Avec Redis ou Memcached, WordPress conserve les données produit en mémoire. Un outil de synchronisation qui écrit directement dans la base de données, sans passer par WooCommerce, laisse la copie en cache intacte : BEAR et la boutique continuent donc d'afficher l'ancienne quantité jusqu'à l'expiration ou la purge de cette entrée de cache. Vider le cache d'objets le confirme ; la solution durable est un outil de synchronisation qui enregistre les produits via WooCommerce.

Si le statut ne peut être enregistré nulle part

Essayez la même modification dans l'écran d'édition de produit de WooCommerce, dans l'onglet Inventaire. Si cela ne tient pas non plus, ce sont les champs ci-dessus ou une autre extension qui décident : une extension de précommande, de réservation ou de stock qui se branche sur l'enregistrement du produit peut imposer son propre statut. Trouvez-la en désactivant les extensions sur une copie de préproduction, comme décrit dans isoler les conflits d'extensions. Si cela fonctionne là et pas dans BEAR, parcourez les modifications de l'éditeur en masse qui ne s'enregistrent pas.

Une vérification rapide avant tout le reste : le produit gère-t-il le stock, quelle est sa quantité, les commandes en réapprovisionnement sont-elles autorisées, quel est le Seuil de rupture de stock, et s'agit-il d'un produit variable dont les variations décident ? Ces cinq réponses expliquent presque tous les statuts qui refusent de changer. Si votre cas n'y correspond pas, posez la question sur le forum de support de BEAR.