Multi-Step Delivery Tracking in Odoo#
For 3-step delivery warehouses (Pick → Pack → Ship), tracking the status of each step on the sale order gives operations and customer service real-time visibility without manual status updates.
Prerequisite: 3-Step Outgoing Shipments#
Inventory → Configuration → Warehouses → [Warehouse]:
- Outgoing Shipments: 3 steps (Pick + Pack + Ship)
Odoo creates three operations types: Pick, Pack, and Delivery Order (DO).
Sale Order Delivery Status#
On the confirmed Sale Order:
- Delivery button (top right): shows count of linked transfers
- Click → view all three transfers and their statuses:
- Pick Transfer: WH/Stock → WH/Packing Zone (Waiting / Ready / Done)
- Pack Transfer: WH/Packing Zone → WH/Output (Waiting / Ready / Done)
- Delivery Order: WH/Output → Customer (Ready / Done)
When all three are validated: the delivery button shows "Done" and the SO delivery status is "Fully Delivered."
Tracking Status from the Sale Order#
Each transfer shows:
- Scheduled Date: when it should be completed
- State: Waiting, Ready, In Progress, Done
- Responsible: who is assigned (warehouse staff)
Customer service can check the SO delivery section without needing access to the warehouse operations view.
Partial Deliveries#
If only 80 of 100 ordered units are available:
- The pick transfer ships 80 → a backorder is created for the remaining 20
- The SO shows: Partially Delivered
- Customer receives a partial shipment + notification
- When the remaining 20 become available: the backorder completes automatically
Carrier Tracking Integration#
For the final Delivery Order step, integrate a carrier:
Inventory → Configuration → Delivery Carriers → [Carrier] → API Integration
After validating the DO:
- Odoo calls the carrier API → generates a tracking number
- Tracking number appears on the DO and the SO chatter
- Customer portal shows the carrier tracking link
Supported carriers: FedEx, UPS, DHL, USPS, and local carriers via third-party connectors.
Customer Notification at Each Step#
Configure email templates per operation:
- After Pick: no customer notification (internal)
- After Pack: "Your order is being prepared"
- After Ship (DO validated): "Your order has shipped - Track: [link]"
Email templates: Inventory → Configuration → Settings → Email Templates per Operation Type.

