If your business operates from more than one physical location โ a warehouse plus a showroom, multiple stores, or regional distribution centres โ you need Odoo configured for multi-warehouse operations. This guide covers the setup from scratch.
Enable multi-warehouse
- Go to Inventory โ Configuration โ Settings.
- Under the Warehouse section, enable Storage Locations. This unlocks the ability to track stock at specific locations within warehouses.
- Optionally enable Multi-Step Routes if you need reception in steps (e.g., receive to input zone, then move to stock) or delivery in steps (pick, pack, ship).
- Click Save.
Create your warehouses
- Go to Inventory โ Configuration โ Warehouses.
- Click New to create a warehouse.
- Enter the Warehouse Name (e.g., "Sydney Warehouse") and a Short Name (e.g., "SYD") โ the short name is used as a prefix for stock locations and operations.
- Set the Address โ this determines the delivery address for incoming shipments to this warehouse.
- Configure Incoming Shipments โ choose 1-step (receive directly to stock), 2-step (receive to input, then stock), or 3-step (receive, quality check, stock).
- Configure Outgoing Shipments โ choose 1-step (deliver from stock), 2-step (pick + ship), or 3-step (pick, pack, ship).
- Repeat for each physical location.
Start with 1-step receiving and 1-step delivery unless you have a genuine need for multi-step operations. You can always add steps later. Adding complexity upfront creates more work for warehouse staff without clear benefit for small operations.
Configure stock locations
Each warehouse automatically gets a set of locations (Stock, Input, Output, etc.). You can add sub-locations for finer-grained tracking:
- Go to Inventory โ Configuration โ Locations.
- To add a sub-location, click New and set the Parent Location to your warehouse's Stock location.
- Example sub-locations: "Shelf A", "Cold Storage", "Overstock Area", "Picking Zone".
- Sub-locations are optional โ many businesses track at the warehouse level only and that's perfectly fine.
Set up inter-warehouse transfers
- When you create multiple warehouses, Odoo automatically creates resupply routes between them.
- Go to Inventory โ Configuration โ Warehouses, open a warehouse, and check the Resupply From field. Tick the warehouses that can supply this one.
- Example: Your "Melbourne Store" is resupplied from "Melbourne Warehouse". Tick "Melbourne Warehouse" in the resupply settings of "Melbourne Store".
- Once configured, you can trigger inter-warehouse transfers manually or automatically via replenishment rules.
Create an inter-warehouse transfer manually
- Go to Inventory โ Operations โ Transfers.
- Click New.
- Set Source Location to the sending warehouse's stock location (e.g., "SYD/Stock").
- Set Destination Location to the receiving warehouse's stock location (e.g., "MEL/Stock").
- Add the products and quantities to transfer.
- Click Mark as To Do, then Validate when the physical transfer is complete.
Automatic replenishment between warehouses
- On a product, go to the Inventory tab.
- Add a Reorder Rule for the destination warehouse.
- Set the Minimum Quantity (trigger point) and Maximum Quantity (order-up-to level).
- Set the Preferred Route to the inter-warehouse resupply route.
- When stock at the destination drops below the minimum, Odoo automatically creates a transfer from the source warehouse.
Viewing stock per warehouse
- On any product, the On Hand button shows stock broken down by location.
- Use Inventory โ Reporting โ Inventory Report to see stock levels across all warehouses.
- Filter by warehouse, location, or product category to get the view you need.
- The Forecasted view shows expected stock levels accounting for incoming and outgoing orders.
Common configuration mistakes
- Too many locations โ Don't create sub-locations unless you actually need to track stock at that level. More locations means more complexity for warehouse staff.
- Wrong resupply direction โ Make sure the resupply routes go the right way. Stores should be resupplied from warehouses, not the other way around.
- Missing routes on products โ If automatic replenishment isn't working, check that the product has the correct route assigned.
- Not setting the warehouse on sales orders โ Each sales order should specify which warehouse it ships from. Set a default warehouse per sales team or salesperson.
Multi-warehouse setup in Odoo is straightforward once you understand the hierarchy: warehouse โ locations โ sub-locations. If you need help configuring warehouses for your specific operation, get in touch.