Skip to main content
Order Routing & Fulfillment Orchestration (OMS) — A build-to-order Odoo OMS layer that routes each order to the optimal wareh — 1/1Illustrative preview

A build-to-order Odoo OMS layer that routes each order to the optimal warehouse,

3PL or dropshipper by cost, stock and SLA.

What is Order Routing & Fulfillment Orchestration (OMS)?

A build-to-order Odoo OMS layer that routes each order to the optimal warehouse, 3PL or dropshipper by cost, stock and SLA. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Rule-based order routing engine with pluggable strategies — nearest warehouse, cheapest landed cost, fastest-to-deliver, or a weighted score you configure per order line
Available-to-promise (ATP) allocation using computed @api.depends fields that net free stock against reservations, incoming POs and safety stock in real time
Split-shipment logic that decomposes a single sale.order into multiple deliveries when no single source can fulfill the whole basket
Partial-fulfillment handling that ships what is in stock now and orchestrates the remainder as a linked backorder
3PL routing decisions that select the right fulfillment partner per line and generate the correct outbound picking or partner PO
FBA/FBM (Amazon) and marketplace-aware routing that respects channel-specific fulfillment commitments and label requirements
Dropship routing that auto-creates the vendor purchase order and dropship route when the optimal source is a supplier, not your own stock
Backorder automation via scheduled ir.cron that re-scans unfulfilled lines and re-routes them the moment stock or a cheaper source becomes available
Product substitution handling — configurable substitute-SKU rules that offer an equivalent item (with approval or auto-swap) when the requested product is out of stock
SLA and cut-off-time aware allocation that factors carrier same-day cut-offs, warehouse operating hours and promised delivery windows into the routing score
Landed-cost-aware scoring that compares carrier rate cards and per-warehouse handling cost, not just distance, to pick the truly cheapest fulfillment path
Multi-company and multi-warehouse isolation enforced with record rules so each entity only sees and routes its own orders and stock
Full audit trail: a per-line fulfillment-decision log recording which rule fired, the candidate sources scored, and why the winner was chosen
XML-RPC / JSON-RPC endpoints so storefronts, middleware or marketplace connectors can request a routing decision or force a manual override
Operations cockpit view (OWL/XML) showing pending, routed, split and backordered lines with one-click manual re-route
QWeb pick/pack and partner-handoff documents generated per fulfillment source, branded to your company

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Order Routing & Fulfillment Orchestration (OMS) is a build-to-order Odoo module that ECOSIRE designs, develops, installs and supports for your specific fulfillment network. It is not an off-the-shelf apps.odoo.com download you install in a click — it is a bespoke order-management layer engineered around your warehouses, 3PL partners, dropshippers and marketplace commitments, delivered in roughly one working week.

Out of the box, Odoo picks stock from a single warehouse or a fixed route. That breaks the moment you run multiple warehouses, blend owned inventory with dropship and FBA/FBM, or promise SLA-based delivery. This module inserts an intelligent routing decision between order confirmation and delivery generation: for every sale.order.line it evaluates available-to-promise stock, landed shipping cost, carrier cut-off times and partner SLAs, then allocates each line to the source that best satisfies your rules — nearest, cheapest, fastest, or a weighted blend you define.

Technically, it is a proper Odoo addon. We ship a clean __manifest__.py declaring dependencies (sale, stock, delivery, and optionally purchase/dropship), new models.Model records such as a routing-rule engine and per-line fulfillment-decision log, computed fields with @api.depends for real-time ATP and cost scoring, security via ir.model.access.csv plus record rules for multi-company and multi-warehouse isolation, backend views in XML/OWL, QWeb pick/pack documents, and automated actions (server actions / scheduled ir.cron) that re-evaluate backorders and split shipments without manual intervention. Routing decisions are exposed over XML-RPC and JSON-RPC so your storefront, marketplace connectors or middleware can query or override allocation programmatically. It runs on Odoo 17, 18 and 19, on Community or Enterprise — we confirm the exact edition and version fit during scoping.

Because we build it to order, the routing logic reflects your real network — your warehouse priorities, your 3PL SLAs, your substitution policy, your marketplace cut-off times — rather than a generic template you have to bend around. ECOSIRE hands over readable, upgrade-safe source code, an admin runbook, user training and a defined post-launch support window, so your operations team owns and trusts the system rather than fighting it.

What you get

  • Complete, commented Odoo module source code (custom addon with __manifest__.py, models, views, security, data files) delivered to your repository and installable on Odoo 17, 18 or 19
  • Configured routing rule set — your warehouses, 3PL partners, dropshippers, SLAs, cut-off times and substitution policy encoded as live routing rules in your instance
  • Security configuration: ir.model.access.csv access rights plus multi-company / multi-warehouse record rules mapped to your user groups
  • Deployment and installation on your Odoo environment (staging then production), including data migration/setup of warehouse and partner routing metadata
  • Admin runbook and technical documentation covering rule configuration, the decision-log audit trail, cron behavior and the XML-RPC/JSON-RPC integration contract
  • Live training sessions for your operations and admin teams, with recordings, plus a defined post-launch support and bug-fix window
  • UAT sign-off support and a version-compatibility statement confirming the tested Odoo edition (Community/Enterprise) and version

Who this is for

Multi-Warehouse Operations Manager

Runs fulfillment across two or more warehouses and is tired of Odoo picking the wrong location, generating cross-country shipments and blowing shipping budgets. Needs cost- and distance-aware routing with a clear audit of every allocation decision.

Hybrid-Fulfillment E-commerce Director

Blends owned stock, dropshippers and Amazon FBA/FBM across multiple sales channels. Needs one intelligent layer that decides per order line whether to ship from a warehouse, hand off to a 3PL, or trigger a dropship PO — while honoring channel SLAs.

Odoo Solution Architect / IT Lead

Owns the Odoo instance and refuses black-box apps. Wants a clean, upgrade-safe addon with proper models, record rules and RPC endpoints they can read, extend and integrate with existing storefront and marketplace connectors.

How Order Routing & Fulfillment Orchestration (OMS) Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Routing tuned to YOUR warehouses, 3PLs, SLAs and substitution policyIncludedPartial supportNot includedNot included
Cost + stock + SLA weighted allocation per order lineIncludedPartial supportPartial supportNot included
Split-shipment, partial-fulfillment and automated backorder re-routingIncludedPartial supportPartial supportPartial support
Dropship + FBA/FBM + 3PL handoff in one decision layerIncludedPartial supportNot includedNot included
Transparent per-line decision audit log (why each source won)IncludedPartial supportNot includedNot included
XML-RPC / JSON-RPC override endpoints for storefront & marketplacesIncludedPartial supportPartial supportPartial support
Upgrade-safe, fully-owned, commented source code handed overIncludedIncludedNot includedIncluded
Installation, configuration, training and support window includedIncludedNot includedNot includedNot included
Predictable delivery timeline (one working week) and fixed scopeIncludedNot includedIncludedIncluded

Frequently Asked Questions about Order Routing & Fulfillment Orchestration

How long until the OMS is live, and is this an instant download?

This is a build-to-order module, not an instant apps.odoo.com download. After a short scoping call to map your warehouses, 3PL partners, SLAs and substitution rules, typical delivery is one working week: design and build, then deployment to your staging environment for UAT, then production go-live. You never install an unconfigured generic app — you receive a working, configured system tuned to your fulfillment network.

What do support and updates look like after go-live?

Every engagement includes a defined post-launch support window for bug fixes and configuration help, plus training so your team can adjust routing rules themselves. Because we hand over the full, commented source code, you are never locked in. We also provide a version-compatibility statement, and offer ongoing support and Odoo-version upgrade retainers (for example when you move from 17 to 18 or 19) as an optional continuation.

Which Odoo versions and editions does this support?

The module is built for Odoo 17, 18 and 19, on both Community and Enterprise. We confirm your exact version and edition during scoping and test against it, since some fulfillment features (like certain Enterprise delivery/costing tools) differ between editions. The routing logic itself is edition-independent and built on standard sale, stock and delivery models.

How is routing actually decided — is it a black box?

No. Routing runs through a transparent rule engine. For each sale.order.line the module scores candidate sources using computed @api.depends fields for available-to-promise stock, landed shipping cost, and SLA/cut-off feasibility, then applies your chosen strategy (nearest, cheapest, fastest or weighted). Every decision is written to a per-line fulfillment-decision log showing the candidates considered and why the winner was picked, so operations and audit can always see the 'why'.

Can it integrate with our storefront, marketplaces and 3PLs?

Yes. Routing decisions are exposed over Odoo's XML-RPC and JSON-RPC APIs, so your storefront, middleware or marketplace connectors can request an allocation or force a manual override programmatically. 3PL and dropship handoffs are generated as native Odoo pickings or vendor purchase orders. We scope your specific partner and channel integrations up front and confirm what is API-driven versus configured.

How does it handle out-of-stock, backorders and substitutions?

When no single source can satisfy a line, it can split the shipment or ship partially now and create a linked backorder. A scheduled ir.cron job re-scans open backorders and re-routes them automatically as stock or a cheaper source appears. For out-of-stock SKUs you can define substitution rules that offer an equivalent product — either with an approval step or as an automatic swap — based on the policy we configure with you.

Will this break when we upgrade Odoo?

We build against Odoo conventions — a clean __manifest__.py, standard model inheritance, ir.model.access.csv and record rules rather than hacks — specifically to keep the module upgrade-safe. That said, no custom addon is guaranteed to migrate untouched across major versions, so we hand over readable source and offer optional upgrade support to move it from 17 to 18 or 19 when you are ready.

Request a quote

Order Routing & Fulfillment Orchestration

A build-to-order Odoo OMS layer that routes each order to the optimal warehouse, 3PL or dropshipper by cost, stock and SLA.

  • Rule-based order routing engine with pluggable strategies — nearest warehouse, cheapest landed cost, fastest-to-deliver, or a weighted score you configure per order line
  • Available-to-promise (ATP) allocation using computed @api.depends fields that net free stock against reservations, incoming POs and safety stock in real time
  • Split-shipment logic that decomposes a single sale.order into multiple deliveries when no single source can fulfill the whole basket
  • Partial-fulfillment handling that ships what is in stock now and orchestrates the remainder as a linked backorder

Request a Quotation

Tell us about your Order Routing & Fulfillment Orchestration requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.