Files
mcp-wms-wiki/wiki_old_13-05-2026/modules/dom.md
T
2026-05-20 09:41:27 +02:00

15 KiB

title, type, sources, related, last_compiled
title type sources related last_compiled
DOM (Distributed Order Management) module
areas/DOM/outbounds/index.md
areas/DOM/outbounds/sales_orders_orchestration_engine.md
areas/DOM/outbounds/outbounds_admin/sales_order.md
areas/DOM/outbounds/outbounds_admin/shipping_order.md
areas/DOM/outbounds/outbounds_admin/sales_order_creation.md
areas/DOM/outbounds/outbounds_admin/sales_order_release.md
areas/DOM/inbounds/index.md
areas/DOM/inbounds/inbounds_admin/purchase_order.md
areas/DOM/inbounds/inbounds_admin/receipt_order.md
areas/DOM/inbounds/expected_stock.md
areas/DOM/replenishments/index.md
areas/DOM/nodes/nodes.md
areas/DOM/nodes/node_classes.md
areas/DOM/nodes/geographic_region.md
areas/DOM/nodes/workload.md
areas/DOM/nodes/nodes_network.md
areas/DOM/nodes/items_catalog.md
areas/DOM/master_data/index.md
areas/DOM/master_data/carriers.md
areas/DOM/master_data/account_types.md
areas/DOM/master_data/geographic_regions.md
areas/DOM/docs_downloads/communications/Interface_Communications_ERP.md
areas/DOM/notificationevents.md
modules/multi-carrier.md
modules/yard-management.md
modules/store-fulfillment.md
concepts/order-inbound.md
concepts/order-outbound.md
concepts/stock.md
concepts/replenishment.md
2026-04-10

DOM (Distributed Order Management)

Overview

Easy DOM is a Distributed Order Management platform that orchestrates the supply chain across multiple warehouse nodes of an organization. Unlike Easy WMS (which manages a single warehouse), DOM manages multi-node logistics: receiving stock from suppliers, routing outbound orders to the optimal fulfillment node, and replenishing inter-node stock.

DOM centralizes visibility of inventory across the entire organization network and applies configurable orchestration strategies to assign each sales order to the best possible supply point based on proximity, stock availability, carrier availability, and work capacity.

DOM integrates with the ERP (source of purchase/sales orders) and with each node's WMS (Easy WMS or compatible systems that communicate via standard messaging). It does not execute warehouse operations directly — it delegates to the nodes.

Key capabilities

  • Multi-node inventory visibility: stock levels aggregated across all organization nodes (org level, node level, line level)
  • Outbound orchestration: 5-stage algorithm assigns each sales order to the optimal fulfillment node
  • Inbound centralization: purchase orders from ERP distributed to nodes as receipt orders (no orchestration — node assignment is direct)
  • Inter-node replenishment: replenishment orders move stock between nodes to maintain capacity levels
  • Node network configuration: sourcing relationships, geographic regions, carrier assignments, workload limits
  • Master data management: owners, items, suppliers, carriers, accounts, account types, geographic regions, kits
  • ERP messaging integration: bidirectional standard messages (POR/ROC/SOF/etc.) for all order lifecycle events
  • Manual orchestration wizard: step-by-step stock assignment for orders requiring human intervention
  • Reorchestration engine: periodic retry for orders with assignment errors as stock conditions change
  • Notifications: configurable alerts for orchestration errors and order lifecycle events

Architecture

Node types

Role Types Description
Point of Interaction (POI) ERP, Office Source of master data and orders in DOM workflow
Point of Fulfillment (POF) Warehouse, 3PL provider Where orders are prepared and stock is shipped
Both roles (POI + POF) Store Can both create orders and fulfill them

Node attributes:

  • Code: matches the WMS site name at the node
  • Class: groups nodes with similar characteristics (size, item catalog)
  • Hierarchy level: numerical value limiting sourcing relationships (a node can only be supplied from nodes with ≤ its own level)
  • Autorelease shipping orders: if enabled, DOM auto-releases shipping orders at the node on the configured date
  • Node network: defines allowed sourcing relationships between nodes; sets priorities for supply from multiple sources

Stock levels

DOM tracks stock at three levels:

Level Description
Organization Total stock across all nodes
Node Stock at a specific fulfillment node
Line Stock per item/logistic attribute combination at a node

Stock pending receipt (pre-notified via purchase orders but not yet physically received) is visible as receipt pending in stock views. Once received, it becomes available for orchestration.

ERP messaging interface

DOM communicates with the ERP and with each node via a standard messaging bus. Key message types:

Direction Code Description
ERP → DOM POR Purchase order request (create/modify)
DOM → Node ROC Receipt order creation (expected inbound)
ERP → DOM SOR Sales order request
DOM → Node SOC Shipping order creation
Node → DOM SOF Shipping order fulfilled (closed)
DOM → ERP DOF Delivery order fulfilled
DOM → ERP POC/POF Purchase order confirmation/fulfillment
DOM/ERP ACK Acknowledgement
DOM → Node NCR Node configuration update

Outbound: Sales Order Orchestration

Order lifecycle

ERP creates SOR → DOM creates sales order (Pending)
→ Release (manual or auto)
→ Orchestration engine runs (5 stages)
→ Shipping orders created at assigned node(s) (Released)
→ Node prepares and ships
→ SOF messaging → DOM closes shipping order
→ DOM closes sales order → DOF to ERP

Sales orders can be stopped (stock freed), rejected (node canceled unilaterally), or canceled (ERP instruction). Archiving follows closing.

5-Stage Orchestration Engine

Stage Description
1. Geographic region Delivery address geocoded (lat/long via geolocation service); matched to configured geographic regions (by coordinates, postal code range, or country ISO code)
2. Candidate nodes & carriers Nodes configured to serve the identified region are identified; carriers configured for each node-region combination are checked; carrier can be specified in the order (forces constraint)
3. Stock availability Nodes checked for sufficient available stock per order line; item catalog, quantity available for sale, logistic attributes (lot, serial, expiry, shelf life, version, color, etc.), shipping conditions (required/critical lines)
4. Work capacity Candidate nodes checked for ability to prepare and ship within the committed delivery date; considers working days/hours schedule, existing workload vs. max capacity; prorates available capacity for current-day orders
5. Orchestration strategies Final node selection applies configurable strategy preferences in sequence: total cost → estimated delivery date → region priority → maximum distance; strategies evaluated sequentially until valid candidate found or end-of-sequence reached

Orchestration results:

  • Successful: optimal node(s) assigned → shipping orders created with auto-release date, estimated ship date, estimated delivery date
  • Partial assignment: stock available for some lines → shipping orders for available quantity; incomplete lines flagged
  • Assignment error: no valid node found → order enters reorchestration queue

Order release prioritization

When multiple orders release simultaneously (autorelease), priority order:

  1. Autorelease date (orders without a date are last)
  2. Order priority
  3. Account type priority (lower sequence = higher priority)
  4. Commitment date
  5. Order creation date

Manual orchestration wizard

Available for orders in Pending status (no assigned stock). Step-by-step:

  1. View order summary and lines
  2. Select available nodes for each line
  3. Assign stock quantities per line (partial assignment allowed)
  4. Review shipping orders to be created (can change ship date or carrier)
  5. Confirm — shipping orders created

If stock becomes unavailable during the wizard (concurrent assignment), the order is released with Incomplete or Assignment error status.

Reorchestration

Automatic reorchestration triggers when stock enters the organization (covering orders in assignment error or incomplete state). Also runs periodically to catch non-stock errors (e.g., geolocation API failures).

Reorchestration priority criteria:

  1. Order priority
  2. Account type sequence (lower = higher priority)
  3. Committed delivery date
  4. Order release date
  5. Order creation date

Parameter: MAX_NUMBER_ORCHESTRATION_ATTEMPS_AFTER_REJECTIONS — limits how many times an order is reorchestrated after node rejections; notifies when limit is reached.

Orders exceeding maximum deliveries or whose committed date cannot be met with any reorchestration cannot be automatically reorchestrated and must be manually closed (incomplete).

Order splitting

If no single node can ship the complete order, DOM can assign parts to multiple nodes, creating multiple shipping orders. The maximum number of shipping orders per sales order is configurable. Delivery modes: carrier delivery to client address, or in-store pickup at a store node.

Inbound: Purchase Order Management

DOM does not orchestrate inbound — it records and distributes purchase orders to nodes based on order line data.

ERP sends POR → DOM creates purchase order
→ Receipt orders created per node (grouped by node + estimated date + carrier)
→ Nodes notified (ROC) → nodes plan inbound
→ Stock received at node → ROF/SOF messaging → DOM updates received quantities
→ Purchase order closed (manual or auto) → POF to ERP
→ Archiving (automated by parameter)

Purchase order statuses: Open → In progress → Closed / Canceled / Rejected (node canceled unilaterally)

Receipt orders are read-only after creation; they update automatically based on purchase order edits. Receipt orders cannot be manually created.

Expected stock: pre-notified stock visible in stock views as receipt pending — can be used for backordering decision-making but is not available for orchestration assignment (backordering not currently supported).

Replenishment: Inter-node Stock Movement

DOM node replenishment creates replenishment orders to move stock from source nodes to destination nodes when stock levels drop.

ERP/manual creates replenishment order
→ Release → DOM generates shipping order at source node + receipt order at destination node
→ Source ships (SOF) → destination receives (ROF)
→ Replenishment order closes

Automatic replenishment by safety stock breakage is not currently supported — replenishment orders must be created manually or by ERP.

Node sourcing relationships (node network): defines which nodes can supply which other nodes, with priorities when multiple sources exist.

Configuration

Initial setup sequence

  1. Define geographic regions (coordinates, postal codes, or country)
  2. Create nodes (code matching WMS site name, role, type, hierarchy level)
  3. Configure node workload (working days, hours, max daily order lines, cost per line)
  4. Configure node-region relationships (which nodes serve which regions, with priority)
  5. Configure node-carrier relationships per region (carrier, committed delivery time, cost)
  6. Configure node network (sourcing relationships for replenishment)
  7. Configure item catalog per node class
  8. Create master data (owners, accounts, account types, suppliers, carriers)
  9. Configure orchestration strategies (sequence, criteria, end-of-sequence flags)
  10. Configure ERP messaging (communications bus, message types per node)

Orchestration strategies

Multiple strategies can be defined and ordered by sequence number. Each strategy specifies:

  • Criteria for applicability (order characteristics, delivery destination, transport)
  • Preference ordering for node selection (cost, delivery date, region priority, distance)
  • Whether it marks the end of the sequence (stops evaluation if no match found)

Node workload configuration

Per node:

  • Working days (days of week)
  • Start time / end time of working day
  • Maximum order lines per day (total capacity)
  • Operational cost per shipping order line (for cost-based strategies)

Operations

Monitoring views

  • Sales orders view: status, assignment state, traceability log (orchestration result, assigned nodes, strategy used, date)
  • Purchase orders view: receipt progress per node, received vs. expected quantities
  • Replenishment orders view: replenishment progress, source/destination status
  • Stock views: org-level and node-level stock with pending/available breakdown
  • Nodes network view: visual map of node sourcing relationships
  • Workload view: current workload vs. capacity per node per day

Delivery modes

Mode Description
Carrier delivery Standard carrier ships from node to client address
In-store pickup Client collects from a store node; no carrier required

Errors & troubleshooting

Issue Cause Resolution
Assignment error on sales order No node passes all 5 orchestration stages Check geographic region config, carrier-node assignments, stock availability, node workload
Order not reorchestrated after stock receipt MAX_NUMBER_ORCHESTRATION_ATTEMPS_AFTER_REJECTIONS reached Manually orchestrate using wizard
Receipt order not created Purchase order lines have no valid destination node Check node configuration and item catalog
Node rejected shipping order Node unilaterally canceled (physical constraint, WMS issue) DOM marks order as rejected; reorchestrate to assign different node
Geolocation failure Delivery address not geocodable Verify address contains valid country ISO code and postal code
Workload exceeded Node at capacity for target date Check node workload configuration; use manual orchestration to force a different date
  • order-inbound — Receipt orders are the WMS counterpart of DOM purchase orders
  • order-outbound — Shipping orders are the WMS counterpart of DOM sales orders
  • stock — DOM inventory visibility aggregates WMS stock across all nodes
  • replenishment — DOM node replenishment triggers inter-node stock movements
  • multi-carrier — Carrier assignments at DOM node level align with Multi-Carrier configuration at WMS level
  • store-fulfillment — Store nodes in DOM correspond to Store Fulfillment remote stores
  • yard-management — Inbound appointment management at nodes aligns with DOM purchase order arrival notifications