Designing a Universal OMS: End‑to‑End Order Management Architecture
This article presents a comprehensive, industry‑agnostic design for a universal Order Management System (OMS), detailing its four core goals, complete order lifecycle flow, layered architecture with four‑level functional modules, implementation steps, and practical solutions to common deployment challenges.
Overall Design Goals (Four Core Objectives)
Unified order collection: aggregate orders from all sales channels into a single OMS.
Unified order standardization: convert heterogeneous channel formats into a common data model.
Unified order scheduling and distribution: automatically split orders and dispatch them to WMS (warehouse) and TMS (logistics).
Full‑lifecycle control: track every stage from order creation, payment, audit, picking, delivery, receipt, after‑sale, to financial reconciliation.
Complete Business Process
Channel order → OMS automatic pull/push → order standardization & cleaning → risk‑control validation → manual/automatic audit → split‑merge processing → warehouse WMS dispatch → logistics sync → user receipt → reverse after‑sale (refund/return) → financial reconciliation and archiving.
Layered Architecture & Four‑Level Functional Modules
1. Channel Integration Layer
1.1 Channel Connection Management
1.1.1 Channel Basic Configuration (record JD, Douyin, Mini‑Program, offline store, distributor info)
Channel Authorization (API keys, secret)
Price Isolation per channel
Inventory sync toggle per channel
1.2 Order Synchronization Tasks
Scheduled pull tasks (periodic order fetching)
Real‑time push listeners (callback handling)
Retry mechanism (3 automatic retries on timeout/network issues)
Synchronization logs for traceability
1.3 Channel‑Product Mapping
SKU binding between platform codes and internal SKU
Automatic specification conversion (e.g., "Red L" → standardized spec text)
Channel product disable control (auto block when product is off‑shelf)
Mapping exception alerts for unmatched codes
1.4 Channel Message Push Center
Order status callbacks to platforms (shipping info, cancellation, after‑sale status)
Failure‑retry queue for push timeouts
Platform‑side message notifications (order success, shipping reminders)
Activity sync (coupons, promotions) and push log query
2. Order Core Processing Layer
2.1 Order Standardization
Field standardization across channels
Address parsing into province/city/district/detail
Unified discount breakdown (platform coupons, store coupons, promotions)
Data completion for missing phone, remarks, etc.
2.2 Order De‑duplication
Channel order‑ID deduplication
Short‑time duplicate order detection (same account multiple orders within 1 minute)
Deduplication logs for audit
Manual recovery of falsely blocked orders
2.3 Order Classification
Normal spot‑goods orders
Pre‑sale orders (deposit & final payment separation)
Wholesale bulk orders (identified for distributors)
Virtual/gift‑card orders (no physical shipment)
2.4 Risk‑Control Center
Basic rules: address fraud, phone‑number abuse, purchase‑limit violations, inventory pre‑allocation checks
User‑behavior checks: high‑frequency ordering, high‑return users, cross‑region anomalies, blacklist matching
Payment checks: large‑order manual review, payment timeout cancellation, abnormal discount detection, illegal payment channel identification
2.5 Order Audit & Scheduling
Automatic audit for low‑risk small orders, pre‑sale completion, wholesale tiered auto‑approval
Manual audit workbench (list of risk‑blocked or large orders, one‑click release, rejection with reason, batch processing)
Split‑&‑Merge Engine (multi‑warehouse split, multi‑supplier split, same‑user merge, logging)
2.6 Fulfilment Dispatch
WMS dispatch: pick‑list generation, nearest‑warehouse strategy, retry on failure, status callbacks
TMS dispatch: automatic carrier matching, waybill creation, freight calculation, real‑time tracking pull
2.7 Forward Query Center
Full‑order search (multi‑criteria filtering, detail view, Excel export, custom tags)
Statistics dashboard (channel sales, order status distribution, hot‑selling items, exception summary)
3. Reverse After‑Sale Layer
3.1 After‑sale Order Integration
Automatic pull of platform refund/return requests
Manual entry for offline store returns
Binding after‑sale order to original order
Automatic classification (refund‑only, return‑refund, exchange, price‑protection)
3.2 After‑sale Risk Control
Time‑limit validation (no refund after after‑sale window)
Duplicate after‑sale detection
Malicious return identification (high‑frequency returns flagged for manual review)
Refund amount limit (cannot exceed original payment)
3.3 After‑sale Audit
Small‑amount automatic refunds
Manual workbench for large refunds
Refund amount adjustment by operations
Reject refund with reason notification
3.4 Return/Exchange Processing
Automatic push of return address to warehouse
Exchange product stock verification
Freight responsibility rule (merchant vs user)
Return tracking until user ships back
3.5 Reverse Inventory
Return‑goods inbound sync
Damaged‑goods marking and partial refund
Exchange new‑product dispatch
Reverse logistics tracking
3.6 Refund Finance Management
Original‑channel refund matching
Split refunds for a single order
Coupon reinstatement after return
Points/credits refund calculation
Refund ledger query, failure handling, export for accounting, loss statistics
4. Finance & System Support Layer
4.1 Financial Reconciliation Center
Automatic platform bill download
Order‑bill matching, discrepancy highlighting, manual discrepancy handling workbench
Commission deduction, gross‑margin calculation, multi‑dimensional financial reports, Excel export for ERP import
4.2 System Foundations
RBAC user & role management, data permission isolation, operation logs
Configuration Center (risk rules, split/merge policies, auto‑audit thresholds, API timeout/retry settings)
Task & Message Scheduling (periodic pull, cancel timeout, logistics sync, queue monitoring, retry, alert notifications)
System Log & Alert Center (full‑link order logs, anomaly alerts, operator traceability, monthly log archiving)
Implementation Steps (Four Phases)
Requirement gathering & basic configuration: map all sales channels, import SKUs, set up risk, split, auto‑audit rules, integrate WMS/TMS APIs.
Channel integration testing: API connectivity, end‑to‑end order, payment, delivery, after‑sale flow; simulate duplicate orders, stock shortage, large‑order checks.
Gray‑scale trial run: limited channel orders processed manually, verify reconciliation, discount split, amount calculations, collect operational feedback, adjust rules.
Full production & operation iteration: all channels live, enable alerting for missing/abnormal orders, monthly financial export, continuous feature iteration for new channels.
Common High‑Frequency Issues & Mitigation Strategies
Missing orders: dual sync (scheduled pull + real‑time callback), daily full reconciliation, alert thresholds, log replay.
Price chaos across channels: isolated SKU mapping, price‑change approval workflow, real‑time price validation, price‑change audit log.
Warehouse dispatch failures: delayed‑queue retry (3 attempts at 1/3/10 min), manual re‑dispatch workbench, warehouse heartbeat monitoring, inventory lock‑release on failure.
Multiple orders from same user causing high freight: custom merge engine rules (same user/address within 30 min auto‑merge), manual merge option, merge logs for audit.
After‑sale order mismatches: enforce original channel order binding, strict refund amount check.
Peak‑sale traffic overload: asynchronous processing via message queues, sharding tables by channel/date, off‑peak scheduled tasks, dynamic throttling of non‑core dashboards.
Unauthorized data access: RBAC isolation per channel/company, role‑based function limits, secondary verification for large refunds or batch cancellations, full audit trail.
Large reconciliation discrepancies: automatic fee breakdown, auto‑match platform bills, red‑flag differences, manual annotation, batch export for platform support.
Fraudulent bulk buying or coupon abuse: multi‑layer risk rules (phone, address, device, frequency), blacklist, manual review for high‑value discount orders, daily fraud statistics.
Duplicate push status causing repeated pick lists: globally unique idempotency token per order/status push, idempotency check discards repeats, idempotent operation logs, pre‑dispatch status verification.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
CTO Full-Stack Academy
15 years of IT industry experience, sharing practical insights on pre-sales, product design, architecture, technology development, software testing, project management, IT consulting, and operations management.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
