Écarts de stock
La description
Ce rapport est disponible dans Magasins> Configuration> Gestion des stocks> Écarts de stock en cliquant sur le bouton Afficher .
Il peut être mis à jour:
- Utilisation du bouton Mettre à jour le rapport dans le coin supérieur droit, pour le petit catalogue de produits.
- Exécution de la ligne de commande suivante, pour un grand catalogue de produits:
php bin / magento bms_advancedstock: check_stock_discrepencies
Si certaines erreurs s'affichent une fois le rapport mis à jour, vous pouvez essayer de les corriger automatiquement:
- Utilisation du bouton Corriger les erreurs, pour le catalogue de petits produits.
- Ajout de l'option --fix à la ligne de commande précédente, pour un grand catalogue de produits:
php bin / magento bms_advancedstock: check_stock_discrepencies --fix
Si vous exécutez uniquement la ligne de commande:
php bin / magento bms_advancedstock: check_stock_discrepencies --fix
Les erreurs seront corrigées, mais le rapport ne sera pas mis à jour et les affichera toujours.
Pour le mettre à jour, exécutez à nouveau la ligne de commande.
Vous pouvez exécuter / corriger chaque sonde des écarts de stock séparément .
Pour cela, ajoutez une instruction --analyser PROBE_CODE à la fin de la ligne de commande de base, comme suit:
bin / magento bms_advancedstock: check_stock_discrepencies --fix --analyser PROBE_CODE
Où PROBE_CODE doit être remplacé par le code de la sonde que vous souhaitez exécuter / corriger .
Pour référence, voici chaque code de sonde:
Nom de la sonde
| Code de sonde
|
---|
Articles de l'entrepôt manquants
| articles_entrepôt_ manquants
|
Stock manquant pour le site Web (table cataloginventory_stock)
| manquant_stock
|
Stock non cohérent pour le site Web (table cataloginventory_stock)
| unconsistant_stock
|
Articles en stock manquants (table cataloginventory_stock_item)
| missing_stock_items
|
Articles d'entrepôt avec quantité physique négative
| false_warehouse_item_quantity
|
Articles en stock avec quantité physique négative
| négatif_stock
|
Quantité en stock article
| false_stock_item_quantity
|
La quantité à expédier dans l'article de l'entrepôt ne correspond pas aux commandes en attente
| Incorrect_quantity_to_ship
|
Quantité réservée non cohérente au niveau de l'article de l'entrepôt
| unconsistant_reserved_quantity
|
Informations étendues manquantes pour le poste de commande client
| missing_extended_sales_flat_order_items
|
Informations étendues erronées pour le poste de commande client
| false_extended_sales_flat_order_items
|
Articles en stock avec une quantité NULL (différente de zéro)
| stock_item_with_null_quantity
|
Produits avec une quantité vendable mais en rupture de stock
| products_not_sellable
|
Produits sans stock, pas de réapprovisionnement, mais vendables
| products_sellable_that_should_not
|
Si vous obtenez une erreur «mémoire épuisée» lors de l' exécution de la ligne de commande des écarts de stock, comme:
Erreur fatale: taille de mémoire autorisée de XXX octets épuisée (tentative d'allocation de XXX octets)
Vous pouvez résoudre ce problème en définissant une instruction «-d memory_limit» au début de la ligne de commande php :
php -d memory_limit = 2G bin / magento bms_advancedstock: check_stock_discrepencies --fix
Si le problème persiste, augmentez la valeur de «2G» à une valeur plus élevée , jusqu'à ce qu'il soit résolu.
Détails des sondes
Ici est décrit le rôle de chaque sonde du rapport des écarts de stock.
Articles de l'entrepôt manquants
Chaque produit doit avoir une entrée dans la table bms_advancedstock_warehouse_item pour chaque entrepôt ERP auquel il est associé (valeur "wi_warehouse_id" changeant pour chaque ligne).
Si certaines entrées sont manquantes, le bouton Corriger les erreurs tentera de les recréer automatiquement.
Stock manquant pour le site Web (table cataloginventory_stock)
La table cataloginventory_stock doit contenir 1 ligne pour chaque site Web créé dans Magento, et une ligne supplémentaire nommée «Admin»
La ligne "Admin" affiche la quantité totale vendable pour un produit, elle est utilisée lors de la création de commandes depuis le backend.
La liste des sites Web est disponible dans le menu Magasins> Tous les magasins.
Prenons la capture d'écran suivante comme exemple:
Comme on peut le voir, 2 sites Web ont été créés: «Site principal» et «Site Web 2».
À la suite de cet exemple, la table cataloginventory_stock doit contenir ces valeurs:
- On retrouve une première ligne en haut du tableau, avec un " website_id" égal à 0, qui représente les données "Admin" .
- Ensuite, on trouve une nouvelle ligne par site Web créé dans Magento, avec la colonne «website_id» contenant l'ID du site Web dans Magento .
Dans notre exemple, 2 sites Web ont été créés, nous trouvons donc 2 lignes supplémentaires dans la table cataloginventory_stock.
Chaque valeur «website_id» et «stock_id» doit être unique dans la table.
Vous ne devez pas avoir par exemple 2 lignes avec le même "website_id", ou le même "stock_id".
Stock non cohérent pour le site Web (table cataloginventory_stock)
Comme expliqué dans la section «Stock manquant pour le site Web», la table cataloginventory_stock doit avoir 1 ligne par site Web Magento .
Il peut arriver, après une importation de données Magento 1 par exemple, d'avoir un "website_id" ajouté à cette table sans même exister dans la liste des magasins Magento 2 (Magasins> Tous les magasins).
Cela est dû au fait que des sites Web existaient dans Magento 1 mais n'ont pas encore été créés dans Magento 2.
Ces lignes doivent être supprimées de ce tableau pour assurer un bon fonctionnement du module.
Le bouton «Corriger» des écarts de stock ne corrigera pas lui-même ce type d'erreur, une intervention manuelle dans la base de données sera nécessaire.
Articles en stock manquants (table cataloginventory_stock_item)
Chaque produit doit avoir une entrée dans la table cataloginventory_stock_item pour chaque site Web créé dans Magento.
Si certaines entrées manquent, le bouton «Corriger les erreurs» tentera de les recréer automatiquement.
Articles d'entrepôt avec quantité physique négative
Cette sonde détectera si certains de vos produits ont une quantité négative dans la table bms_advancedstock_warehouse_item.
Le bouton «Corriger les erreurs» mettra à jour ces entrées à une valeur de quantité 0.
Articles en stock avec quantité physique négative
Cette sonde détectera si certains de vos produits ont une quantité négative dans la table cataloginventory_stock_item.
Le bouton «Corriger les erreurs» mettra à jour ces entrées à une valeur de quantité 0.
Quantité en stock article
Pour rappel, dans la version ERP Magento 2, la table cataloginventory_stock_item contient 1 ligne par site web pour chaque produit.
Nous stockerons dans ces lignes la somme des quantités d'entrepôts disponibles (celles autorisées pour les ventes), pour chaque site Web.
Par exemple, il peut arriver que certains modules tiers mettent à jour directement les valeurs de quantité dans la table cataloginventory_stock_item, rendant impossible pour ERP de détecter ces changements.
Le résultat sera une différence entre la somme des quantités disponibles des entrepôts (stockées dans la table bms_advancedstock_warehouse_item) et la valeur de la quantité stockée dans la table cataloginventory_stock_item.
Cette sonde listera ces écarts de stock, et les corrigera en calculant à nouveau la somme des quantités disponibles des entrepôts (celles autorisées pour les ventes), puis en copiant cette valeur dans la table cataloginventory_stock_item.
La quantité stockée dans l'article de l'entrepôt ne correspond pas aux mouvements de stock
Cette sonde comparera, pour chaque produit et par entrepôt, la valeur «wi_physical_quantity» stockée dans la table bms_advancedstock_warehouse_item avec la somme des mouvements de stock, calculée à l'aide de la colonne «sm_qty» de la table bms_advancedstock_stock_movement.
La quantité à expédier dans l'article de l'entrepôt ne correspond pas aux commandes en attente
Pour rappel, pour chaque commande en attente (en fonction de la configuration des commandes en attente), ERP attribuera un «magasin de préparation» à chaque article commandé.
Cette sonde comparera, pour chaque produit et par entrepôt, la somme de la quantité commandée avec la valeur «qty_to_ship», inscrite dans la table bms_advancedstock_warehouse_item.
Quantité réservée non cohérente au niveau de l'article de l'entrepôt
Bientôt disponible.
Bientôt disponible.
Bientôt disponible.
Articles en stock avec une quantité NULL (différente de zéro)
Cette sonde détectera si certaines entrées de la table cataloginventory_stock_item ont été créées avec une quantité NULL.
Le bouton «Corriger les erreurs» remplacera NULL par 0.
Produits avec une quantité vendable mais en rupture de stock
Cette sonde détectera tous les produits ayant une quantité supérieure à leur seuil de rupture de stock, mais étant en rupture de stock.
Le seuil de rupture de stock peut être défini pour chaque produit à partir de sa page, en ouvrant la fenêtre contextuelle «Inventaire avancé»:
Produits sans stock, pas de réapprovisionnement, mais vendables
Cette sonde détectera tous les produits ayant 0 quantité, pas de commandes en souffrance, mais étant en stock.