Platform — OMS & Fulfillment

The order moves.
Every time.

Emdaad's OMS sits between the buyer portal and the warehouse — validating every order before it reaches operations, orchestrating pick waves by temperature zone and route, capturing exceptions at source, and triggering financial posting on confirmed delivery. Not a workflow tool. The orchestration layer.

OMS-centric orchestration. Validation before dispatch.
Financial posting on confirmed delivery.

Dashboard Order Health Fulfillment Exceptions Audit Log
Operations Live
Platform
Order Control
Catalog
Pricing Engine
Customers
Operations
Warehouse
Shipments
Exceptions
Finance
Invoicing
Ledger & AR
Active Orders
1,847
+143 today
SLA On-Track
94.2%
↓ 1.4% vs yesterday
Open Exceptions
28
3 critical
Invoiced Today
SAR 2.4M
+12.4% vs yesterday
Order ID Buyer SKUs Value Status Health SLA
ORD-09214
Al Rayyan Group
Main Warehouse
14 SAR 84,200 Picking Healthy 14:00 ✓
ORD-09213
Nour Trading Co.
Branch A
8 SAR 46,500 Validating Warning 14:00 △
ORD-09215
Gulf Retail Partners
DC Riyadh
22 SAR 321,000 Picking Critical 09:00 ✗
ORD-09216
Al Safa Foods
Main Warehouse
5 SAR 18,750 Blocked Blocked
ORD-09212
Madar Foods Dist.
Branch B
11 SAR 142,800 Shipped Healthy Delivered ✓
How It Works

From placement to payment — one orchestrated sequence.

Every order passes through the same five stages, in sequence, under OMS control. No stage is optional. No state transition is manual unless an exception explicitly requires human judgment.

01
Order Placement
Buyer selects from their contracted catalog. MOQ, pack rules, and delivery slot validated at cart. Invalid orders blocked before submission.
Without cart-level validation, invalid pack quantities reach the warehouse — the exception is discovered at the pick face, not before it. Emdaad blocks it before it moves.
02
OMS Validation
Pricing, ATP, credit status, and SLA cutoffs validated. Order structured, accepted, and released to fulfillment. Every exception logged with a reason code.
Orders that exceed credit limits in manual operations get processed anyway; the dispute surfaces at invoice. Emdaad flags the breach at submission — not at month end.
03
Warehouse Execution
Pick waves batched by temperature zone and route. Scan-based picking. INF captured at the pick face — not discovered at the delivery dock.
A picker who can't locate a SKU writes "N/A" on a paper list. By delivery, no one knows the line is missing. Emdaad records the INF at source and notifies the buyer before the vehicle leaves.
04
Delivery
Route-optimized, temperature-controlled. POD captured on drop-off: digital signature, photo, GPS coordinates, timestamp. Status pushed to the buyer portal in real time.
Paper POD arrives at the office two days after delivery, by which time the buyer is already querying the shortage. Emdaad captures digital POD at the door — available in the portal within 60 seconds.
05
Financial Closure
Invoice posted on delivery confirmation. Tax calculated. AR updated. E-invoice submitted. Ledger reconciled. All triggered by the POD event.
Manual invoice batches mean the AR lags the warehouse by days. Emdaad posts on confirmed POD — the ledger is reconciled nightly, not monthly.
Order Validation

Every order is validated before it reaches the warehouse.

01
Pricing resolution
Net price resolved through all five layers — base list, contract override, volume tier, promotional rule, conflict check. If any pricing rule is missing or conflicts remain unresolved, the order is flagged before it is accepted. The OMS does not forward orders with pricing ambiguity.
02
ATP check
Available-to-promise confirmed against live warehouse stock at the moment of submission — not at dispatch, not estimated. If ATP is insufficient for any line, the order is flagged with the specific SKU and shortfall quantity. Partial-ATP orders are held for operations review, not silently passed through.
03
Credit status
Live credit exposure queried against the ERP credit limit and outstanding balance at submission. Orders that breach the credit limit are flagged with the current exposure figure and the limit — not rejected silently, not approved without visibility. Operations can see exactly why an order is held.
04
SLA cutoff
The requested delivery date is validated against the SLA cutoff window for the buyer's route and fulfillment center. Orders received after the cutoff for a given slot are flagged and held for the next available window — not silently rescheduled without the buyer's knowledge.
Order Validation — ORD-09213
Nour Trading Co.  ·  8 SKUs  ·  SAR 46,500
1 Warning
Pricing Resolution
All 8 SKUs resolved  ·  Net SAR 46,500  ·  Conflict-free
Pass
ATP Check
All 8 line items confirmed in stock  ·  Checked 11:28
Pass
Credit Status
Nour Trading Co.  ·  Credit limit SAR 15,000
SAR 12,400 outstanding  ·  82.7% of limit used
This order (SAR 46,500) would exceed the credit limit by SAR 43,900. Order held pending operations review.
Warning
SLA Cutoff
Received 11:28  ·  Cutoff 12:00 for 14:00 delivery  ·  32 min buffer
Pass
Order Health

Healthy. Warning. Critical. Blocked. Every order has a state.

Health states are assigned by the OMS at validation and updated continuously as orders move through fulfillment. Operations teams see the current state of every order without calling the warehouse — the state is in the dashboard.

Healthy
All validations passed
Pricing, ATP, credit, and SLA checks all passed. No exceptions. Order is on track for the committed delivery window. No action required.
Warning
Attention required
Partial ATP issue, minor address discrepancy, price change since order was placed, or an INF exception has been captured and auto-adjusted. Order may still fulfil on time but requires review.
Critical
SLA breach risk
SLA breach risk detected, significant stock shortage on a key line, or a temperature compliance flag triggered. Immediate operations intervention required to preserve delivery commitment.
Blocked
Cannot progress
Credit hold active, delivery address unresolvable, or a regulatory restriction prevents the buyer from receiving the ordered SKUs. Order is held until the block is cleared by the relevant team.
Exception handling

Six exception types are managed natively by the OMS. For each, the system records what triggered it, takes an automatic action where possible, and flags human intervention when a decision is required.

INF — Item Not Found
Trigger
Picker cannot locate SKU at the assigned pick face location in the WMS.
System action
Line adjusted to 0. Reason code logged. Buyer portal updated. Order value revised before dispatch.
Auto-resolved
Short Pick
Trigger
SKU located but available quantity is less than the ordered line quantity.
System action
Line adjusted to actual picked quantity. INF-PARTIAL reason logged. Buyer portal updated. Partial delivery note generated.
Ops review on fulfil decision
Address Issue
Trigger
Delivery address is incomplete, access-restricted, or outside the assigned route geofence.
System action
Order flagged. Routing suspended. Operations team notified with the specific address error.
Manual resolution required
Partial Delivery
Trigger
Driver delivers a subset of ordered lines due to vehicle capacity, site access refusal, or temperature breach on specific items.
System action
Each undelivered line captured with reason code. Partial delivery note generated. Credit note flow triggered automatically.
Rescheduling decision
Damaged Goods
Trigger
Goods damaged in transit or at the pick face. Captured by picker or driver with photo evidence at source.
System action
Exception report generated. Invoicing blocked on damaged lines. Return or credit note flow initiated pending approval.
Credit approval required
Temperature Rejection
Trigger
Temperature log records a breach of the specified chilled or frozen range during transport or at pick.
System action
Shipment flagged. Delivery confirmation blocked. QA team notified. Chain-of-custody log attached to the exception record.
QA acceptance/rejection decision
Exceptions Queue Warning + Critical + Blocked  ·  5 orders
ORD-09213
Nour Trading Co.
Warning INF — item not found
ORD-09215
Gulf Retail Partners
Critical SLA breach risk
ORD-09216
Al Safa Foods
Blocked Credit hold
ORD-09218
Madar Foods Dist.
Warning Address flag
ORD-09220
Al Meera Group
Critical Temp flag — frozen
ORD-09213 — INF Exception
Nour Trading Co.  ·  Captured 11:34 today
Warning
Exception type
INF — Item Not Found
Affected line
SKU-0112  ·  Olive Oil Extra Virgin 5L
Ordered: 12 units  ·  Captured: 0  ·  Location: A-D08
Reason code
PICK-FACE-EMPTY
Location A-D08 confirmed empty by Ahmed K.  ·  11:34. Verified by supervisor 11:36.
System action taken
✓ Line adjusted to 0  ·  Buyer portal updated
Revised order value: SAR 43,732 (was SAR 46,500)  ·  Buyer notified before dispatch
Human intervention
None required for this exception
Auto-adjusted and logged. Audit entry written at 11:34:21.
Close Exception
Find Substitute SKU
View Audit Entry
Warehouse

Pick waves by temperature zone. INF captured at source.

Wave Picking
Orders batched by zone, route, and SLA — not by arrival time.
Pick waves are created by the OMS based on three factors: route assignment, temperature zone, and SLA deadline. Frozen, Chilled, and Ambient picks are separated at wave creation — not at packing. Separating temperature zones at the wave level prevents cross-contamination risk, ensures correct vehicle assignment, and sets the right packing sequence before a single item is moved. Waves have a defined close time tied to the dispatch window; pickers know exactly when their wave must complete.
Scan-Based Picking
Every pick confirmed by barcode scan. FIFO/FEFO enforced at the shelf.
Pickers work from a WMS pick list on a handheld device. Each item is confirmed by scanning the product barcode at the shelf location. The system enforces FIFO rotation for standard items and FEFO for short-shelf-life and temperature-sensitive lines — the picker is directed to the correct batch, not left to choose. Substitutions require an explicit flag and supervisor confirmation; they are logged with the reason before the wave closes. Nothing is discovered at the dock.
INF at Source
When a SKU cannot be picked, the exception is logged before the vehicle leaves.
When a picker cannot locate a SKU at the assigned location, the WMS prompts for an INF reason code immediately. The OMS receives the exception, adjusts the order line to zero, revises the order value, and updates the buyer portal — all before the delivery vehicle leaves the dock. The buyer sees the adjustment with a reason code before their delivery arrives. There are no missing-item surprises at the receiving bay.
WMS  ·  Wave W-0041
Close by 13:30  ·  Dispatch 14:00
Frozen 18 picks
Chilled 26 picks
Ambient 50 picks
Wave W-0041 Zone: Chilled Orders: 4 Picker: Ahmed K. Progress: 2 / 4 picks complete
SKU Product Location Ordered Picked Status Picker
SKU-0041
Full Cream Milk 1L
P0048 · Chilled
C-B12 48 48 ✓ Picked Ahmed K.
SKU-0204
Halloumi Cheese 500g
P0024 · Chilled
C-A03 24 24 ✓ Picked Ahmed K.
SKU-0317
Fresh Orange Juice 1L
P0036 · Chilled
C-F02 36 Pending
SKU-0112
Olive Oil Extra Virgin 5L
P0012 · Chilled
A-D08 12 0 INF △ Ahmed K.
INF Captured — SKU-0112 · Olive Oil Extra Virgin 5L
Location
A-D08  ·  Zone Chilled
Qty requested
12 units  →  0
Captured by
Ahmed K. · 11:34
Reason Code  PICK-FACE-EMPTY — Location A-D08 completely empty. Last movement recorded 07:30.
Confirm INF
Request Substitute
Check Other Locations
Last Mile

Delivered. Signed. Logged. Invoiced.

Delivery is route-optimized and temperature-controlled. On drop-off, the driver captures four data points: digital signature, photo evidence, GPS coordinates, and delivery timestamp. The POD is immediately available in the buyer portal. Invoice posting is triggered automatically on confirmed delivery. Disputes that used to take days are resolved in minutes — the evidence is timestamped, geolocated, and irrefutable.

SHP-00412  ·  ORD-09214  ·  Al Rayyan Group Delivered
Out for Delivery
Delivered  ✓
Invoiced  ✓
Al Rayyan Group  ·  Main Warehouse
14 SKUs  ·  SAR 84,200  ·  Delivered today 09:40
Driver
Mohammed A.
Digital Signature
Captured · 09:40
Photo Evidence
3 photos attached
GPS Captured
24.7136° N, 46.6753° E
Timestamp
2026-05-16 09:40:22 UTC+3
POD confirmed — invoice posting triggered automatically
INV-20260516-0041  ·  SAR 84,200
Finance & ERP

POD is the trigger. The ledger updates itself.

Confirmed delivery triggers a six-step financial sequence automatically — no manual posting, no batch at month end, no AR lag. Invoice generation, tax calculation, AR update, e-invoice submission, and GL posting all fire from the same POD event. The posting is immediate and irreversible. The ledger reflects the warehouse.

Partial deliveries, INF line adjustments, and credit notes flow through the same sequence. Each is triggered by a system event — a partial POD, a confirmed INF, a returned goods receipt — not a manual step. The Finance Manager does not intervene to trigger posting; they review what was posted and why.

ERP targets: Microsoft Dynamics 365 (primary), SAP S/4HANA, Oracle Fusion. All postings schema-mapped at setup. Sync latency < 60 seconds from POD event to GL entry.

Posting Sequence
POD Confirmed
Trigger event  ·  Driver confirms delivery
1
Invoice Generated
Line items, quantities, and net prices from order record
2
Tax Calculated
VAT / KSA ZATCA or ETA Egypt compliant  ·  Applied per line
3
AR Updated
Accounts receivable balance updated against customer account
4
E-Invoice Submitted
Submitted to ZATCA / ETA  ·  Compliance hash attached
5
GL Posted
Dynamics 365 / SAP / Oracle  ·  < 60 s from POD event
Visibility

One view. Every order. Across the network.

The Control Tower gives operations teams real-time visibility across orders, fulfillment, and delivery — without calling the warehouse. Fill rate, on-time delivery, open exceptions, and order health are live. The dashboard is the single screen that replaces five phone calls and a spreadsheet.

Overview Control Tower Route Map Analytics
Operations Live
Orders Today
248
↑ 23 vs yesterday
Fill Rate
98.4%
↑ 0.2% vs last week
On-Time Delivery
94.1%
↓ 1.3% vs yesterday
Open Exceptions
28
3 critical  ·  45 blocked
Order Health — All Active Orders
1,632
Healthy
142
Warning
28
Critical
45
Blocked
Recent Exceptions Last 2 hours  ·  28 total
Warning ORD-09213 INF — Olive Oil Extra Virgin 5L  ·  Nour Trading Co.  ·  Auto-adjusted 11:34  ·  Closed
Critical SHP-00401 Temperature flag — Chilled zone 12°C breach  ·  Gulf Retail Partners 11:18  ·  QA review
Blocked ORD-09216 Credit hold — SAR 12,400 outstanding  ·  Al Safa Foods  ·  Pending ops review 10:55  ·  Open
Warning ORD-09211 Short pick — 3 units short on Frozen Chicken Breast  ·  Madar Foods  ·  Adjusted 10:40  ·  Closed
Who Uses This

Three teams. One orchestration layer. No information gaps.

Head of Operations
The OMS is the single screen that replaces five phone calls and a spreadsheet.
The Head of Operations monitors order health in real time — Healthy, Warning, Critical, and Blocked states visible at a glance across every active order. SLA breach risks surface automatically; the operations team acts before the delivery window closes rather than after the driver has returned to the depot. Open exceptions are routed to the queue by type, not buried in an inbox.
When a buyer queries an order status, the Head of Operations pulls the exact state, the validation result, the pick wave assignment, the driver's current position, and the POD from a single view. There is no information gap between what operations knows and what the buyer is told.
Warehouse Manager
Receives structured pick waves. Logs exceptions at source. Closes waves before dispatch.
The Warehouse Manager receives pick waves from the OMS organized by temperature zone (Frozen, Chilled, Ambient), route, and SLA priority. Temperature zone separation at wave creation prevents cross-contamination and ensures correct vehicle assignment before a single item is moved. Each wave has a defined close time tied to the dispatch schedule — pickers know when their wave must complete.
INF exceptions are captured by pickers in the WMS at the pick face — logged with a reason code, submitted, and propagated to the buyer portal before the vehicle leaves. The Warehouse Manager closes the wave once all picks are confirmed or exceptions are resolved. No end-of-day surprises at the dock, and no missing-item calls from buyers after delivery.
Finance Manager
Every invoice is triggered. None are entered manually.
The Finance Manager sees every invoice generated automatically on confirmed POD. There is no batch at month end, no manual posting step, no AR lag between confirmed delivery and the ledger update. Partial deliveries, INF adjustments, and credit notes flow through the same automated sequence — each triggered by a system event, not a manual step from the finance team.
The full audit trail — POD events, invoice triggers, tax calculations, AR postings, and GL entries — is available on demand. When a buyer disputes an invoice, the Finance Manager pulls the timestamped delivery evidence, the exact pricing resolution, and the GL posting reference in under a minute. No data extraction needed, no IT support request, no waiting.
ERP Integration

OMS-native ERP integration. Not middleware duct tape.

Microsoft Dynamics 365
ERP / Finance  ·  Primary
SAP
SAP S/4HANA
ERP
ORC
Oracle Fusion
ERP / SCM

Event-driven  ·  Idempotent  ·  Dead-letter queues  ·  Correlation IDs  ·  Full audit trail  ·  Sync latency < 60 seconds

Every order that enters the system is already valid.

Talk to our team about how Emdaad's OMS maps to your warehouse, your ERP, and your fulfillment operations. We'll show you the platform against your specific order volumes and exception types.