--- title: "Contrôle qualité réception — Vérification poids PIE" tags: [inbound, PIE, poids, verrou, inventaire, qualité] status: draft standard_ref: architecture/galileo-integration.md jira_refs: [LIM-66] confluence_refs: [] sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Réception - LIMAGRAIN - DEV - Confluence.md", LIM-66_Passage_PIE.md, wiki-update-poids-PIE-tolerance.md] last_updated: 2026-05-13 author: Arthur --- # Contrôle qualité réception — Vérification poids PIE > **Résumé** : mécanisme [CUSTOM] de contrôle de poids au passage PIE avec > calcul de tolérance par type article, application automatique de verrous > et mise à jour du poids unitaire. > **Standard EasyWMS** : → voir [GALILEO Integration](../../architecture/galileo-integration.md) > Ce qui suit documente les **spécificités Limagrain** par rapport au standard. ## Contexte projet Chez Limagrain, chaque passage au PIE déclenche une vérification de poids qui sert d'**inventaire permanent** par pesée. Ce mécanisme s'applique à **tous les processus** (réception production, extérieure, retour, picking, regroupement, échantillonnage). ## Contrôles au PIE Le PIE effectue les contrôles suivants : | Contrôle | Critère de validation | |----------|----------------------| | Étiquette RFID | Connue (détectable) | | Hauteur | ≤ 1900 mm | | Largeur | ≤ 1100 mm | | Longueur | ≤ 1300 mm | | Poids | ≤ 1250 kg | | État palette bois | Correct (lames TK ne doivent pas toucher le bois, pas de ski manquant) | > Les erreurs sont configurables par type dans easyS — possibilité > d'envoyer vers différentes destinations selon le type d'erreur > (station error type). Exemple : scotch qui dépasse → station de > reconditionnement, palette vraiment non conforme → rejet complet. ## Formule de calcul du poids ### Étape 1 — Poids des lignes de stock ``` Poids lignes de stock = Poids total mesuré − Poids théorique support (PALETTE_US) ``` ### Étape 2 — Répartition au prorata entre lignes de stock Le poids mesuré est réparti au prorata entre les différentes lignes de stock. **Source du poids théorique (par ordre de priorité)** : ancienne pesée (champ « Poids » de la ligne de stock), puis poids conversion ITM (champ « Poids théorique » de la ligne de stock). **Formules :** ``` Ratio = Poids théorique de la ligne / Poids théorique total de toutes les lignes Poids réel de la ligne = Poids lignes de stock × Ratio ``` **Exemple :** 5 lignes d'article A (ITM = 2 kg), 1 ligne d'article B (ITM = 40 kg). Poids théorique total = (5 × 2) + (1 × 40) = 50 kg. Poids mesuré au PIE = 60 kg (hors palette bois). | Article | Poids théorique | Ratio | Poids réel calculé | |---------|-----------------|-------|---------------------| | A (× 5) | 2 kg (ITM) | 20 % | 2,4 kg par ligne | | B (× 1) | 40 kg (ITM) | 80 % | 48 kg | | **Total** | 50 kg | 100 % | **60 kg** | ### Étape 3 — Mise à jour du poids unitaire (CstAtt01) Le **CstAtt01** de chaque ligne de stock est mis à jour avec le poids unitaire mesuré : ``` Poids unitaire mesuré = Poids réel de la ligne / Quantité de la ligne ``` | Donnée | Champ WMS | |--------|-----------| | Poids unitaire mesuré | **CstAtt01** de la ligne de stock | | Poids réel pesé (total) | Champ standard « poids balance » du support | | Poids réel de la ligne | Champ « Poids réel » de la ligne de stock | > **Priorité CstAtt01** : si CstAtt01 a déjà une valeur (pesée > précédente), c'est ce poids unitaire qui est utilisé comme référence > pour **tous les calculs du passage PIE** — ratio (étape 2) **et** > seuil de tolérance (vérification ci-dessous) — à la place du poids > théorique ITM. > **Mise à jour du stock : OUI** — le poids calculé est stocké dans > CstAtt01 de la ligne de stock. > **Mise à jour de l'ITM : NON** — le poids théorique de la fiche > article reste inchangé. Raison : le poids varie en fonction de la > production (début/fin de prod), chaque pesée est unique. > Le poids est quand même appliqué et recalculé, même en cas de > blocage (verrou). ## Vérification de la tolérance et blocage Ref. [LIM-66](https://easywmsfrance.atlassian.net/browse/LIM-66) — en revue de code. ### Poids de référence pour le seuil de tolérance Le "poids unitaire de l'article" utilisé comme seuil de tolérance suit la même règle de priorité que le ratio : | Situation | Poids de référence utilisé | |-----------|---------------------------| | CstAtt01 renseigné (pesée précédente) | **CstAtt01** (poids unitaire mesuré) | | CstAtt01 vide (premier passage PIE) | **Poids ITM** (conversion article) | **Conséquence sur les passages successifs** : après un premier passage PIE qui recalibre le poids unitaire (ex. ITM = 10 kg, mesuré = 30 kg), le seuil de tolérance au passage suivant sera basé sur 30 kg (CstAtt01). Un écart de 20 kg (2 unités au poids ITM d'origine) ne déclenchera pas de blocage car il reste inférieur à 1 unité au poids recalibré (30 kg). > Validé par le client (échange Justine BEUTIN / Olivier, mai 2026). ### [CUSTOM] Palettes mono-référence **Condition de blocage** : si l'écart de poids correspond à un écart d'une ligne de stock (article manquant ou en trop → écart ≥ poids unitaire de référence, cf. tableau ci-dessus) → blocage via verrou sur le **support** (pas sur le stock) + alerte SmartUI. ### [CUSTOM] Palettes multi-références — seuil d'alerte Pour les palettes contenant plusieurs articles différents, le système utilise le **plus petit poids unitaire de référence** (CstAtt01 si renseigné, sinon ITM, par ligne) comme seuil d'alerte. Si l'écart total ≥ ce plus petit poids → blocage + alerte. ### Verrous appliqués Deux verrous possibles selon le flux : | Verrou | Flux | Comportement post-PIE | |--------|------|----------------------| | **HORS TOLERANCE** | Tous sauf retour client | La palette **entre quand même dans l'ASRS** malgré le verrou | | **ECART RETOUR** | Retour client uniquement | La palette est **refusée et envoyée en rejet** (destination gérée par EasyS) | ### Notification - Création d'une **notification SmartUI** via le circuit classique de notifications basé sur un event (pas d'event custom) - Le verrou est posé sur le **support** (pas sur le stock) - Notification dédiée au rejet générée dans le cas ECART RETOUR ### Comportement selon le flux (détail) | Processus | Verrou appliqué | Action | |-----------|-----------------|--------| | Réception production | HORS TOLERANCE | Stockage ASRS avec verrou | | Réception extérieure/intersite | HORS TOLERANCE | Stockage ASRS avec verrou | | Retour client (InboundType=1) | ECART RETOUR | Rejet (pas de stockage ASRS) | | Picking | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste | | Regroupement | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste | | Échantillonnage | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste | Dans tous les cas, le poids est quand même appliqué et recalculé. ### [CUSTOM] Type ZSIZ — Ajustement automatique Si le type d'article est **ZSIZ** (semi-fini calibré / big-bag), un message d'ajustement de stock est envoyé vers SAP via **WSC** contenant le poids réel de la HU, **indépendamment de la tolérance**. **Gestion du timing avec le REF :** - **Problématique** : au moment du PIE, l'ERP ne connaît peut-être pas encore la palette (REF pas encore envoyé) - **Solution** : chaque palette présente dans un REF est flaguée dans le WMS. Si palette connue de l'ERP → transaction d'écart de poids immédiate. Si palette inconnue → flag de l'écart, puis à l'envoi du REF, un event déclenche la transaction - Le flag d'écart de poids est inclus dans le fichier **LOC** envoyé à SAP ## Gestion des verrous ### Consultation Vue « Entrepôt → Verrous conteneur » : - Verrou appliqué par conteneur - Date d'application - Possibilité de débloquer (lever le verrou) ### Impact sur l'expédition Un verrou empêchant l'expédition bloque l'assignation du stock à un ordre de sortie. Le verrou « Réception » déclenche un **recomptage obligatoire** avant tout processus suivant (picking, regroupement, échantillonnage). ### [CUSTOM] Dérogation poids Pour les processus de **regroupement** et **échantillonnage**, si la palette a un excédent de poids non corrigeable, l'opérateur peut depuis son poste de travail **autoriser** la palette à passer le PIE même si hors tolérance. ## Post-traitements - Réception production : **ASO et ASK désactivés** - Les messages post-PIE ne sont pas générés pour le flux production ## Points d'attention ⚠️ Le contrôle poids s'applique à **chaque** passage PIE — une palette peut passer le PIE plusieurs fois (réception → picking → restockage). ⚠️ Le poids est porté par le **stock** (CstAtt01 de la ligne), pas par la fiche article ITM — chaque pesée est unique. ⚠️ Les palettes avec verrou « Réception » sont prioritaires dans l'assignation de stock pour l'échantillonnage (permet de combiner recomptage + échantillonnage). ⚠️ Verrou posé sur le **support** (pas sur le stock) — différent du comportement standard. ⚠️ Pour les palettes multi-références, le seuil d'alerte est le plus petit poids unitaire parmi toutes les lignes de stock. ⚠️ Après un passage PIE qui recalibre fortement le poids (ex. ITM 10 kg → CstAtt01 30 kg), le seuil de tolérance au passage suivant est proportionnellement plus large. C'est le comportement attendu : chaque pesée fait foi pour la suivante. ## Questions ouvertes - [x] Tolérances : le seuil est dynamique (CstAtt01 > ITM), validé par le client (mai 2026). Pas de valeur fixe par type article. - [ ] Valeur du poids palette bois fixe (PALETTE_US) (@Théo) - [ ] Poids variable — vérifier si le standard gère la capture de poids avec poids moyen activé (@Nicolas) ## Historique des modifications | Date | Auteur | Modification | |------|--------|--------------| | 2026-05-05 | Arthur | Création initiale depuis AF V1.5 | | 2026-05-05 | Arthur | Enrichissement : prorata, multi-ref, verrou support, ZSIZ timing | | 2026-05-12 | Arthur | LIM-66 : verrous HORS TOLERANCE / ECART RETOUR, CstAtt01 poids unitaire, comportement post-PIE | | 2026-05-13 | Arthur | Clarification tolérance CstAtt01 > ITM pour passages PIE successifs (validation client) | ## Références | Source | Type | Date | |--------|------|------| | FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 | | Réception - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 | | [LIM-66](https://easywmsfrance.atlassian.net/browse/LIM-66) | Ticket Jira | 2026 | | Échange Justine BEUTIN / Olivier (Limagrain) | Validation client | mai 2026 |