Files
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

27 KiB
Raw Permalink Blame History

title, type, sources, related, last_compiled
title type sources related last_compiled
ERP Interface concept
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
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
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 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
  • ASN02ASN08: 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 response
  • If container is rejected or deleted: triggers ASK 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.


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 and concepts/order-outbound.md).

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.


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 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 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 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
  • Inbound Order - Receipt order lifecycle and ROR/ROC/ROF details
  • Outbound Order - Shipping order lifecycle and SOR/SOC/SOF details
  • Quality Control - Stock lock/unlock and STR/STC messages
  • Count - Physical counts and COR/COF messages
  • Stock - Stock adjustments and STV messages
  • Transactions - Internal transactions that trigger ERP messages
  • Entities Map - ERP integration touch points per entity
  • Replenishment - Automatic warehouse replenishment and SRN/SRO/SRK
  • Manufacturing - MOF/FGP production messages
  • DOM - Distributed order management messages