màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -0,0 +1,293 @@
|
||||
---
|
||||
title: "Stock"
|
||||
type: concept
|
||||
sources:
|
||||
- areas/inventory_management/views/view_stocks.md
|
||||
- areas/inventory_management/stock_adjustment/stock_adjustment.md
|
||||
- areas/inventory_management/stock_adjustment/reasons.md
|
||||
- areas/inventory_management/stock_adjustment/quantity_adjust.md
|
||||
- areas/inventory_management/stock_adjustment/udm_adjust.md
|
||||
- areas/inventory_management/stock_adjustment/al_adjust.md
|
||||
- areas/inventory_management/stock_adjustment/stock_adjustment_RF.md
|
||||
- areas/inventory_management/stock_adjustment/stock_adjustment_SmartUI.md
|
||||
- areas/inventory_management/stock_adjustment/stock_adjustment_Workstation.md
|
||||
- areas/inventory_management/stock_adjustment/stock_adjustment_entity.md
|
||||
- areas/inventory_management/stock/print_stock_label.md
|
||||
- areas/reports/grouped_stock/grouped_stock.md
|
||||
- areas/reports/grouped_stock/grouped_stock_item.md
|
||||
- areas/reports/grouped_stock/grouped_stock_date_lot.md
|
||||
- areas/reports/grouped_stock/grouped_stock_subwarehouse.md
|
||||
- sources/archives/24_Process_assignation_stock.md
|
||||
related:
|
||||
- concepts/container.md
|
||||
- concepts/location.md
|
||||
- concepts/product-item.md
|
||||
- concepts/reception.md
|
||||
- concepts/putaway.md
|
||||
- concepts/picking.md
|
||||
- concepts/shipping.md
|
||||
- concepts/count.md
|
||||
- concepts/stock-adjustment.md
|
||||
- concepts/stock-assignment.md
|
||||
- concepts/order-outbound.md
|
||||
- concepts/task.md
|
||||
- concepts/erp-interface.md
|
||||
last_compiled: "2026-04-17"
|
||||
---
|
||||
|
||||
# Stock
|
||||
|
||||
## Overview
|
||||
|
||||
A **stock record** (stock line) is the physical instance of an item in the warehouse at a specific moment — a quantity of a particular item, owned by a specific owner, in a specific location or container, with specific logistic attributes and status. It is distinct from the item master: the item defines what the product is; the stock defines how much of it exists, where, and in what state.
|
||||
|
||||
Stock is created when goods are received, consumed when goods are shipped, and transformed (split, merged, adjusted) throughout warehouse operations. The WMS maintains an exact, real-time view of all stock across every location and container in the warehouse. All WMS processes (putaway strategies, stock assignment for outbound orders, replenishment, counting) operate against stock records.
|
||||
|
||||
A single item in the warehouse can have many stock lines — one per unique combination of container, logistic attributes, and status. For example, the same SKU in three different lot numbers stored in two locations will produce at least 6 separate stock lines.
|
||||
|
||||
## Types
|
||||
|
||||
Stock is classified by its storage context and status:
|
||||
|
||||
### By storage context
|
||||
|
||||
- **Containerized stock**: stock inside a container (LPN). The container holds the stock and can be moved as a unit. The stock line references both the container and the location of the container.
|
||||
- **Loose stock**: stock directly in a location, not in a container. Common in conventional manual locations with picking dedicated partitions.
|
||||
- **Client stock**: stock that has been prepared (picked) for a specific outbound order, now in a client (outbound) container. Special rules apply — quantity, UoM, and logistic attributes cannot be adjusted like regular stock.
|
||||
- **ASN stock**: stock pre-notified by the ERP but not yet physically received. Located in the virtual ASN location. Cannot be adjusted.
|
||||
|
||||
### By status
|
||||
|
||||
Stock carries up to three parallel status dimensions:
|
||||
|
||||
| Status type | Description | Set by |
|
||||
|---|---|---|
|
||||
| **System status** | Internal WMS status (e.g., normal, reserved, assigned) | Automatic — driven by stock assignment and task creation |
|
||||
| **User status** | Quality or business-driven lock (e.g., "Quarantine", "Hold") | Manually by user, or via ERP STR message. Has optional end date. |
|
||||
| **Receiving status** | Quality control status set during reception | At reception, automatically based on receipt order configuration |
|
||||
|
||||
User status and receiving status are independent; both can exist simultaneously on the same stock line.
|
||||
|
||||
**User status** is modifiable at any time from SmartUI or via the RFT QUALITY menu, without limit. It is useful for marking defective or quarantined goods.
|
||||
|
||||
**Receiving status** is set only during reception (from the reception profile). It can only be removed (not re-applied) from PC or RFT. Removed status cannot be reinstated except through a new reception.
|
||||
|
||||
For each user or receiving status, the following actions can be **allowed or forbidden** on affected stock:
|
||||
- Picking (order preparation)
|
||||
- Replenishment
|
||||
- Inventory / counting
|
||||
- Reception
|
||||
- Internal consumption
|
||||
- Shipping (dispatch)
|
||||
- Collection
|
||||
- Movement (relocation)
|
||||
- Reservation
|
||||
|
||||
When a user status is added/changed/removed on a stock line, the **STC01** message is automatically generated and sent to the ERP.
|
||||
|
||||
**Next to expire** and **Expired** flags are computed fields. "Next to expire" marks stock approaching expiry even before the actual expiry date. "Expired" marks stock past its expiration date. Expired stock can still be shipped if the SOR line explicitly requests it.
|
||||
|
||||
## Stock record structure
|
||||
|
||||
Each stock line is identified by a unique combination of: **Item + Owner + Location (+ Container if containerized) + Logistic attributes + Status + UoM**.
|
||||
|
||||
> If any of these elements differs between two physical goods, a separate stock line is created. For example, the same article in two different lot numbers at the same location generates two stock lines. Two goods with different UoMs (e.g., 1 bottle vs 1 pack of 6 bottles) at the same location are also separate lines.
|
||||
|
||||
| Field | Description |
|
||||
|---|---|
|
||||
| **Item** | Item code |
|
||||
| **Owner** | Owner of this stock (for 3PL or multi-owner warehouses) |
|
||||
| **Warehouse** | Warehouse site (visible if 3PL module installed) |
|
||||
| **Quantity** | Amount in base UoM |
|
||||
| **UoM** | Base unit of measure |
|
||||
| **Short description** | Item short description |
|
||||
| **Location** | Physical or virtual location holding this stock |
|
||||
| **Container** | Container code (if containerized) |
|
||||
| **Container type** | Type of the container |
|
||||
| **Complete container** | Whether the container is marked as "complete" |
|
||||
| **Container locks** | Number of active locks on the container |
|
||||
| **Load** | Load code associated to this stock (for truck loading) |
|
||||
| **Delivery code** | Delivery associated to this stock (Multi-Carrier module) |
|
||||
| **Supplier** | Supplier code from the receipt |
|
||||
| **Theoretical weight** | Calculated weight based on item weight configuration |
|
||||
| **Status** | System status |
|
||||
| **User status** | User-set status (with end date and comment) |
|
||||
| **Receiving status** | Status from reception quality process (with end date) |
|
||||
| **Lot** | Lot number |
|
||||
| **Expiration date** | Date after which stock is unusable |
|
||||
| **Best-before date** | Date after which stock is suboptimal |
|
||||
| **Production date** | Date of manufacture |
|
||||
| **Days of life** | Remaining usable days |
|
||||
| **Quality** | Quality attribute value |
|
||||
| **Color** | Color attribute |
|
||||
| **Caliber** | Size/caliber attribute |
|
||||
| **Origin** | Origin attribute |
|
||||
| **Version** | Version attribute |
|
||||
| **Production method** | Production method attribute |
|
||||
| **Post-production treatment** | Post-production treatment attribute |
|
||||
|
||||
## Lifecycle
|
||||
|
||||
```
|
||||
[Reception] → Stock CREATED (in container or loose in location)
|
||||
↓
|
||||
[Putaway] → Stock LOCATED (moved to storage location)
|
||||
↓
|
||||
[Stock assignment] → Stock RESERVED or ASSIGNED (for outbound order)
|
||||
↓
|
||||
[Picking] → Stock PREPARED (in client container, staging area)
|
||||
↓
|
||||
[Consolidation/Loading] → Stock LOADED (on truck/dock)
|
||||
↓
|
||||
[Order close] → Stock CONSUMED (quantity decremented to 0; record removed)
|
||||
```
|
||||
|
||||
Stock can also be **adjusted** at any point (quantity, UoM, logistic attributes, status), **counted** (verified against physical reality), **consolidated** (merged), **defragmented** (moved to optimize space), and **locked** (user/receiving status changed).
|
||||
|
||||
Stock adjustments generate **STK.ADJ** transactions and trigger **STV** messages to the ERP.
|
||||
|
||||
## Business rules
|
||||
|
||||
- Stock is **never modified directly** by a user action other than through a defined process (reception, adjustment, shipping, etc.). The stock view allows adjustments, but each has constraints and requires a reason.
|
||||
- Stock in a **quality lock** (user status or receiving status that disallows shipping) is excluded from stock assignment for outbound orders, unless the SOR line explicitly requests that specific status.
|
||||
- **Reserve recalculation** occurs when stock is locked or adjusted: if a reserve is broken, priority is given to the highest-priority orders that reserved earliest.
|
||||
- Stock in **ASN** state (pre-notified) cannot be adjusted or decreased.
|
||||
- Adjustments to **client stock** (prepared for an order) are more restricted: only certain changes allowed; others require that the container is not in prepared state.
|
||||
- When stock is decreased to 0 in a container, the container is either deleted or left empty depending on the location's "Delete empty containers" configuration.
|
||||
- A stock line with tasks cannot be freely modified: existing tasks are adjusted or canceled, and lines are re-released for re-assignment.
|
||||
- **Multiple receptions**: when stock originates from multiple receipts consolidated at the same location/container, a decrease or adjustment must identify which receipt it applies to.
|
||||
|
||||
## Stock adjustment
|
||||
|
||||
Stock adjustments allow operators to correct discrepancies between the WMS record and physical reality.
|
||||
|
||||
### Types of adjustments
|
||||
|
||||
| Adjustment type | What changes | Interface |
|
||||
|---|---|---|
|
||||
| **Quantity increase** | Adds to existing stock quantity | PC / RFT ("Utilities → Increase item") |
|
||||
| **Quantity decrease** | Subtracts from existing stock quantity | PC / RFT ("Utilities → Decrease item") |
|
||||
| **Location adjustment** | Full edit: quantity + UoM + user status + logistic attributes; can create/delete lines | PC / RFT ("Utilities → Location adjustment") |
|
||||
| **Picking location adjustment** | In PDL with labeled partitions: quick adjustment by reading partition label; can create/change partition assignments | RFT |
|
||||
| **Picking conveyor adjustment** | Same as location adjustment but for containers at PK conveyors in auto warehouse | Workstation ("Workstation → Picking → Others → Stock Adjustment") |
|
||||
|
||||
### Rules for adjustments
|
||||
|
||||
- All adjustments require an **adjustment reason** (from the reasons master). One reason can cover multiple adjustments in a session.
|
||||
- When quantity is adjusted and stock has:
|
||||
- **Putaway tasks**: task is canceled so location search is recalculated with new weight/characteristics
|
||||
- **Picking/shipping tasks (not in execution)**: assignment canceled; line re-released
|
||||
- **Picking/shipping tasks (in execution)**: task quantities adjusted; line re-released for deficit
|
||||
- **Replenishment source assignments**: assignments adjusted; picking tasks at PDL adjusted or canceled
|
||||
- **Reserve priority**: on decrease, the most recently assigned reserves are preferentially canceled; oldest are preserved
|
||||
- Cutting stock adjustments can optionally trigger cutting stock label printing (if cutting profile has "Label source stock" active)
|
||||
|
||||
### Communications
|
||||
|
||||
- Adjustment generates: **STV** message (ERP notification of stock value change)
|
||||
- Transaction recorded: **STK.ADJ**
|
||||
|
||||
> **STV important note**: The quantity in the STV message is the **delta** (quantity that changed), not the remaining quantity in the warehouse. For example, if 10 units were deleted, STV sends -10, not the new total. The ERP must accumulate deltas or use SCR/WSC for a full stock image.
|
||||
|
||||
> **WSC / SCR**: To get the complete stock image, the ERP sends an **SCR** request and EasyWMS responds with a **WSC** file. This can be:
|
||||
> - Grouped by item (one line per item/owner/status)
|
||||
> - Detailed (with location and container)
|
||||
> - The WSC does NOT discriminate "available to sell" — use stock status filtering for that.
|
||||
> - Stock at 0 can optionally be included (configurable).
|
||||
> - Can be sent on-demand or on a scheduled basis (once/day or at intervals).
|
||||
|
||||
### Adjustment reasons
|
||||
|
||||
Reasons are configured in `Masters > Adjustment reasons`. Each reason can optionally require a comment. Reasons are referenced in audit trails and ERP communications.
|
||||
|
||||
### Double validation
|
||||
|
||||
EasyWMS supports a **double validation** mechanism for stock adjustments. When active, an adjustment stays in "Pending" status until a manager validates or cancels it.
|
||||
|
||||
- **Pending**: adjustment entered but not yet applied. No STK.ADJ transaction; no STV sent to ERP.
|
||||
- **Validated**: manager approves → adjustment is applied, transaction and STV generated.
|
||||
- **Cancelled**: manager rejects → stock is restored, no transaction or ERP notification.
|
||||
|
||||
Configuration (per item, in **inventory profile**):
|
||||
| Setting | Behavior |
|
||||
|---------|---------|
|
||||
| **Never** | No double validation — adjustments applied immediately |
|
||||
| **Always** | All adjustments require manager validation |
|
||||
| **By tolerance** | Requires validation only if delta exceeds a configured threshold (absolute value or %) |
|
||||
|
||||
Pending adjustments are visible in the Adjustments view with status "Pending". They do not affect stock available for picking.
|
||||
|
||||
## Stock status operations (from the Stocks view)
|
||||
|
||||
| Operation | Description | Visibility |
|
||||
|---|---|---|
|
||||
| **Audit** | View stock audit trail (all movements and changes) | Single record |
|
||||
| **Adjust** | Open adjustment dialog for this stock line | Single record |
|
||||
| **Status** | Change user status of this stock | Single record |
|
||||
| **Container** | Mark container as complete / lock / change location | Single record (containerized stock) |
|
||||
| **Relocate container** | Automatic relocation / to location / to aisle or level | Single or multiple records |
|
||||
| **Print container label** | Print LPN label for this stock's container | Single record |
|
||||
| **Delete** | Delete stock line (with adjustment reason) | Single record |
|
||||
| **New** | Create new stock line in a container/location | No records selected |
|
||||
| **Forward traceability lock** | Lock all downstream stock derived from this lot/reception | No records selected |
|
||||
| **Stock contrast** | Request WMS to send current stock snapshot to ERP (triggers WSC) | No records selected |
|
||||
| **Print list / Export list** | Print or export filtered stock lines | No records selected |
|
||||
|
||||
## Grouped stock reports
|
||||
|
||||
The grouped stock reports provide aggregate views of stock without the per-line detail of the Stock view:
|
||||
|
||||
| Report | Grouped by | Use case |
|
||||
|---|---|---|
|
||||
| **By item** | Item code | Total stock per SKU across warehouse |
|
||||
| **By date and lot** | Item + date + lot | Traceability and FEFO management |
|
||||
| **By presentation** | Item + presentation (UoM) | Commercial stock view |
|
||||
| **By presentation, date and lot** | Item + presentation + date + lot | Detailed expiry tracking |
|
||||
| **By sub-warehouse and zone** | Sub-warehouse + zone | Area-level stock overview |
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Effect |
|
||||
|---|---|
|
||||
| `MAX_NUM_LABELS_TO_READ` | Enables multi-reference label reading during stock adjustment (also applies to reception and counts) |
|
||||
| `UNLOAD_CREATE_PRODUCT_LOCATION` | Auto-creates/updates picking dedicated location assignments during PDL adjustment |
|
||||
| `REPLENISH_LEVEL_PERCENT_PRODUCT_LOCATION` | Level threshold calculation for PDL replenishment triggered by adjustment |
|
||||
|
||||
## Interface
|
||||
|
||||
| Function | Hardware | Menu path |
|
||||
|---|---|---|
|
||||
| Stock lines view | PC | Inventory (or Warehouse) → Stock |
|
||||
| Quantity increase | RFT | Utilities → Increase item |
|
||||
| Quantity decrease | RFT | Utilities → Decrease item |
|
||||
| Location adjustment | RFT | Utilities → Location adjustment |
|
||||
| Picking conveyor adjustment | Workstation | Workstation → Picking → Others → Stock Adjustment |
|
||||
| Grouped stock reports | PC | Reports → Grouped stock |
|
||||
| Stock contrast (send WSC) | PC | From Stock view → Stock contrast button |
|
||||
|
||||
## Common errors
|
||||
|
||||
| Symptom | Cause | Solution |
|
||||
|---|---|---|
|
||||
| Cannot adjust ASN stock | Stock is in pre-notified container not yet received | Receive the container first via the reception process |
|
||||
| Cannot adjust client stock | Stock is prepared for a shipping order in a client container | Un-prepare the stock via shipping management, then adjust |
|
||||
| Adjustment fails — reason required | No adjustment reason selected | Create reasons in Masters; select one before adjusting |
|
||||
| Stock not visible in view | Stock in virtual location (ASN, Lost_Found) or filtered out | Remove filters; check virtual locations explicitly |
|
||||
| Stock in lock not assignable | User or receiving status prevents shipping | Release the lock (manually or via STR from ERP); or add required status to SOR line |
|
||||
| Quantity jumps after decrease | Other stock from the same item was consolidated | Separate stock lines if needed; use "From multiple receptions" selection |
|
||||
| STV not sent to ERP | Integration configuration issue | Check ERP integration settings; verify STV message is enabled |
|
||||
|
||||
## Related
|
||||
|
||||
- [[container]] — stock is either containerized (in an LPN) or loose; container locks and type affect stock eligibility
|
||||
- [[location]] — every stock record has a location; location logics (allow shipping, allow replenishment) determine eligibility
|
||||
- [[product-item]] — item defines the static attributes; stock is the physical quantity with runtime attributes
|
||||
- [[reception]] — stock is created during the reception process; receiving status can be set at receipt
|
||||
- [[picking]] — stock is assigned and picked for outbound orders; picking consumes stock quantity
|
||||
- [[shipping]] — shipping closes orders and removes stock from the warehouse
|
||||
- [[count]] — counts verify the accuracy of stock records; discrepancies trigger adjustments
|
||||
- [[stock-adjustment]] — detailed adjustment procedures (quantity, UoM, logistic attributes)
|
||||
- [[stock-assignment]] — the allocation engine that binds stock lines to outbound order line details (`StockAssignProcess_*` workflows, assignment types, customisation points)
|
||||
- [[order-outbound]] — stock assignment links specific stock lines to SOR lines; reserves and assignments
|
||||
- [[task]] — tasks move stock between locations; running tasks block certain stock adjustments
|
||||
- [[erp-interface]] — STV message reports stock changes; SCR/WSC for stock contrasts; STR for status locks
|
||||
Reference in New Issue
Block a user