Distributed Order Management
Orders arrive from your commerce platform. We decide which warehouse or store each item ships from, hold the orders that need a person, and hand fulfillment orders to picking, shipping and tracking.
Capabilities
Carriyo is the order management system for retailers who sell online and fulfil from more than one place. It is built for retailers running warehouses and stores together and groups with several brands under one roof. You can adopt it a piece at a time: orders first, allocation when you are ready, inventory and agents when the data is good enough.
An order arrives already allocated by your own OMS and we respect the decision, arrives unallocated and, with automatic allocation on, our engine places it, or it waits for a person to allocate.
When no single location has everything, the order ships from several locations.
A person stops the engine. A hold carries an assignee, a priority, a review deadline in hours and a note, and an On Hold view shows the queue.
One order produces as many fulfillment orders as it needs, split by location, delivery method or destination; each produces one or more shipments when booked.
An operational mirror of your stock, not a master record; your WMS, ERP or commerce platform stays the source of truth.
Our API, a connector, a file import or the dashboard; every source lands as the same order object. More connectors are on our integrations page.
Allocation engine
The engine narrows the field in stages. It starts with the locations that have stock, keeps the active ones whose coverage includes the delivery or collection address, then applies your allocation rules in order, by merchant, destination country, payment type, product category or your own custom attributes. Only then do the prioritisation rules choose between the survivors.
When some items cannot be placed, you choose: the allocated items proceed and the rest are cancelled, or the fulfillment order stays open with a reason per line for a person to resolve.
Allocation also works without inventory in Carriyo, on coverage and rules alone.
Order holds
An open, partially allocated or allocated order can be held by hand or by a rule, and while it is held every update and every fulfillment operation is rejected except cancellation and release. Hold rules put new orders on hold automatically, on conditions such as order value per currency, mismatched billing and shipping addresses, payment method, destination country, sales channel, discount percentage and your own custom order attributes. Rules run in sequence and the first match holds the order.
The order hold is where a person stops the engine.
Fulfillment orders
Between the order and its shipments sits the fulfillment order. Each one captures a single allocation decision: a subset of the order's lines, the location they ship from and the destination. Because the layer is separate, allocation can be revised before anything is booked.
Inventory
Stock is tracked per inventory key, usually a GTIN, at each location, and a position records what is on hand and what is unavailable. When an order allocates to a location we reserve the quantity, so the next order sees on hand minus reserved.
Two orders are never promised the same unit.
Organisation
Your company. It holds the subscription and is the isolation boundary.
The brands or clients within it, each with its own branding, notifications and reporting: a group runs several brands, or a 3PL several clients, on one account.
The physical sites you operate from. One location can be a warehouse, an inventory site, a click and collect counter and a shipping origin at once.
Users are scoped to merchants, to a region of countries or locations, and to a role. API clients carry explicit permission lists.
The same permissions apply in the dashboard, on the API and on MCP.
YOUR WAY. RULES. OR AI.
As the audit trail shows an agent getting the exceptions right, more of the routine moves to it.
Start with the locations that have the items in stock.
Keep the active locations whose coverage includes the delivery or collection address, as zones or as a radius.
Apply your allocation rules in order. The first matching rule decides which locations are in or out.
Choose between the survivors by what you care about most: the fewest splits, the most stock, or the shortest distance to the customer.
An operations person allocates an open fulfillment order by hand, moves it later, and holds, releases or rejects an order.
Allocation and prioritisation rules decide every order without anyone looking, and hold rules divert the ones you have said need a review.
Through our MCP layer, an agent reads an order and its fulfillment orders, moves, splits or merges them, and holds or releases an order, as the authorising user, never beyond that user's permissions.
30%
fewer customer service calls at Sephora Middle East
Proof point
Sephora Middle East runs 5 fulfillment centres and 92 stores on Carriyo, with 120k+ orders a month across 10+ carriers and 30% fewer customer service calls.
Order Management
A system that decides which of several locations each item on an order ships from, using stock, coverage and business rules. Carriyo does this across warehouses, stores and partner locations, with shipping and tracking on the same platform.
Yes. Our Shopify connector brings orders in from Shopify and Shopify Plus stores, syncs fulfillment and tracking status back, mirrors approved returns, and moves or splits Shopify fulfillment orders to match our allocation.
Yes. Our SFCC cartridge creates a Carriyo shipment for each new order and syncs statuses and tracking links back to Salesforce.
Yes. Orders can arrive already allocated and we respect the decision, so you can start with visibility and shipping and switch our allocation engine on later.
No. Carriyo holds an operational mirror of your stock for allocation and checkout decisions. Your WMS, ERP or commerce platform stays the source of truth and feeds us events.
To walk through how your locations, rules and holds would run on Carriyo, get in touch.