- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md, en-tete section Limagrain conserve) - Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian) - Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues), 1 reciblee (manuel de reten) - related: tenseflow -> tense-flow, pie -> mechanical-elements, group.md retire (doublon shipping) - Registre: compteur global 122 -> 131 pages - Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie) - Aucun fichier limagrain/ modifie (cloisonnement)
6.9 KiB
title, type, sources, related, last_compiled
| title | type | sources | related | last_compiled | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Weights | concept |
|
|
2026-04-17 |
Weights
Overview
EasyWMS tracks five distinct weight fields on every container and two weight fields on every stock line. These fields support reception sanity checks, detection of shrinkage or miscounts at the PIE (weighing station), and variable-weight items (e.g., meat, fish, fruit sold by the kilo). Understanding which field is updated by which event - and which one the shipping / reporting logic reads - is critical: the French UI term "poids théorique" is ambiguous (it can mean either of two different fields).
Container-level weight fields
Five fields, each with a distinct trigger and formula.
| WMS field | French label | Definition | Updated when |
|---|---|---|---|
| Calculated Weight | Poids calculé | Theoretical (item) weight − adjustments | On every stock movement (picking, transfer, adjustment) |
| Scale Weight | Poids balance | Raw gross weight measured at the PIE | PIE pass only |
| Theoretical Weight | Poids théorique (article) | (unit weight × quantity) + container tare weight | At creation and on every adjustment |
| Real Weight | Poids réel | max(Calculated Weight, Theoretical Scale Weight) |
Recomputed automatically when its inputs change |
| Theoretical Scale Weight | Poids théorique (balance) | Scale Weight − adjustments | Set after PIE pass, then updated by adjustments |
⚠️ Translation trap - "Poids théorique" in French maps to two different fields in English:
- Poids théorique (article) =
Theoretical Weight(from the item master)- Poids théorique (balance) =
Theoretical Scale Weight(from the scale, minus adjustments)Reports and customs must specify which one they are reading.
Formulas
- Theoretical Weight = unit weight on item master × quantity + container tare (from EasyS)
- Scale Weight = gross weighed value at the PIE
- Calculated Weight = Theoretical Weight − cumulative adjustments (picking, transfers…)
- Theoretical Scale Weight = Scale Weight − cumulative adjustments
- Real Weight =
max(Calculated Weight, Theoretical Scale Weight)
Stock-line weight fields
On each stock line (Stock record):
| Field | Description |
|---|---|
| Poids (kg) | Real weight of the line |
| Poids théorique (kg) | Theoretical weight of the line, from the item master |
Stock-line weights are updated on stock adjustments, weighings, and custom processes only when the item is configured as variable-weight. The PIE does not update stock-line weights directly - it updates container-level fields only.
Behavior at stock creation
- Real weight of the stock (line) starts at
0- it is only populated by a PIE pass, aStockAdjuston a variable-weight item, or a custom. - Theoretical weight of the stock (line) is computed immediately from the item master.
- Container tare weight (pallet type weight in EasyS) is frozen at container creation - changing the tare in EasyS later does not propagate to existing containers. Only newly created containers pick up the new tare.
PIE pass
When a container passes the PIE:
- The scale measures the gross weight (goods + pallet).
- Scale Weight ← measured value.
- Theoretical Scale Weight ← Scale Weight − existing adjustments.
- Real Weight ←
max(Calculated Weight, Theoretical Scale Weight).
The PIE writes only the container-level fields. Line-level weights are not updated by the PIE directly ; if needed, they are recomputed by the custom that drives the PIE reaction (e.g., proportional distribution).
Variable-weight items
Enabling variable weight
The "Poids variable" (Variable weight) option lives on the logistic profile of the item. When it is on, indicating the stock's weight at creation becomes mandatory.
"Poids moyen" option (average weight from receipt)
When both of the following are true, the WMS pre-fills the stock weight at reception from the receipt line:
- Poids moyen is enabled on the logistic profile.
- The expected stock-line weight is carried in the ROR's logistic attributes (e.g.,
"Weight": 20).
StockAdjust limitation
StockAdjust cannot modify the weight of a stock line if the item is not configured as variable-weight on its logistic profile. Use a weighing flow or a custom if non-variable items need weight corrections.
Weight check on stock entry
The workflow Stock_CheckWeightToCreateStockInContainer_UI runs at stock creation:
- Compares the entered weight against the item master.
- If the item is variable-weight and the tolerance is exceeded, it raises an RFT alert (does not reject).
Reject-rather-than-alert behaviour at the PIE requires a custom workflow - see Open questions below.
Worked examples
Fixed-weight item - 25 kg pallet, item weighs 250 kg
| Step | Calculated | Scale | Theoretical (item) | Real | Theoretical Scale |
|---|---|---|---|---|---|
| Creation | 275 | 0 | 275 | 275 | 0 |
| PIE pass (280 kg) | 280 | 280 | 275 | 275 | 280 |
Same item, new pallet created after EasyS tare change (25 → 24 kg)
| Step | Calculated | Scale | Theoretical (item) | Real | Theoretical Scale |
|---|---|---|---|---|---|
| New pallet | 280 | 280 | 274 | 274 | 280 |
Theoretical (item) = 250 (goods) + 24 (new pallet tare). The older pallet keeps 275 - confirming that the container tare is frozen at creation.
Variable-weight item - 10 bags, 100 kg declared
| Step | Calculated | Scale | Theoretical (item) | Real | Theoretical Scale |
|---|---|---|---|---|---|
| Creation | 124 | 0 | 124 | 124 | 0 |
| PIE pass (107 kg) | 107 | 107 | 124 | 124 | 107 |
The PIE updates Scale Weight and Calculated Weight at the container level. The stock lines inside the container are not auto-recalculated unless a custom redistributes the measured value.
Open questions
| # | Subject | Status |
|---|---|---|
| 1 | A rejection workflow at PIE (same check as Stock_CheckWeightToCreateStockInContainer_UI but blocking rather than alerting) |
To confirm |
| 2 | The "pesé − tare théorique support (MCH)" formula produces an estimated net weight that is not persisted as a field | To investigate |
Related
- container - all five weight fields are attributes of the container ; see "SSCC and weights" on the container page
- stock - the two stock-line fields, updated for variable-weight items
- product-item - logistic profile carries the variable-weight and "Poids moyen" flags, item master holds unit weight
- reception - receipt line can carry the expected weight used by "Poids moyen" at stock creation
- stations - PIE station type drives scale-weight capture