What Is Order-to-Delivery?
Order-to-delivery (OTD) is the fulfillment process that starts when a sales order is confirmed and ends when the customer receives their goods. In Odoo, this workflow is managed primarily through the Inventory module, with integration points in Sales and Accounting. A well-tuned OTD process reduces shipping errors, shortens delivery times, and improves customer satisfaction.
Fulfillment Models in Odoo
Odoo supports three fulfillment models, each suited to different warehouse complexities.
One-Step Delivery (Ship Only)
The simplest model. When a sales order is confirmed, a single delivery order is created. The warehouse team picks items directly from stock locations and ships them. This works well for small warehouses with limited SKUs where a single person handles the entire process.
Two-Step Delivery (Pick + Ship)
Items are first picked from storage locations and moved to an output area, then shipped from the output area. This separates the picking task from the shipping task, allowing different teams to handle each step. Useful for medium-sized warehouses where picking accuracy matters.
Three-Step Delivery (Pick + Pack + Ship)
The full warehouse workflow. Items are picked from storage, moved to a packing zone where they are packed into shipping containers, and then moved to the shipping dock for dispatch. This is essential for ecommerce operations or any business shipping to individual consumers.
The OTD Flow Step by Step
Order Confirmation
When a sales order is confirmed, Odoo automatically creates delivery orders based on your configured delivery steps. Products are reserved from available stock. If stock is insufficient, the system either creates a backorder, triggers a purchase order (buy route), or creates a manufacturing order (make route) depending on the product's reordering rules.
Picking
Warehouse workers receive pick lists showing which products to collect from which locations. Odoo supports batch picking (multiple orders at once), wave picking (grouped by zone), and cluster picking (multiple orders on a single cart). Barcode scanning validates that the correct items are picked from the correct locations.
Packing
In the packing step, picked items are grouped into packages. Odoo tracks package contents, dimensions, and weights. Shipping labels are generated based on the configured carrier integration. Packing slips list the contents of each package for the customer.
Shipping
The shipping step dispatches packages and records tracking numbers. Odoo integrates with major carriers — FedEx, UPS, DHL, USPS — to generate labels and retrieve tracking information automatically. Customers receive shipping confirmation emails with tracking links.
Delivery Confirmation
When the carrier confirms delivery, the process is complete. Odoo updates the sales order status, triggers invoice creation (if configured for delivered quantities), and records the delivery date for reporting.
Route Configuration
| Setting | Path | Options |
|---|---|---|
| Delivery steps | Inventory > Settings > Warehouse | 1-step, 2-step, 3-step |
| Routes | Inventory > Configuration > Routes | Deliver from stock, MTO, dropship |
| Locations | Inventory > Configuration > Locations | Stock, Output, Packing Zone |
| Carriers | Inventory > Configuration > Shipping | FedEx, UPS, DHL, etc. |
Handling Exceptions
- Partial availability — Ship available items now, backorder the rest. Odoo creates a new delivery order for remaining quantities.
- Wrong item picked — Barcode validation catches mismatches before shipping. The picker is prompted to correct the error.
- Customer cancellation — Cancel the delivery order before validation. If already shipped, process a return instead.
- Damaged in transit — Create a return delivery, receive damaged goods back, issue replacement or refund.
Performance Metrics
- Order cycle time — Hours from order confirmation to shipment. Target under 24 hours for stock items.
- Pick accuracy — Percentage of orders picked correctly. Target 99.5% or higher with barcode scanning.
- On-time delivery rate — Orders delivered by promised date. Target 95% or higher.
- Backorder rate — Percentage of orders requiring backorders. High rates signal inventory planning issues.
DeployMonkey + Order Fulfillment
Deploy Odoo on DeployMonkey and configure your warehouse fulfillment workflow with AI guidance. From pick strategies to carrier integrations, get orders flowing from confirmation to customer doorstep.