Skip to content
Shopify & Ecommerce

Distributed Order Management: How to Fulfil Orders Across Multiple Locations

How distributed order management works: sourcing rules across warehouses, stores and suppliers, availability, split shipments, capacity, ship-from-store, re-sourcing and how to measure routing decisions.

Quick answer

Distributed order management decides where each order should be fulfilled when stock sits in several warehouses, stores, 3PLs or suppliers. For every order, it finds eligible locations with available stock, scores them with weighted rules (full-order fill, distance and delivery promise, shipping and split costs, capacity and cut-off times), decides whether to split, reserves stock and releases fulfilment requests. When a location rejects or short-picks, it re-sources. Measure cost, speed, split rate and re-sourcing to tune the rules.

Where This Fits

DOM is usually part of an OMS; the full order lifecycle is in ecommerce order management system and system boundaries in OMS vs IMS. Connecting to 3PLs is in fulfilment integration, and store fulfilment patterns such as BOPIS are part of omnichannel architecture.

Fulfilment Nodes

A node is any location that can fulfil orders. Each has its own stock, capabilities and constraints.

Node typeStrengthsConstraints
Distribution centreDepth of stock, efficient picking, carrier ratesDistance to some customers
3PL warehouseRegional coverage, flexible capacityIntegration latency, per-order fees
Retail storeProximity, more available stock, pickupStock accuracy, staff time, packing supplies
Drop-ship supplierWider range without holding stockLess control over speed and packaging

Sourcing Rules

Sourcing rules decide which eligible node fulfils each line. Treat them as weighted trade-offs rather than one sort order. Cheapest shipping may mean a slower promise; nearest store may mean a split. Most teams start with a short sequence: filter to nodes that can ship the item to the destination within the promise, prefer nodes that can fill the whole order, then rank by cost and capacity.

Example: sourcing rule sequence (illustrative configuration)
sourcing:
  filter:
    - has_available_stock
    - can_meet_promise_date
    - not_at_daily_capacity
  prefer:
    - fills_entire_order          # avoid splits
  rank_by:
    - shipping_cost: weight 0.5
    - distance_km: weight 0.3
    - stock_depth: weight 0.2     # protect low-stock stores
  split:
    allowed: true
    max_shipments: 2
    only_if: no_single_node_can_fill
Availability filters the candidates; cost, speed and capacity rank them.

Split Shipments

When no single node has every item, the DOM can split the order, wait for stock, or ship partially and backorder the rest. Splits add packaging, shipping and customer confusion; waiting delays everything. Set rules: maximum shipments per order, when a split is allowed, and whether low-value lines can wait. Tell customers clearly when an order arrives in more than one parcel, with tracking for each.

Ship-From-Store

Stores add stock and proximity, but store inventory is less accurate than warehouse inventory and staff have other work. Use higher safety stock for store nodes, daily capacity limits, exclusion of display stock and fast rejection when an item cannot be found. Measure store pick accuracy separately; a store that rejects many allocations should get fewer.

Routing orders across warehouses, 3PLs and stores?

ZSpace Labs can design sourcing rules, availability feeds and re-sourcing flows that fit your nodes and carriers.

Start a Project

Availability and Reservations

DOM decisions are only as good as availability data. Feed stock by node from warehouses, 3PLs and POS, subtract reservations and safety stock, and update as close to real time as possible with periodic full snapshots to correct drift. Reserve stock at the chosen node when the decision is made, and release reservations promptly on cancellation or re-sourcing. See inventory visibility.

Re-Sourcing and Exceptions

Allocations fail: a store cannot find the item, a warehouse short-picks, a 3PL rejects an order. The DOM should receive the rejection, release the reservation, re-run sourcing for the affected lines and update the customer only if the promise changes. Cap re-sourcing attempts and route unresolved lines to a person.

When to Route: At Order Time or Later

Routing at order time lets you promise accurate delivery dates and reserve stock immediately. Delayed routing, after a short batching window, can combine orders and use updated capacity information. Many operations route at order time with the option to re-route before release to the node.

Measuring DOM

  • Fulfilment and shipping cost per order
  • Split shipment rate and parcels per order
  • Delivery time against promise
  • Re-sourcing and rejection rate by node
  • Cancellations due to stock
  • Capacity utilization by node and day

Advantages and Limitations of DOM

AdvantagesLimitations
More sellable stock across all locationsDepends on accurate, timely stock data from every node
Faster delivery from closer nodesMore split shipments if rules are loose
Lower markdowns by selling slow store stock onlineStore staff time and packing quality become variables
Resilience when one node is constrainedRules become complex and need ongoing tuning
Better delivery promises with node-aware datesRequires OMS capability and integrations to every node

Delivery Promises and DOM

DOM and the delivery date shown to customers are linked. If the product page promises next-day delivery based on the nearest warehouse, but sourcing later chooses a distant store, the promise breaks. Either calculate promises from the same sourcing logic (often a simplified version run at product and cart level) or promise conservatively. Store the promised date on the order so sourcing can treat it as a constraint and reporting can measure promise accuracy. See shipping integration.

How to Introduce DOM Step by Step

  • 1. Map nodes with their stock feeds, capabilities, cut-offs and capacity
  • 2. Improve stock accuracy at the nodes you plan to add, starting with stores
  • 3. Define the first rule set: eligibility, prefer full fill, rank by cost and distance
  • 4. Set split limits and customer messaging for multi-parcel orders
  • 5. Integrate rejections and re-sourcing with each node, including WMS and 3PL connections
  • 6. Pilot with a few nodes and compare cost and speed
  • 7. Add capacity limits and peak rules
  • 8. Review rules monthly using node-level metrics

Worked Example

An illustrative scenario, not a client case: a sporting goods retailer ships everything from one warehouse while stores hold end-of-season stock that later gets marked down. It adds stores as nodes for online orders, with capacity limits and higher safety stock. Orders near stores ship from store when the store can fill the whole order. Markdowns fall, and the team adjusts rules after seeing which stores reject most allocations.

Common Mistakes

  • Routing on distance alone
  • No limit on split shipments
  • Store stock with no safety buffer
  • No re-sourcing when nodes reject
  • Capacity ignored during peaks
  • No measurement of rule outcomes

Want sourcing decisions you can measure and improve?

Talk to ZSpace Labs about OMS and sourcing development, Shopify multi-location fulfilment and operations automation.

Start a Project

Conclusion

Distributed order management turns many stock locations into one fulfilment network. Filter by availability and promise, rank by cost and capacity, limit splits, re-source on rejection and measure outcomes by node. Related: OMS vs IMS, fulfilment integration and pre-orders and backorders.

FAQ

Common questions

Distributed order management (DOM) is the use of rules to decide which locations, such as warehouses, stores, 3PLs or suppliers, should fulfil each order or order line, based on availability, cost, speed and capacity.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.

Keep exploring
Shopify & Ecommerce
7 min read

Order Management System vs Inventory Management System: What's the Difference?

The difference between an order management system (OMS) and an inventory management system (IMS): responsibilities, data ownership, where they overlap, how they integrate and how to choose.

Read article
Shopify & Ecommerce
8 min read

Ecommerce Fulfilment Integration: How to Connect Your Store With 3PL Partners

How to integrate an ecommerce store with a 3PL fulfilment partner: order release, acknowledgements, cancellations, shipment confirmation and tracking, inventory sync, ASNs, returns, exceptions and testing.

Read article
Web Development
15 min read

Omnichannel Ecommerce Architecture: How Retail Systems Fit Together

Omnichannel ecommerce architecture explained: storefront, POS, inventory, ERP, OMS, CRM, customer data, fulfilment and the APIs and events that keep them synchronized.

Read article