Enable multi-warehouse in Inventory settings, create stock.warehouse records with their own stock locations and operation types, and assign routes on products or categories. Use pull rules and reordering rules per warehouse, set resupply warehouses for inter-warehouse transfers, and confirm users default to the correct warehouse on pickings and sales order lines.
Steps
- Inventory → Configuration → Settings: enable Storage Locations and Multi-Warehouses.
- Create warehouses under Inventory → Configuration → Warehouses; Odoo generates view locations and picking types.
- Set product or category Routes (Buy, Manufacture, Cross-Dock) per warehouse demand.
- Configure stock.rule pull routes from stock to output locations for each warehouse.
- Add reordering rules (stock.warehouse.orderpoint) per product per warehouse location.
- On sales orders, set warehouse_id or use multi-warehouse delivery split on order lines.
- Test inter-warehouse transfers with internal pickings between stock.location hierarchies.
Common mistakes
- Sharing one stock location across warehouses without virtual views.
- Routes pointing to the wrong warehouse procurement group.
- Forgetting to set warehouse on ecommerce or POS channels.
- Duplicate reordering rules on parent and child locations.
- Not aligning 3PL feeds with the correct warehouse code.
Odoo version notes
Multi-warehouse is core stock functionality in Community and Enterprise 16–18. Enterprise adds barcode per warehouse and optional inter-company rules. Odoo 17 improved route UI; verify migrated XML IDs on stock.rule after upgrade. Performance tuning matters above ten warehouses—index-friendly domains on move line searches help.
When to bring in help
If the fix touches custom modules, regulated traceability, or production outages, a focused rescue sprint beats months of trial and error. See our Odoo service.
See our industry practice