màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -0,0 +1,796 @@
|
||||
---
|
||||
title: "ERP Interface"
|
||||
type: concept
|
||||
sources:
|
||||
- areas/ERP.md
|
||||
- areas/ERP/masters/itm.md
|
||||
- areas/ERP/masters/itc.md
|
||||
- areas/ERP/masters/kit.md
|
||||
- areas/ERP/masters/sup.md
|
||||
- areas/ERP/masters/acc.md
|
||||
- areas/ERP/masters/own.md
|
||||
- areas/ERP/masters/car.md
|
||||
- areas/ERP/masters/lck.md
|
||||
- areas/ERP/receipts/ror.md
|
||||
- areas/ERP/receipts/asn.md
|
||||
- areas/ERP/receipts/aso.md
|
||||
- areas/ERP/receipts/ask.md
|
||||
- areas/ERP/receipts/roc.md
|
||||
- areas/ERP/receipts/rof.md
|
||||
- areas/ERP/receipts/ref.md
|
||||
- areas/ERP/requests/str.md
|
||||
- areas/ERP/requests/scr.md
|
||||
- areas/ERP/requests/cmc.md
|
||||
- areas/ERP/shipping/sor.md
|
||||
- areas/ERP/shipping/soc.md
|
||||
- areas/ERP/shipping/sof.md
|
||||
- areas/ERP/shipping/lof.md
|
||||
- areas/ERP/shipping/wor.md
|
||||
- areas/ERP/shipping/wof.md
|
||||
- areas/ERP/shipping/rut.md
|
||||
- areas/ERP/counts/cor.md
|
||||
- areas/ERP/counts/cof.md
|
||||
- areas/ERP/replenishment/srn.md
|
||||
- areas/ERP/replenishment/sro.md
|
||||
- areas/ERP/replenishment/srk.md
|
||||
- areas/ERP/notifications/stv.md
|
||||
- areas/ERP/notifications/stc.md
|
||||
- areas/ERP/notifications/wsc.md
|
||||
- areas/ERP/notifications/kst.md
|
||||
- areas/ERP/notifications/unk.md
|
||||
- areas/ERP/notifications/cos.md
|
||||
- areas/ERP/notifications/coc.md
|
||||
- sources/archives/08_Ajouter_image_fiche_article_ITM01.md
|
||||
- sources/archives/18_ASN_DirectTransfer.md
|
||||
- sources/archives/19_ASN_Transfer.md
|
||||
- sources/archives/32_Fusion_commandes_Merge.md
|
||||
related:
|
||||
- concepts/order-inbound.md
|
||||
- concepts/order-outbound.md
|
||||
- concepts/stock.md
|
||||
- concepts/product-item.md
|
||||
- concepts/count.md
|
||||
- concepts/quality-control.md
|
||||
- concepts/transactions.md
|
||||
- architecture/entities-map.md
|
||||
last_compiled: "2026-04-17"
|
||||
---
|
||||
|
||||
# ERP Interface
|
||||
|
||||
## Overview
|
||||
|
||||
The ERP Interface is the integration layer between Easy WMS and the customer's ERP system (SAP, Oracle, Microsoft Dynamics, or any custom ERP). Communication is asynchronous, message-based, using a structured 3-letter code naming convention. Messages flow in both directions:
|
||||
|
||||
- **ERP → WMS**: Master data synchronization, order creation, requests
|
||||
- **WMS → ERP**: Status notifications, order finalizations, stock events
|
||||
|
||||
All messages have a **version** suffix when multiple variants exist (e.g., ROR01, SOR01, SOR02). The **Operation** field in each message specifies the action: `C` (Create), `U` (Update), `S` (Upsert), `D` (Delete).
|
||||
|
||||
## Complete Message Catalog
|
||||
|
||||
### Master Data Messages (ERP → WMS)
|
||||
|
||||
| Code | Name | Direction | Description |
|
||||
|------|------|-----------|-------------|
|
||||
| ITM | Item | ERP → WMS | Create/update/delete items (SKU master) |
|
||||
| ITC | Item Classification | ERP → WMS | Min/max stock levels per sub-warehouse |
|
||||
| OWN | Owner | ERP → WMS | Create/update owners (3PL tenants) |
|
||||
| CAR | Carrier | ERP → WMS | Create/update carriers |
|
||||
| ACC | Account | ERP → WMS | Create/update customer accounts |
|
||||
| SUP | Supplier | ERP → WMS | Create/update suppliers |
|
||||
| KIT | Kit | ERP → WMS | Create/update kit definitions |
|
||||
| LCK | Lock Type | ERP → WMS | Lock type master data |
|
||||
|
||||
#### ITM — Image fields
|
||||
|
||||
The `ITM01` message can optionally convey the article's picture. Two modes:
|
||||
|
||||
| Mode | Field | Behaviour |
|
||||
|---|---|---|
|
||||
| **Local file** | `<ItmPicture>nom-fichier.jpg</ItmPicture>` | File resolved against the folder pointed to by `UserImagesURI` in the WMS `appsettings.json`. Typical value : `C:/MLX/Data/Pictures/`. |
|
||||
| **URL** | `<ItmPictureUrl>https://…/photo.jpg</ItmPictureUrl>` | Fetched by the WMS when the client uses the display; `ItmPicture` takes precedence if both are present. |
|
||||
|
||||
> Requires read access on the `UserImagesURI` share from the WMS service account. The image is not uploaded via the ITM file — only the filename / URL is stamped on the item record.
|
||||
|
||||
---
|
||||
|
||||
### Inbound / Receipt Messages
|
||||
|
||||
#### ROR — Receipt Order (ERP → WMS)
|
||||
|
||||
The primary message for creating inbound orders.
|
||||
|
||||
**Versions:**
|
||||
- `ROR01` (default): Supplier receipt orders, return orders, transfer orders
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Operation | C/S/U/D |
|
||||
| Site | Warehouse code |
|
||||
| RorCode | Receipt order code (unique) |
|
||||
| RorType | Supplier / Return / Transfer |
|
||||
| SupplierCode | Supplier (Supplier type only) |
|
||||
| Document | Delivery note number (optional) |
|
||||
| Lines[].LneNumber | Line number |
|
||||
| Lines[].LneItemCode | Item to receive |
|
||||
| Lines[].LneQtyExpected | Expected quantity |
|
||||
| Lines[].LneQtyFree | Free-of-charge quantity |
|
||||
| Lines[].LneQtyUoMCode | Unit of measure |
|
||||
| Lines[].transactional | If true: fail entire order if one line fails |
|
||||
|
||||
**Notes:**
|
||||
- Order code must be unique for new orders
|
||||
- Lines support optional `transactional` group to control failure behavior
|
||||
- Can create/modify/cancel lines individually after creation
|
||||
- Triggers [ROC](#roc--receipt-order-status-change-wms--erp) status change notifications
|
||||
|
||||
---
|
||||
|
||||
#### ASN — Advanced Shipping Notice (ERP → WMS)
|
||||
|
||||
Pre-notifies WMS of containers en route to the warehouse.
|
||||
|
||||
**Versions:**
|
||||
- `ASN01`: Basic container pre-notification
|
||||
- `ASN02–ASN08`: Extended variants for cutting stock, quality status, loose stock, etc.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Operation | C/D |
|
||||
| Site | Warehouse code |
|
||||
| ContainerCode | Container LPN |
|
||||
| ContainerTypeCode | Container type |
|
||||
| ReceiptOrderCode | Associated receipt order (optional) |
|
||||
| Lines[].ItemCode | Item in container |
|
||||
| Lines[].Quantity | Quantity |
|
||||
| Lines[].UoMCode | Unit of measure |
|
||||
| Lines[].LogisticAttributes | Lot, expiry, serial, etc. |
|
||||
|
||||
**Notes:**
|
||||
- Creates pending stock at ASN virtual location
|
||||
- If container is received: triggers [ASO](#aso--advanced-shipping-notice-ok-wms--erp) response
|
||||
- If container is rejected or deleted: triggers [ASK](#ask--advanced-shipping-notice-ko-wms--erp) response
|
||||
|
||||
---
|
||||
|
||||
#### SRN — Stock Replenish Notice (ERP → WMS)
|
||||
|
||||
Pre-notifies WMS of loose stock for automatic warehouse replenishment.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| Operation | Operation code |
|
||||
| ItemCode | Item to replenish |
|
||||
| OwnerCode | Owner |
|
||||
| Quantity | Quantity |
|
||||
| UoMCode | Unit of measure |
|
||||
| Status | Stock status group |
|
||||
| Attributes | Logistic attributes |
|
||||
| RepQuePickingStationCode | Target picking conveyor (optional, triggers auto replenishment order) |
|
||||
| RepQuePriority | Priority (Urgent/High/Normal/Low/VeryLow) |
|
||||
| RepQueReplenishMode | Replenishment mode |
|
||||
| RepQueEfficiencyMode | Efficiency mode |
|
||||
|
||||
---
|
||||
|
||||
#### ROC — Receipt Order Status Change (WMS → ERP)
|
||||
|
||||
Notifies ERP of receipt order status transitions.
|
||||
|
||||
**Statuses reported:** Waiting, Pending, Receiving, PartiallyReceived, Received, Closed, Canceled
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| RorCode | Receipt order code |
|
||||
| Status | New status |
|
||||
|
||||
**Triggered by:** `INO.CST` transaction
|
||||
|
||||
---
|
||||
|
||||
#### ROF — Receipt Order Finalization (WMS → ERP)
|
||||
|
||||
Notifies ERP that a receipt order has been closed or canceled, with received quantities.
|
||||
|
||||
**Versions:**
|
||||
- `ROF01`: Standard finalization
|
||||
- `ROF02`: Extended with detailed line-level quantities — **the version generated when closing an inbound order sourced from a `Transfer` shipping order** (two-warehouse flow). For standard supplier receipts, ROF01 is emitted.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| RorCode | Receipt order code |
|
||||
| Status | Closed / Canceled |
|
||||
| Lines[].LneNumber | Line number |
|
||||
| Lines[].LneItemCode | Item |
|
||||
| Lines[].LneQtyExpected | Expected quantity |
|
||||
| Lines[].LneQtyReceived | Received quantity |
|
||||
| Lines[].LneQtyUoMCode | Unit of measure |
|
||||
|
||||
**Triggered by:** `INO.CLS` / `INO.CNL` transactions
|
||||
|
||||
---
|
||||
|
||||
#### REF — Receipt Finalization (WMS → ERP)
|
||||
|
||||
Notifies ERP that a **receipt** (physical receiving event) has been closed.
|
||||
|
||||
**Notes:**
|
||||
- Sent only when a receipt with actual received stock is closed
|
||||
- Sent for blind receipts (no associated receipt order)
|
||||
- Includes detailed line-level stock received data
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| ReceiptCode | Receipt code |
|
||||
| Status | Closed |
|
||||
| RecDatContainers | Number of containers received |
|
||||
| RecDatDate | Arrival/closure date |
|
||||
| Lines[].LneItemCode | Item received |
|
||||
| Lines[].LneQtyReceived | Received quantity |
|
||||
| Lines[].LneStockItemCode | Actual received item (may differ from ordered) |
|
||||
| Lines[].LneStockQty | Stock quantity |
|
||||
| Lines[].LneStockWeight | Weight |
|
||||
| Lines[].LneStockRecDate | Receipt timestamp |
|
||||
|
||||
**Triggered by:** `REC.CLS` transaction
|
||||
|
||||
---
|
||||
|
||||
#### ASO — Advanced Shipping Notice OK (WMS → ERP)
|
||||
|
||||
Confirms that a pre-notified container has been successfully received.
|
||||
|
||||
**Triggered by:** `CON.ASN.001` transaction (ASN container received) or `CON.PIE` (container entered via PIE)
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| ContainerCode | Received container |
|
||||
| ReceiptOrderCode | Associated receipt order |
|
||||
| ReceiptCode | Receipt document |
|
||||
| ReceivedDate | Reception timestamp |
|
||||
|
||||
> **DirectTransfer trigger** — when the expedition of a `<DirectTransfer>` shipping order is closed at the origin warehouse, EasyWMS automatically generates an `ASO01` message targeting the destination warehouse, creating the incoming ASN container(s). The ASO carries the container and its stock but **no reference to the originating `SorCode` / DirectTransfer header**. See [concepts/order-outbound.md](order-outbound.md#asn--directtransfer-flow).
|
||||
|
||||
---
|
||||
|
||||
#### ASK — Advanced Shipping Notice KO (WMS → ERP)
|
||||
|
||||
Notifies ERP that a pre-notified container has been rejected or deleted.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| ContainerCode | Rejected container |
|
||||
| ReceiptOrderCode | Receipt order (optional) |
|
||||
| CancelDate | Rejection timestamp |
|
||||
|
||||
**Triggered by:** `CON.CNL.ASN` transaction
|
||||
|
||||
> **DirectTransfer trigger** — deleting an ASN container of a DirectTransfer flow from SmartUI (`Entrepôt → Conteneurs ASN → Supprimer`) generates an `ASK01` to the ERP. As with the ASO, the message contains no reference to the upstream shipping order.
|
||||
|
||||
---
|
||||
|
||||
#### SRO — Stock Replenish OK (WMS → ERP)
|
||||
|
||||
Confirms that pre-notified loose stock has been used for automatic warehouse replenishment.
|
||||
|
||||
**Triggered by:** `STK.REP.001` transaction
|
||||
|
||||
---
|
||||
|
||||
#### SRK — Stock Replenish KO (WMS → ERP)
|
||||
|
||||
Notifies that pre-notified loose stock has been canceled (not used for replenishment).
|
||||
|
||||
**Triggered by:** `STK.REP.CNL` transaction
|
||||
|
||||
---
|
||||
|
||||
### Outbound / Shipping Messages
|
||||
|
||||
#### SOR — Shipping Order (ERP → WMS)
|
||||
|
||||
The primary message for creating outbound orders.
|
||||
|
||||
**Versions:**
|
||||
- `SOR01`: Standard shipping order (items/containers)
|
||||
- `SOR02`: Prepackaging (specifies package count/type per line; VAS integration)
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Operation | S (new/upsert) / U (update) / D (cancel) |
|
||||
| Site | Warehouse code |
|
||||
| SorCode | Shipping order code (unique) |
|
||||
| SorType | Customer / Return / Transfer / DirectTransfer |
|
||||
| Priority | Urgent/High/Normal/Low/VeryLow |
|
||||
| EnableReplenishment | Enable auto replenishment for this order |
|
||||
| PrpPackingLocation | Consolidation location code |
|
||||
| PlnAssignedDock | Pre-assigned dock |
|
||||
| Lines[].LneNumber | Line number |
|
||||
| Lines[].LneItemCode | Item (or alias) |
|
||||
| Lines[].LneContCode | Container (optional) |
|
||||
| Lines[].LneQtyOrder | Ordered quantity |
|
||||
| Lines[].LneQtyUoMCode | Presentation |
|
||||
| Lines[].LneAttributes | Logistic attribute filters (lot, expiry, etc.) |
|
||||
| Lines[].LneTrmCritical | Critical line flag (all or nothing) |
|
||||
| Lines[].LneTrmRequired | Required line flag (conditional preparation) |
|
||||
| Lines[].LneMaxLots | Maximum number of lots |
|
||||
| Lines[].LneQtyAllowExcess | Allow over-allocation |
|
||||
| Lines[].LneTrmAlternative | Use configured substitutes |
|
||||
| Lines[].LneAltItmCode | Explicit substitute item |
|
||||
| Lines[].LneTrmStaReq | Required stock status |
|
||||
| Lines[].LneTrmStaRejC | Rejected stock status |
|
||||
| Lines[].LneTrmStaPref | Preferred stock status |
|
||||
| Lines[].LneQtyReserve | Stock reserve quantity |
|
||||
| Lines[].ShipExpiredStock | Ship only expired stock |
|
||||
| SOR02: PrpContTypeRequired | Required client container type |
|
||||
| SOR02: VASCode | VAS template |
|
||||
|
||||
**`SorType = DirectTransfer`** — inter-warehouse transfer; closing the expedition at origin emits an automatic `ASO01` on destination, pre-creating the ASN container (see [ASO](#aso--advanced-shipping-notice-ok-wms--erp) and [concepts/order-outbound.md](order-outbound.md#asn--directtransfer-flow)).
|
||||
|
||||
**`SorType = Transfer`** — inter-warehouse transfer variant where destination generates **a full inbound order** on expedition close (as opposed to DirectTransfer which only pre-notifies via ASN). The destination ROR carries the source SOR reference ; on close, destination emits a `ROF02` carrying the line-level quantities, which the origin warehouse uses to reconcile. See [concepts/order-outbound.md](order-outbound.md#transfer-two-warehouse-flow).
|
||||
|
||||
---
|
||||
|
||||
#### SOC — Shipping Order Status Change (WMS → ERP)
|
||||
|
||||
Notifies ERP of shipping order status transitions.
|
||||
|
||||
**Statuses reported:** Release, StockFailure, InPreparation, Paused, Stopped, Prepared, Completed, Canceled
|
||||
|
||||
**Triggered by:** `OUT.CST` transaction
|
||||
|
||||
---
|
||||
|
||||
#### SOF — Shipping Order Finalization (WMS → ERP)
|
||||
|
||||
Notifies ERP that a shipping order has been closed or canceled with shipped quantities.
|
||||
|
||||
**Versions:**
|
||||
- `SOF01`: Full close
|
||||
- `SOF02`: Partial close (with remaining quantities)
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| SorCode | Shipping order code |
|
||||
| Status | Closed / Canceled |
|
||||
| ClosingNumber | Closing sequence number |
|
||||
| Lines[].LneNumber | Line number |
|
||||
| Lines[].LneQtyShipped | Shipped quantity |
|
||||
| Lines[].LneQtyUoMCode | Unit of measure |
|
||||
|
||||
**Triggered by:** `OUT.CLS` / `OUT.CNL` transactions
|
||||
|
||||
---
|
||||
|
||||
#### DlvShareDeliveries — Merge outbound orders (ERP → WMS)
|
||||
|
||||
XML message used by the **Multi-Carrier / Deliveries module** to request that two or more outbound orders be prepared together (merged). A merged group shares client containers, carrier call, and closure.
|
||||
|
||||
**Eligibility** — all orders in the request must match on:
|
||||
|
||||
- Same account
|
||||
- Same site (warehouse)
|
||||
- Same route or delivery address
|
||||
- Same carrier
|
||||
|
||||
When `ALLOW_MERGE_DIFFERENT_ACCOUNT = true` is set, the "same account" rule is relaxed (cross-account merges become possible).
|
||||
|
||||
**Effect on orders:**
|
||||
|
||||
- Stock assignment is executed across the merged scope (not per-order)
|
||||
- Client containers can carry lines from any order in the group
|
||||
- Order closure is triggered when the last line of the last order in the group is picked / when the carrier call returns
|
||||
- SOF is still emitted per source SOR — only preparation is shared
|
||||
|
||||
See [concepts/order-outbound.md](order-outbound.md#merge-order-fusion) for operator flows and limitations.
|
||||
|
||||
---
|
||||
|
||||
#### LOF — Load Finalization (WMS → ERP)
|
||||
|
||||
Notifies ERP that a truck load has been closed (truck loaded and sealed).
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| LoadCode | Load code |
|
||||
| RouteCode | Route code |
|
||||
| Seal | Seal number |
|
||||
| ClosureDate | Closure timestamp |
|
||||
| ShippingOrders[] | Orders included in load |
|
||||
|
||||
**Triggered by:** `LOAD.CLS` transaction
|
||||
|
||||
---
|
||||
|
||||
#### WOR — Work Order (ERP → WMS)
|
||||
|
||||
Creates kit assembly or other work orders.
|
||||
|
||||
**Used for:** Kit assembly, quartering (cutting), or other manufactured outputs
|
||||
|
||||
---
|
||||
|
||||
#### WOF — Work Order Finalization (WMS → ERP)
|
||||
|
||||
Notifies ERP that a work order (kit assembly, etc.) has been closed or canceled.
|
||||
|
||||
**Triggered by:** `WOR.CLS.001` / `WOR.CNL.001` transactions
|
||||
|
||||
---
|
||||
|
||||
#### RUT — Route (ERP → WMS)
|
||||
|
||||
Creates or updates carrier routes.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| RouteCode | Route code |
|
||||
| CarrierCode | Carrier |
|
||||
| DockCode | Departure dock |
|
||||
| DepartureTime | Scheduled departure |
|
||||
|
||||
---
|
||||
|
||||
### Count Messages
|
||||
|
||||
#### COR — Count Order Request (ERP → WMS)
|
||||
|
||||
Requests WMS to create a physical count.
|
||||
|
||||
**Supported scope types:**
|
||||
- Item count (by item + owner)
|
||||
- Location count (by location range or aisle)
|
||||
- Container count (by LPN)
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| CountCode | Count code |
|
||||
| Priority | Count priority |
|
||||
| Lines[].ItemCode | Item (item count) |
|
||||
| Lines[].Aisle | Aisle (aisle count) |
|
||||
| Lines[].CntCode | Container LPN (container count) |
|
||||
| Lines[].LocationFrom/To | Location range (location count) |
|
||||
| Lines[].IsInformed | Blind (false) or informed (true) count |
|
||||
|
||||
---
|
||||
|
||||
#### COF — Count Order Finalization (WMS → ERP)
|
||||
|
||||
Reports count results when a WMS-received count (from COR) is closed or canceled.
|
||||
|
||||
**Note:** Only sent for ERP-initiated counts, not WMS-initiated counts.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Status | Closed / Canceled |
|
||||
| Site | Warehouse code |
|
||||
| CountCode | Count code |
|
||||
| Lines[].ItemCode | Counted item |
|
||||
| Lines[].Quantity | Counted quantity |
|
||||
| Lines[].UomCode | Unit of measure |
|
||||
| Lines[].LogisticAttributes | Lot, serial, etc. |
|
||||
| Lines[].StockStatus | Receiving and user statuses |
|
||||
| (empty location) LocationEmpty=1 | Indicates empty location |
|
||||
|
||||
**Triggered by:** `COU.END` transaction
|
||||
|
||||
---
|
||||
|
||||
### Request Messages
|
||||
|
||||
#### STR — Stock Status Change Request (ERP → WMS)
|
||||
|
||||
Requests WMS to apply or remove a quality lock on stock.
|
||||
|
||||
**Operations:**
|
||||
- `S` (Add): Lock stock with a user status
|
||||
- `D` (Remove): Remove user or receiving status
|
||||
|
||||
**Filter options:** Item, Owner, Container, Lot (logistic attributes)
|
||||
|
||||
**Lock types:**
|
||||
- Time-limited lock: `StaUsrEnd` field with UTC expiry datetime
|
||||
- Permanent lock: No end date, must be manually released
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Operation | S (lock) / D (unlock) |
|
||||
| ItemCode | Item to lock |
|
||||
| OwnerCode | Owner |
|
||||
| FltAttLot | Lot filter |
|
||||
| StaCode | Status code to apply |
|
||||
| StaUsrEnd | Lock expiry (UTC) — optional |
|
||||
| StaUsrEmpty | Status to remove (for unlock) |
|
||||
| StaRecEmpty | Reception status to remove |
|
||||
|
||||
**Response:** [STC](#stc--stock-status-change-wms--erp) message per affected stock line
|
||||
|
||||
---
|
||||
|
||||
#### SCR — Stock Count Request (ERP → WMS)
|
||||
|
||||
Requests WMS to report current stock for an item or lot.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| MassiveCount | true=grouped by item / false=per container |
|
||||
| ItemCode | Item |
|
||||
| OwnerCode | Owner |
|
||||
| LotCode | Lot (optional) |
|
||||
|
||||
**Response:** [WSC](#wsc--warehouse-stock-count-wms--erp) message
|
||||
|
||||
---
|
||||
|
||||
#### CMC — Container Movement Confirmation (ERP → WMS)
|
||||
|
||||
Notifies WMS of a container's destination after removal from outbound conveyor, when movements are managed by an external system.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| ContainerCode | Container |
|
||||
| Destination | Destination location code |
|
||||
|
||||
---
|
||||
|
||||
### Notification Messages (WMS → ERP)
|
||||
|
||||
#### STV — Stock Variation (WMS → ERP)
|
||||
|
||||
Reports any stock quantity change (increase, decrease, creation, deletion, UoM change, logistic attribute change).
|
||||
|
||||
**Operations:** C (creation/increase), D (deletion/decrease)
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Operation | C or D |
|
||||
| Site | Warehouse code |
|
||||
| ItemCode | Item |
|
||||
| OwnerCode | Owner |
|
||||
| QuantityVar | Changed quantity (in base UoM) |
|
||||
| UoMCode | Unit of measure (if UoM change) |
|
||||
| FilterAttributes | Old logistic attributes (for attribute changes) |
|
||||
| Attributes | New logistic attributes (for attribute changes) |
|
||||
| ReasonCode | Adjustment reason (if configured) |
|
||||
|
||||
**Also sent for:** Presentation breakage (UoM split during picking), replenishment splits
|
||||
|
||||
**Triggered by:** `STK.ADJ` transaction
|
||||
|
||||
---
|
||||
|
||||
#### STC — Stock Status Change (WMS → ERP)
|
||||
|
||||
Reports every stock quality status change (lock or unlock).
|
||||
|
||||
**Can be triggered by:** STR request from ERP, manual user action (RF or SmartUI), automatic time-based unlock
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| ItemCode | Item |
|
||||
| OwnerCode | Owner |
|
||||
| Quantity | Stock quantity |
|
||||
| UomCode | Unit of measure |
|
||||
| FltAttLot | Lot |
|
||||
| ContainerCode | Container (if applicable) |
|
||||
| StaUsrCode | New user status (lock case) |
|
||||
| StaUsrEnd | Expiry date (for time-limited locks) |
|
||||
| StaUsrEmpty | true (unlock case) |
|
||||
|
||||
**Triggered by:** `CST.STK` transaction
|
||||
|
||||
---
|
||||
|
||||
#### WSC — Warehouse Stock Count (WMS → ERP)
|
||||
|
||||
Response to SCR stock contrast request. Reports current stock quantities.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| WSCDate | Date of stock check |
|
||||
| ItemCode | Item |
|
||||
| OwnerCode | Owner |
|
||||
| Quantity | Current stock quantity |
|
||||
| UomCode | Unit of measure |
|
||||
| LotCode | Lot (if lot-level contrast requested) |
|
||||
|
||||
**Triggered by:** `SCR.REQ` transaction
|
||||
|
||||
---
|
||||
|
||||
#### KST — Kit Assembled (WMS → ERP)
|
||||
|
||||
Notifies ERP that kit stock has been assembled.
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| WorkOrderCode | Work order code (if applicable) |
|
||||
| KitItemCode | Assembled kit item |
|
||||
| KitQuantity | Kit quantity |
|
||||
| KitVersion | Kit version |
|
||||
| CompItemCode | Component item |
|
||||
| CompQty | Component quantity used |
|
||||
|
||||
**Triggered by:** `STK.KIT.MOUNT` transaction
|
||||
|
||||
---
|
||||
|
||||
#### UNK — Kit Disassembled (WMS → ERP)
|
||||
|
||||
Notifies ERP that kit stock has been disassembled.
|
||||
|
||||
**Triggered by:** `STK.KIT.UMOUNT` transaction
|
||||
|
||||
---
|
||||
|
||||
#### COS — Container Shipped to PS (WMS → ERP)
|
||||
|
||||
Notifies ERP that a client container has been sent to the outbound conveyor (PS/Sortation).
|
||||
|
||||
**Key fields:**
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| Site | Warehouse code |
|
||||
| StationCode | Station where container ended |
|
||||
| LocationCode | Location |
|
||||
| ContainerCode | Container |
|
||||
| StationToCode | Destination station (if task-based move) |
|
||||
| ClosedDate | Closing timestamp (UTC) |
|
||||
|
||||
**Triggered by:** `CON.COS.001` transaction
|
||||
|
||||
---
|
||||
|
||||
#### COC — Container Closed in MP (WMS → ERP)
|
||||
|
||||
Notifies ERP that a client container has been closed in a Preparation Zone (MP).
|
||||
|
||||
**Key fields:** Same structure as COS
|
||||
|
||||
**Triggered by:** `CON.COC` transaction
|
||||
|
||||
---
|
||||
|
||||
#### ERR — Error (WMS → ERP)
|
||||
|
||||
Sent when WMS cannot process an incoming ERP message. Contains the original message reference and error description.
|
||||
|
||||
---
|
||||
|
||||
## Message Operation Codes
|
||||
|
||||
| Code | Meaning |
|
||||
|------|---------|
|
||||
| `C` | Create (new record) |
|
||||
| `S` | Upsert (create or update) |
|
||||
| `U` | Update (existing record only) |
|
||||
| `D` | Delete or cancel |
|
||||
|
||||
## Integration Architecture
|
||||
|
||||
### Message Flow
|
||||
|
||||
```
|
||||
ERP ──[async message]──→ WMS Integration Queue
|
||||
WMS Integration Queue ──→ WMS Core (processes message)
|
||||
WMS Core ──[transaction]──→ Post-processor
|
||||
Post-processor ──[async message]──→ ERP Response Queue
|
||||
ERP Response Queue ──→ ERP
|
||||
```
|
||||
|
||||
### Transaction Post-processing
|
||||
|
||||
Many WMS transactions are marked **"Post-processed: yes"** — meaning after the internal transaction is written, a background post-processor generates the corresponding ERP message:
|
||||
|
||||
| Transaction | Generated Message |
|
||||
|------------|-----------------|
|
||||
| `CON.ASN.001` | ASO |
|
||||
| `CON.CNL.ASN` | ASK |
|
||||
| `CON.PIE` | ASO |
|
||||
| `INO.CST` | ROC |
|
||||
| `INO.CLS` | ROF |
|
||||
| `INO.CNL` | ROF |
|
||||
| `REC.CLS` | REF |
|
||||
| `OUT.CST` | SOC |
|
||||
| `OUT.CLS` | SOF |
|
||||
| `OUT.CNL` | SOF |
|
||||
| `LOAD.CLS` | LOF |
|
||||
| `WOR.CLS.001` | WOF |
|
||||
| `WOR.CNL.001` | WOF |
|
||||
| `COU.END` | COF |
|
||||
| `STK.ADJ` | STV |
|
||||
| `CST.STK` | STC |
|
||||
| `STK.REP.001` | SRO |
|
||||
| `STK.REP.CNL` | SRK |
|
||||
| `SCR.REQ` | WSC |
|
||||
| `STK.KIT.MOUNT` | KST |
|
||||
| `STK.KIT.UMOUNT` | UNK |
|
||||
|
||||
### Module-Specific ERP Messages
|
||||
|
||||
Beyond the core catalog, optional modules add their own ERP messages:
|
||||
|
||||
| Module | Message | Direction | Description |
|
||||
|--------|---------|-----------|-------------|
|
||||
| Manufacturing | RCP01/RCP02 | ERP → WMS | Recipe (BOM) create/update/delete |
|
||||
| Manufacturing | MOR01 | ERP → WMS | Manufacturing production order create/update/delete |
|
||||
| Manufacturing | MOF | WMS → ERP | Manufacturing order finalization (closed or cancelled) |
|
||||
| Manufacturing | FGP | WMS → MES | Finished goods produced notification (MES integration) |
|
||||
| Kits | WOR | ERP → WMS | Work order for kit assembly or disassembly |
|
||||
| Kits | WOF | WMS → ERP | Work order finalized (ERP-originated orders only) |
|
||||
| Kits | KST | WMS → ERP | Kit manually assembled (manual work orders) |
|
||||
| Kits | UNK | WMS → ERP | Kit manually disassembled (manual work orders) |
|
||||
| Store Fulfillment | TOR01 | ERP → WMS | Transfer order between stores/sub-warehouses |
|
||||
| Store Fulfillment | TOF01 | WMS → ERP | Transfer order finalized |
|
||||
| Store Fulfillment | TPV01 | ERP → WMS | POS sale notification — decrements store stock |
|
||||
| VAS | VAS01 | ERP → WMS | Create/update VAS templates, activities, and instructions |
|
||||
| VAS | SOR02 VASCode | ERP → WMS | VAS template reference per line in shipping order |
|
||||
| VAS | SOF (VAS field) | WMS → ERP | VAS model used + quantity returned per shipped line |
|
||||
| Slotting | SAC01 | WMS → ERP | ABC rotation classification suggestion (sent after manual recalculation) |
|
||||
| DOM | POR/ROC/SOR/SOC/SOF/DOF/ACK/NCR | Both | Multi-node orchestration |
|
||||
| Yard Management | Appointment sync | Both | ERP/TMS appointment exchange |
|
||||
| Counting | SCR/WSC | Both | Stock contrast |
|
||||
|
||||
**SAC01 detail**: sent manually from SmartUI after running the ABC rotation analysis in the WMS. Contains item code + suggested ABC class. The ERP uses this to update item classification. Only sent when the WMS operator explicitly triggers it (not automatic).
|
||||
|
||||
**TPV01 detail**: sent by POS (point of sale) system when a store sale occurs. EasyWMS decrements the corresponding store sub-warehouse stock in real time, providing a live stock view per store. Requires Store Fulfillment module.
|
||||
|
||||
**TOR01/TOF01**: used by the Store Fulfillment module to manage inter-store replenishment. TOR01 creates the transfer order from ERP; TOF01 is returned when the transfer is complete.
|
||||
|
||||
## Common Errors
|
||||
|
||||
| Symptom | Cause | Solution |
|
||||
|---------|-------|---------|
|
||||
| ROR creates order but lines fail | `transactional` group not set, line validation error | Check item/UoM existence; review partial creation log |
|
||||
| ASN container arrives but no ASO sent | Post-processor not running | Check integration pool and post-processor service |
|
||||
| SOR rejected: item not found | Item not yet synced via ITM | Send ITM first, then SOR |
|
||||
| STR applies lock but no STC received | Stock matching filters returned zero results | Verify item/owner/lot combination exists |
|
||||
| SOF never received | Shipping order not yet closed in WMS | Check order status; may be in Prepared status awaiting manual close |
|
||||
| COR count created but COF never sent | Count was created from UI (not ERP-initiated) | COF only sent for ERP-initiated counts |
|
||||
|
||||
## Related
|
||||
|
||||
- [Inbound Order](order-inbound.md) — Receipt order lifecycle and ROR/ROC/ROF details
|
||||
- [Outbound Order](order-outbound.md) — Shipping order lifecycle and SOR/SOC/SOF details
|
||||
- [Quality Control](quality-control.md) — Stock lock/unlock and STR/STC messages
|
||||
- [Count](count.md) — Physical counts and COR/COF messages
|
||||
- [Stock](stock.md) — Stock adjustments and STV messages
|
||||
- [Transactions](transactions.md) — Internal transactions that trigger ERP messages
|
||||
- [Entities Map](../architecture/entities-map.md) — ERP integration touch points per entity
|
||||
- [Replenishment](replenishment.md) — Automatic warehouse replenishment and SRN/SRO/SRK
|
||||
- [Manufacturing](../modules/manufacturing.md) — MOF/FGP production messages
|
||||
- [DOM](../modules/dom.md) — Distributed order management messages
|
||||
Reference in New Issue
Block a user