Files
mcp-wms-wiki/wiki/concepts/prepackaging.md
T
2026-05-20 09:41:27 +02:00

116 lines
5.8 KiB
Markdown

---
title: "Prepackaging (Pré-emballage / Précolisage)"
type: concept
sources:
- areas/shipping/shipping_admin/prepackaging_config.md
- areas/shipping/shipping_admin/prepackaging_erp.md
- sources/archives/04_Gestion_preemballage_precolisage.md
related:
- concepts/shipping.md
- concepts/order-outbound.md
- concepts/container.md
- concepts/erp-interface.md
last_compiled: "2026-04-17"
---
# Prepackaging (Pré-emballage / Précolisage)
## Overview
Prepackaging (FR : *pré-emballage* ou *précolisage*) calculates the number and type of client containers required to fulfill a shipping order **before preparation starts**, with the goal of optimizing container usage (minimize parcels, or maximize filling) and guiding operators/packers on the target packing layout.
Two views drive prepackaging:
- **Configuration → Stratégie de préemballage** : strategy definition
- **Ordre de sortie → Lignes de pré emballage** : per-order view of the containers the strategy produced
## Strategy Configuration
A prepackaging strategy has the following fields:
| Field | Values | Description |
|---|---|---|
| **Code** | free text | Strategy name |
| **Type de commande** | Fusion / Ordre de départ sans envoi / Vague | Which outbound grouping this strategy applies to |
| **Processus** | Emballage / Préparation | When it is applied — at packing station or during picking |
| **Type de précolisage** | Calculé par EasyWMS / Calculé par l'opérateur / Calculé par l'ERP | Who computes the container split |
| **Mode de travail** | Strict / Pas strict | Strict = operator cannot deviate from the plan ; non-strict = operator can override |
| **Logique de pré emballage** | Nombre minimum de colis / Volume minimum | "Fewest parcels" picks the largest container possible ; "Minimum volume" picks the smallest container possible |
> ⚠️ The strategy must be **activated** after configuration, otherwise it is ignored.
**Container types** are associated from EasyS (either reusing existing container types or creating new ones dedicated to prepackaging).
## Prerequisites (when EasyWMS computes the plan)
For `Calculé par EasyWMS` to work:
1. **Container types** must be configured in EasyS and associated to equipments.
2. **Item dimensions and weight** must be populated (in conversions).
3. **Mixing restrictions** between items must be defined — by item, by family, or by type.
## Calculation by ERP (SOR02)
When `Calculé par l'ERP`, the outbound order message carries a `<PrepackagingConfiguration>` block inside `SOR02`, including the pre-computed container(s) and the per-line quantities to pack in each.
```xml
<PrepackagingConfiguration>
<Operation>S</Operation>
<PrepackagingProcess>Picking</PrepackagingProcess>
<PrepackagingWorkingMode>Strict</PrepackagingWorkingMode>
<PrepackagingContainers transactional="true" complete="false">
<PrepackagingContainer>
<Operation>S</Operation>
<PrepOrderContainer>0203214687</PrepOrderContainer>
<PrepContainerType>CartonS</PrepContainerType>
<PrepackagingLines>
<PrepackagingLine>
<Operation>S</Operation>
<OrderLineNumber>1</OrderLineNumber>
<Quantity>2</Quantity>
</PrepackagingLine>
</PrepackagingLines>
</PrepackagingContainer>
</PrepackagingContainers>
</PrepackagingConfiguration>
```
Keys in this block:
- `PrepackagingProcess``Picking` or `Packing`
- `PrepackagingWorkingMode``Strict` / `NotStrict`
- `PrepOrderContainer` — client container SSCC that must be used
- `PrepContainerType` — container-type code (must exist in EasyWMS)
- `PrepackagingLines.PrepackagingLine` — quantity per outbound line that belongs in this container
## Tested Behavior (Mecalux France, 2022)
Confirmed working vs. known-broken combinations:
| Combination | Behavior |
|---|---|
| Ordre de départ / Strict / Nombre minimum / poids normal | 1 carton L |
| Ordre de départ / Strict / Nombre minimum / poids > seuil | Carton L (poids reste < 20 kg) |
| Ordre de départ / Strict / Nombre minimum / famille non mélangeable | Articles répartis dans colis différents ✅ |
| Ordre de départ / Strict / Nombre minimum / **type** non mélangeable | ❌ **non fonctionnel** — articles mélangés malgré la restriction |
| Ordre de départ / Strict / Volume minimum | 3 conteneurs différents |
| Vague / Strict / Volume minimum | Calcul réalisé par commande |
| **Calcul par l'opérateur** | ❌ **non fonctionnel** |
> Keep in mind these limitations when scoping a project : for "type non mélangeable" or "Calcul par l'opérateur", a Jira / support escalation is needed before promising the behavior to a customer.
## Common Errors
**The strategy has no effect even though it is saved** : it was not activated. Re-open the strategy and toggle activation.
**`Calcul par EasyWMS` produces no containers** : item dimensions/weight missing, or no container type is associated to the equipment — both are prerequisites.
**`Type de commande = Ordre de départ sans envoi`** : applies to the simple single-order case ; for waves or fusions, pick the corresponding `Type de commande`, otherwise the strategy is ignored for those grouping types.
**ERP-computed prepackaging ignored** : check that `PrepackagingProcess` and `PrepackagingWorkingMode` are both valid values and that `PrepContainerType` exists as a container type in the WMS ; otherwise the whole `PrepackagingConfiguration` block is rejected silently on SOR02 integration.
## Related
- [Shipping](shipping.md) — the surrounding outbound process ; prepackaging is one step of it
- [Outbound Order](order-outbound.md) — SOR02 carries `PrepackagingConfiguration` ; SOF carries the actually used containers
- [Container (LPN)](container.md) — container types and SSCCs referenced by prepackaging
- [ERP Interface](erp-interface.md) — full field tables for SOR02