Files
mcp-wms-wiki/wiki/concepts/putaway.md
T
arthur 9ce6ae37be lint(standard): corrections completes mode standard
- 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)
2026-07-20 13:01:21 +02:00

428 lines
27 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Putaway"
type: concept
sources:
- areas/putaway/putaway_admin/putaway_process.md
- areas/putaway/putaway_admin/putaway_apply_strategies.md
- areas/putaway/putaway_admin/index.md
- areas/putaway/putaway_admin/location_putaway_restrictions_example.md
- areas/putaway/configurations/putaway_configuration01.md
- areas/putaway/configurations/putaway_configuration02.md
- areas/putaway/configurations/pdl_partition.md
- areas/putaway/configurations/can_rack.md
- areas/putaway/putaway_manual_wrh/optimization_location_channels.md
- sources/archives/01_Strategies_rangement_fonctionnement.md
- sources/archives/25_Strategie_remplissage_canaux.md
- sources/archives/Bases_fonctionnement_robotique_EasyWMS.md
- sources/archives/Configuration_EasyS.md
related:
- concepts/container.md
- concepts/reception.md
- concepts/replenishment.md
- concepts/location.md
- concepts/stock.md
- architecture/galileo-integration.md
- operations/galileo-simulation.md
last_compiled: "2026-04-17"
---
# Putaway
## Overview
Putaway is the process of finding an optimal storage location for containers, loose stock, or cutting stock after reception or internal movement. EasyWMS drives putaway through a strategy engine that evaluates criteria, restrictions, and sorting preferences to propose the best destination location.
Putaway applies to two warehouse environments: **manual warehouses** where RFT operators physically move goods with equipment (forklifts, hand trucks), and **automatic warehouses** where the Transport Management System (TMS) physically executes location tasks in response to EasyWMS instructions. In both cases, the strategy engine is the same; only the execution layer differs.
Valid objects for putaway:
- Containers without movement/location blocks
- Stock not in a state that prevents moving or locating
- Stock not assigned to a shipping order (client stock cannot be putaway)
## Strategy Architecture
The putaway strategy engine is the core of location search. Two complementary strategy types exist:
| Strategy type | Scope | Priority |
|---|---|---|
| **Channel filling strategies** | APS, compact, PalletShuttle, dynamic, pushback locations with depth control | Applied first |
| **Location strategies** | All location types | Applied if no channel strategy found or yields no result |
### Strategy Components
Each strategy (both types) is composed of four elements:
1. **Criterion** - Conditions that the container or stock must satisfy for the strategy to be a candidate (source, container type, stock properties, item classification, etc.)
2. **Rule** - Conditions that the destination location must satisfy (location type, zone, aisle, height, mixing restrictions, etc.)
3. **Restrictions** - Mixing constraints that determine which combinations of items/attributes/owners are allowed in the same location or channel
4. **Sorting** - Preference ordering of valid locations (by distance, coordinates, fill level, item affinity, etc.)
Strategies are sequenced: if criteria for strategy N are not met, strategy N+1 is evaluated. The sequence continues until a location is found or all strategies are exhausted.
### SmartUI Configuration Workflow (Configuration → Stratégies de stockage)
The web UI exposes the strategy engine through two tabs : **Critères** and **Règles**.
**Sequence management.** Strategies are ordered by **sequence number** - lower = higher priority. The list view exposes **"Augmenter séquence"** / **"Diminuer séquence"** buttons to adjust priorities. The **last-sequence strategy must be a catch-all** (any item, any available location), otherwise the engine may exhaust the list and return no proposal to the operator.
**Onglet Critères** - "Rechercher un emplacement pour" offers :
| Option | Description |
|---|---|
| Conteneur client | Client (outbound) containers only |
| Conteneur vide | Empty containers |
| Profil de stockage | Only items with the specified putaway profile - ⚠️ *if an item has a profile, only profile-matching strategies apply to it* |
| Conteneur ou stock | Loose stock or any container |
The **"Stock libre"** checkbox restricts the strategy to loose stock (containers excluded). Below, a **Stock** section filters on : stock status, supplier, ABC rotation, item type, owner, hazard codes. The **Station d'origine** block is used for robotic installations.
**Onglet Règles - "Rechercher un emplacement"** exposes two UI-specific controls not named in the pipeline above :
| Parameter | Values |
|---|---|
| **Mode de stockage** | N'importe quel / Conteneur uniquement / Stock Libre uniquement |
| **Valable si** | Emplacement vide ou avec stock / Avec stock uniquement / Canal vide uniquement / Canal avec stock uniquement |
Remaining rule fields match *Stage 6* above (rack type, specific location, X/Y coordinates, side 0=gauche/1=droite, height min/max, max weight, **Article assigné** - PDL-like assigned-location search, type/aisle, zone, min/max temperature, entrepôt annexe).
> Crossdocking locations live in the crossdocking sub-warehouse : if the strategy leaves `entrepôt annexe` empty, the engine considers both the main and the crossdocking sub-warehouses.
**Onglet Règles - "Appliquer restrictions"** checkboxes : `Appliquer restrictions`, `Articles combinés`, `Mélanger des conversions`, `Combiner attributs logistiques`, `Utiliser jours de mélange`, `Mélanger types de conteneurs`, `Rangement partiel de stock`.
**Onglet Règles - "Order locations"** mirrors *Stage 7* sorting. Recommended default for manual warehouses : `Coord X ASC` (seq 1), `Coord Y ASC` (seq 2).
### Activation, Deactivation, and Editing
A strategy takes effect only after explicit **activation**. To modify an existing strategy :
1. `Configuration → Stratégies de stockage`
2. **Deactivate** the target strategy
3. Select it → **Éditer**
4. Apply changes → **Save****Reactivate**
> Editing an active strategy is blocked by the UI ; attempting to save without the deactivate step is the most common cause of "ma modification n'a pas pris en compte".
## Location Search Pipeline (Putaway Strategies)
### Stage 1 - Filter valid strategies by criteria
EasyWMS filters all enabled strategies for the warehouse against five criterion groups:
**Strategy criteria (type):**
- Container (non-client / client / empty)
- Stock (loose)
- Group by SO/Route (ASN pre-notified containers with expected shipping order or route+stop)
**Source station criteria:** strategy applies only if the container/stock is currently at a location associated with the configured station type or station.
**Container criteria:** container type, lock type, PLC height type, container weight range.
**Item criteria:** hazardous, owner, item type, ABC classification, temperature. For multi-reference containers, the dominant item (highest quantity in base UoM) determines these attributes.
**Stock criteria:** supplier, status (inbound/outbound), expired stock flag.
### Stage 2 - Obtain valid aisles
EasyWMS selects accessible aisles reachable by route from the container/stock's current location (direct or indirect routes). For **automatic aisles**, aisles that have exceeded the configured percentage of free locations for relocation are excluded to prevent blocking outbound movements.
Occupancy calculation differs by location structure:
- **APS (depth control):** counts valid depths per container type vs. occupied depths
- **Rack (position control):** counts valid positions per container type vs. occupied positions (considering mask blocking even for unoccupied positions that have tasks)
### Stage 3 - Aisle balancing (automatic warehouses, containers only)
When enabled via parameter `BALANCE_AISLE`, EasyWMS balances load across valid aisles using the formula:
```
Load = (containers in aisle with same item × 5) + (total containers in aisle × 1) + (tasks destined to aisle × 7)
```
Default weights: X=5, Y=1, Z=7 (configurable with expiry date). The aisle with the lowest load score is selected. If multiple aisles tie, the lowest aisle number wins. Once an aisle is chosen, only its locations proceed to the next stage. If no valid location is found in that aisle, the next strategy in sequence is evaluated.
For multi-reference containers, the item with the largest quantity (base UoM) is used for balancing.
### Stage 4 - Apply restrictions
Location restrictions (configured globally, independent of strategies) discard candidate locations where two incompatible items/item-types would be co-located. Restrictions are applied only when the strategy rule has "Use restrictions" checked.
| Restriction type | Scope |
|---|---|
| Do not locate in same zone | Items/item-types cannot share a zone |
| Do not locate in same aisle | Items/item-types cannot share an aisle |
| Do not locate in same sub-warehouse | Items/item-types cannot share a sub-warehouse location |
| Do not fit on higher heights | Item A cannot be placed above item B in same column |
| Do not putaway adjacent | Items/item-types cannot be in adjacent locations |
| Minimum distance | Minimum meters required between items/item-types |
Restrictions can be scoped to a specific sub-warehouse. They must be enabled and referenced in the strategy to take effect.
### Stage 5 - Filter valid locations (physical/logical checks)
From remaining candidates, EasyWMS applies a hard validity checklist:
- Location logic allows putaway
- Location not marked full
- No lock preventing putaway
- Station in READY state, not locked, allows inbounds, not over relocation % limit
- For **containers**: storage type allows containers; container type/capacity fits; container height fits; volume available; weight within limit; assigned item matches (if any); valid unloading aisle
- For **loose stock**: storage type allows stock; volume available; weight within limit; assigned item matches (if any); no owner mixing, no item mixing, no item-type mixing, no logistic-attribute mixing if configured
Route validity is also checked: there must be a station route from the container/stock's current station to the candidate location's station. For equipment-based searches, maximum reachable height and work area access are additionally validated.
### Stage 6 - Apply strategy rule filters
The strategy rule further filters candidate locations by:
| Rule scope | Configurable conditions |
|---|---|
| Destination location | Storage mode, Valid-if situation (empty/with stock/empty channel…), rack type, location type, X/Y coordinates, side, specific location, height range, column weight, assigned item |
| Destination aisle | Aisle ID, automatic/manual, aisle with assigned item |
| Destination zone | Zone ID |
| Temperature | Min/max temperature, or use item's temperature range |
| Destination sub-warehouse | Sub-warehouse, max containers, stock quantity, max inventory % |
| Mixing restrictions | Mix items, mix conversions, mix logistic attributes, use mixing days, mix container types, partial stock location, apply restrictions |
**Mixing rules summary:**
| Mix item | Mix logistic attr | Logistic profile mix | Valid locations |
|---|---|---|---|
| NO | NO | any | Empty + same item + same logistic attrs |
| NO | YES | mix:NO | Empty + same item + same logistic attrs |
| NO | YES | mix:YES | Empty + same item + any logistic attrs |
| YES | N/A | mix:NO | Empty + any item/attrs (unless item-pair has specific restriction) |
| YES | N/A | mix:YES | Empty + any item/attrs |
Empty locations are always valid regardless of mixing configuration.
### Stage 7 - Sort locations by preferences
Valid locations are sorted according to the strategy's configured preferences (in priority order):
| Preference | Description |
|---|---|
| Distance to header ↑↓ | Distance from aisle header (automatic warehouses) |
| Volume ↑↓ | Unoccupied volume (loose stock with volume-configured items) |
| Aisle side ↑↓ | Left or right side of aisle |
| Free positions ↑↓ | Occupancy level (mainly for drive-in) |
| X coordinate ↑↓ | Physical X coordinate |
| Y coordinate ↑↓ | Physical Y coordinate |
| Depth ↑↓ | Depth position within rack channel |
| Height ↑↓ | Physical height |
| Same container type | Prioritize locations already holding same container type |
| Same item stock | Prioritize locations already holding same item (loose stock only) |
| Distance to assigned location | Fill picking dedicated location column first, then adjacent |
| Proximity relocation | Move to closest location (same-aisle relocations only) |
| APS3D level ↑↓ | APS3D aisle level (if APS3D module installed) |
### Stage 8 - Select optimal location and create task
EasyWMS selects the top-ranked location and creates a **Location task** to move the container/stock there. For traced containers, the task targets the base container of the trace hierarchy.
**If no valid location is found:**
- Manual warehouse: operator is prompted to manually specify a destination
- Automatic warehouse: a **Rejection task** is generated to move the container to the configured rejection station (if none configured, container stays at current location)
## Channel Filling Strategies
Channel filling strategies are exclusive to container putaway in depth-controlled locations (APS, compact, PalletShuttle, dynamic, pushback). They are evaluated **before** standard location strategies.
**Channel definition:**
- Rack locations: same logical X coordinate (based on container type)
- APS/compact/PalletShuttle/dynamic/pushback: the location itself is the channel
Channel strategies group equivalent containers (same type + height + stock reference, or same ASN shipping order/route+stop) and try to fill existing channels before opening new ones. The sequencing logic:
1. Filter all enabled strategies meeting criteria
2. For the first strategy in sequence, try to find channels for all sets of equivalent containers
3. If all sets are placed → apply strategy, create reservations
4. If any set fails → no reservations created, try next strategy
5. If all strategies exhausted → fall through to location strategies
**Channel reservation:** each reservation has a configurable maximum time. After that time, unreserved containers lose their channel reservation.
**APS FIFO channel closure options:**
- Do not close
- Close at reservation creation
- Close at reservation end
- Close at reservation end only if channel is full (optionally auto-open when main location empties)
### Channel strategy configuration (SmartUI)
Channel filling strategies are set up under `Configuration → Stratégies de remplissage de canaux`. Unlike standard putaway strategies, **channel strategies are not sequenced** - the WMS picks the first eligible strategy in the list. Because of this, criteria must be narrow enough to distinguish between strategies.
**EasyS prerequisite.** Racks must be typed as `APS`, `Push Back`, `Dynamic Push Back`, or `Multi-Compact`. Without one of these rack types, the `EmptyChannels_ForContainer` query returns nothing and channel search returns empty. Each location must also declare a **number of authorized containers** - the WMS uses this to compute channel capacity.
**Two mandatory criteria fields:**
| Field | Purpose |
|---|---|
| **Postes sources à considérer** | Source stations from which a container becomes eligible. If the equipment's current station is not in this list, the strategy does not apply - even if the container otherwise matches. |
| **Stations à considérer pour les supports candidats** | Buffer stations used to count containers to be placed. Example: if only `RECEPTION` is listed, the WMS searches other eligible containers at `RECEPTION` and looks for a channel with enough capacity to hold them all. |
**Rule fields** filter destination candidates: storage zones (prioritised), putaway preferences, min/max location height, total weight of candidate containers, **Utiliser l'équilibrage des allées** (boolean - reuses the aisle balance configured on standard putaway strategies).
**Reservation timeout.** The **Paramétrage du temps de réservation** field sets the maximum reservation lifetime; expired reservations are dropped automatically.
**Reservation view.** `Entrepôt → Réservations` shows, per reservation: originating strategy, destination location, item, owner, **remaining containers** on the reservation, PLC height type.
> ⚠️ Reservations are created **at putaway time only** - there is no background job reserving channels based on existing stock. A candidate container triggers the search and reserves a channel for itself + all buffer peers at that moment.
## Putaway Flow by Object Type
### Container Putaway (RFT)
1. Operator scans container location or container ID on the RFT
2. System validates: container is in the scanned location, no conflicting tasks, no ASN pending receipt
3. Equipment check: container type can be loaded, capacity not exceeded, weight within limit
4. Container is computer-loaded onto equipment; source location released, equipment occupied
5. Operator selects container to locate → strategy engine searches for location
6. System proposes destination; operator confirms or enters alternative (valid if: warehouse match, storage allowed, not locked, allows containers, weight OK)
7. For Conventional Rack with multiple positions: logical position is requested
8. Optional: create picking dedicated location at destination (if `UNLOAD_CREATE_PRODUCT_LOCATION` enabled, location allows assigned location + picking, location is empty, container is not empty/multi-reference)
9. Container unloaded: equipment and final location weights/capacities updated; masks and depths updated per location type
Multiple containers on equipment: operator can locate all in one search (following picking route) or one at a time. Unlocated containers remain on equipment.
### Stock Putaway (RFT)
Similar flow to container putaway, but:
- Stock can be inside a container or loose on a location
- Equipment check: weight only (no container type check)
- Destination validation: location allows stock and/or containers, weight OK
- Pre-generated label for picking dedicated locations: valid if label has no PDL assigned, or PDL is for correct stock type / empty with no replenishment tasks
- If location only allows containers and has a single container: stock is stored inside that container
### Cutting Stock Putaway (RFT)
Cutting stock (items sold/stored by length/stretch) requires total-quantity handling - stretches cannot be split. Three modes:
1. **Select then locate**: choose the stretch, confirm/enter destination
2. **Guided unload**: system proposes destination for each stretch in sequence
3. **Manual unload**: enter destination to unload all equipment stock at once
### Automatic Station Putaway
Location search is triggered automatically when a container arrives at these station types:
| Station | Trigger | Special behavior |
|---|---|---|
| **PIE** (pallet identification entry) | TMS event: container arrived at PIE | Channel filling first, then location strategies |
| **Putaway conveyor (MU)** | TMS end-of-order received | Only if container has no existing putaway task |
| **Other automatic stations** (excluding warehouse, shuttles, picking, stackers, empty buffers) | TMS end-of-order received | Only if container has no associated task |
| **AS/RS (TRL)** | TMS deposit error | Search for new location in same aisle; also handles multi-load special cases |
| **Warehouse station (ALM)** | Container at lower depth blocks extraction | Search for alternate location in same aisle; or operator manual relocation request |
TMS physically executes the movement after EasyWMS creates the location task.
## Putaway Profiles
Items can have a **putaway profile** assigned. Strategies can be linked to specific profiles, allowing different location logic for different product categories. Strategies without a profile assignment apply to items without a profile (excluding gap-fill and cross-reference strategies).
## Picking Dedicated Location Integration
When a warehouse uses picking dedicated locations (PDLs), the recommended putaway strategy sequence is:
| Sequence | Goal | Key rule setting |
|---|---|---|
| 1 | Replenish PDL directly | "Assigned location" enabled |
| 2 | Store near PDL (in same aisle) | "Aisle with assigned location" enabled; sort by "Distance to assigned location" |
| 3 (optional, containers only) | Store in PDL priority locations | "Assigned location" enabled for priority location type |
For loose stock replenishment into PDL containers, the **minimum percentage received to create new container** rule determines whether to fill an existing container (if received quantity ≤ threshold) or open a new container (if received quantity > threshold).
Capacity calculation at PDL:
- **Container PDL**: containers + tasks destined to PDL; only matching item/logistic-attr containers counted if multi-reference
- **Stock PDL**: stock quantity + tasks quantity; only matching item/logistic-attr stock counted if mixed
## Putaway in an automatic warehouse (end-to-end)
The strategy engine is shared with manual warehouses, but the execution path differs. Container arrival at an automatic entry station triggers:
1. TMS (GALILEO) sends an event to EasyWMS announcing the container arrival
2. EasyWMS checks the container doesn't already have a putaway task
3. Engine gathers valid putaway strategies for this context
4. Strategies are applied in sequence to find a candidate location
5. On hit → task created + sent to TMS; on miss → channel reservation / reject / wait for manual action
6. TMS executes the physical move
7. On deposit error (`EndErrorCode=1`) → new search in the same aisle, then in others
8. On successful deposit → WMS state updated + temporary reservations released
For the protocol layer (Search, End, codes), see [GALILEO Integration](../architecture/galileo-integration.md).
## Putaway logic by rack depth
Strategy coverage expected per rack type (Mecalux France defaults):
**Single-depth racks:**
- Ascending height (smallest possible location)
- Rotation (zone matching the item's rotation class)
- Stock balancing (by container count, same-product supports, in-transit supports)
**Double-depth racks:**
- Ascending height + Rotation + Stock balancing
- Avoid product mixing - causes relocations during picking
- Avoid logistic-attribute / quantity mixing - depends on shipping logic
**>2-depth (APS) channels:**
- Ascending height + Rotation + Balancing
- **Forbid** product mixing (causes massive relocation)
- Avoid attribute mixing when possible (use "mix days" parameter for close-by dates)
- **Channel reservation**: EasyWMS analyses pending ASNs to pick the right tube length (e.g. 6 vs 10 deep)
### Empty-location headroom
**Standard value: 5%** empty locations - required for relocation work and flow variation absorption. Lower values starve the relocation and defragmentation jobs.
### Double-depth layout patterns (EasyS)
Two rack configurations for double-depth (TK / miniload):
- **Case #1** (most common at Mecalux France) - best for **mono-product supports**: rotation zones split by front / rear face (several supports with the same article live in the TK)
- **Case #2** - best for **multi-product supports**: reduces picking-time relocations without pre-emptive defragmentation (an item never lives in two supports at once)
Choose the pattern **before** running rotation class setup - switching costs a full re-slotting.
## Parameters
| Parameter | Description | Default |
|---|---|---|
| `BALANCE_AISLE` | Enable aisle load balancing formula in automatic warehouse location search | Disabled |
| `UNLOAD_CREATE_PRODUCT_LOCATION` | Automatically create picking dedicated location when placing container at valid location | Disabled |
## Common Errors
**No valid location found (manual warehouse):** All strategies exhausted; no location meets criteria + restrictions + rules. Operator must manually assign a destination. Check: strategy sequence coverage, restrictions not too restrictive, locations not marked full or locked.
**No valid location found (automatic warehouse):** Rejection task generated. Container goes to rejection station. Common causes: all aisles at relocation % limit, no route between current station and any candidate location, weight exceeded everywhere.
**Aisle balancing blocks putaway:** Aisle is chosen by balance formula but has no valid location (e.g., full or incompatible). System does not fall back to other aisles for that strategy - next strategy in sequence is tried instead. Ensure next strategy has adequate coverage.
**Container stuck in equipment:** Container loaded on equipment but operator ended session without locating. Container remains in equipment indefinitely. Resolve via manual relocation from the equipment management view.
**Picking dedicated location not proposed:** Item has no PDL created yet, or PDL is for different logistic attributes. Either create a PDL for the correct attributes, or ensure strategy sequence 1 (assigned location) handles this item.
**Cutting stock putaway fails validation:** Operator entered partial quantity instead of full stretch quantity. Cutting stock requires total-quantity entry - reject partial entries at the RFT.
## Interface Paths
| Interface | Path |
|---|---|
| RFT - container/loose stock putaway | Menu "Putaway" → "Containers/Loose stock" or "Containers" |
| RFT - stock putaway | Menu "Location" → "Containers/Loose stock" or "Stocks" |
| Web - putaway strategies | "Configuration" → "Putaway strategies" |
| Web - aisle balancing | "Putaway strategies" → "Configuration" → "Aisle Balance" |
| Web - restrictions | "Configuration" → "Restrictions" |
| Web - channel filling strategies | "Configuration" → "Stratégies de remplissage de canaux" |
| Web - channel reservations | "Entrepôt" → "Réservations" |
## Related
- [Container (LPN)](container.md) - the primary object being putaway; types, lock types, and weights are key strategy criteria
- [Reception](reception.md) - putaway typically follows reception; containers can be placed directly from reception
- [Replenishment](replenishment.md) - replenishment reuses the putaway strategy engine to move stock to picking dedicated locations
- [Location](location.md) - location types (rack, APS, compact, dynamic, pushback) determine which strategy type applies
- [Stock](stock.md) - stock status and logistic attributes are criteria and restrictions in putaway strategies
- [GALILEO Integration](../architecture/galileo-integration.md) - how TMS drives physical execution of putaway tasks
- [Galileo Simulation](../operations/galileo-simulation.md) - EasyS setup for double-depth racks, PLC Types, reject routes
- [Task](task.md) - putaway generates Putaway tasks; automatic warehouse also uses Approach tasks for Pick & Pass
- [Product / Item](product-item.md) - putaway profile on the item links strategies; hazard, temperature, and ABC classification feed strategy criteria
- [Defragmentation](defragmentation.md) - rotation defragmentation reuses putaway strategies to relocate containers to their optimal ABC zone