Odoo Warehouse Management: Setup & Features Guide
Learn to set up Odoo warehouse management, barcode scanning, putaway rules, and reordering. Includes SMB setup checklist and Community vs Enterprise comparison.
- Odoo Warehouse Management organizes stock across warehouses and locations, automating inbound and outbound flows
- Barcode scanning cuts picking time by 30-50%; available in both Community and Enterprise editions
- Reordering rules trigger purchase orders automatically when stock hits a minimum threshold
- Community Edition includes all core WMS features; Enterprise adds wave picking, forecasting, and quality gates
- Small businesses with one warehouse need only: warehouses, basic locations, barcodes, and reordering rules
Odoo Warehouse Management gives you real-time visibility into inventory across warehouses and locations. It automates stock movement, barcode tracking, and replenishment so you spend less time counting and more time shipping.
This guide covers the core components: warehouses, locations, routes, putaway rules, and barcode scanning. It includes a step-by-step checklist for a single-warehouse small business, and explains which features are available in Community vs. Enterprise editions.
What Is Odoo Warehouse Management?
Odoo Warehouse Management is the inventory control module within Odoo ERP. It lets you organize stock across physical locations, automate inbound and outbound flows, and track items by lot or serial number.
At its core, it answers three questions: Where is your stock? How does it move? When do you reorder?
The system sits between your purchasing and sales operations. When you receive goods, the WMS tells you where to put them. When you pick orders, it optimizes the route. When stock runs low, it triggers purchase orders automatically.
Unlike standalone WMS tools, Odoo integrates with purchasing, sales, accounting, and manufacturing in one database. You do not need API connectors or manual data sync. A sale order automatically updates warehouse inventory and vice versa.
Small warehouses (1-3 staff) use Odoo WMS to cut picking time by 20-30% through optimized locations and barcode scanning. Larger operations use routes and putaway rules to enforce company-wide stock movement logic.
Community Edition includes the core WMS: warehouses, locations, routes, and barcode scanning. Enterprise adds advanced features like wave picking, cluster picking, and automation rules that trigger on inventory events.
Setting Up Warehouses and Locations
A warehouse in Odoo is a physical facility. A location is a specific shelf, bin, or zone within a warehouse.
Every Odoo company starts with a default warehouse and stock location. If you ship from one building, that is all you need. If you run multiple warehouses, or track inventory across zones, you create new warehouses and sub-locations.
To create a warehouse, go to Inventory > Configuration > Warehouses. Click Create and give it a name ("Main Warehouse" or "Boston Facility"), a location code, and optional address. Odoo auto-generates sub-locations: WH/Stock (where received goods live), WH/Input (a staging area for inbound), WH/Output (for picking), and WH/Quality (for inspection, if enabled).
Within WH/Stock, you can define a location hierarchy. A real warehouse might look like this:
- WH/Stock (root)
- Zone A (shelving for fast-moving items)
- Rack A1
- Bin A1-01
- Bin A1-02
- Rack A1
- Zone B (high-density storage)
- Rack B1
- Bin B1-01
- Rack B1
- Zone A (shelving for fast-moving items)
Location hierarchy does not affect default picking behavior, but it organizes your inventory visually and enables putaway rules (covered next).
Each location has a location type: internal (stock held in your warehouse), partner (customer or supplier site), virtual (placeholder for adjustments), or production (used for manufacturing orders).
For a single-warehouse operation, you rarely need custom locations. Stock is stock. But if you use zones (e.g., fast-moving in Zone A, slow-moving in Zone B), barcode scanning works faster when pickers know the expected bin.
Odoo does not force you to scan locations during picking. You can hand-pick and scan only at shipment. But if you enforce location scans, barcode placement matters: label every bin clearly and position them at eye level.
Routes and Putaway Rules: Controlling Stock Flow
Routes define the workflow for moving stock in and out. Putaway rules automate that workflow by assigning stock to specific locations.
A route is a chain of steps: (1) receive goods, (2) move to quality, (3) move to stock, (4) pick for shipment. Odoo lets you skip steps or insert custom ones.
For inbound, the standard route in Odoo is: Receive > Put Away > Ship. By default, received stock goes straight to WH/Stock. If you enable putaway rules, it goes to the rule-assigned bin instead.
For outbound, the standard is: Confirm > Pick > Ship. You can insert a quality check between confirm and pick.
Routes are set per product, per warehouse, or per rule type. You create them at Inventory > Configuration > Routes.
Putaway rules are the automation layer. A putaway rule says: "If a product belongs to category 'Electronics', send it to Zone A. If the product is fragile, send it to Zone C."
To create a putaway rule, go to Inventory > Configuration > Putaway Rules. Specify:
- Product category (or a specific product)
- Warehouse
- Source location (usually the input/staging area)
- Destination location (the bin where it belongs)
- Priority (higher priority rules execute first)
Example: You sell phone cases and cables. Phone cases weigh 100g; cables weigh 5g. You create two rules:
- Product category = cases, destination = Zone A (heavier items lower on shelves)
- Product category = cables, destination = Zone B (lighter items higher)
When 500 phone cases arrive, the inbound putaway process scans the barcode, checks the putaway rules, and directs the stocker to Zone A automatically.
Putaway rules do not work unless you enable the "Automatic Put Away" route on your warehouse. Go to Warehouse > Configuration > select warehouse > Routes tab > check "Automatic Put Away."
Routes and putaway rules are optional. Many single-warehouse businesses never use them: they receive stock into WH/Stock and pick from WH/Stock. They add complexity but save labor in larger operations.
Barcode Scanning for Warehouse Operations
Barcode scanning cuts picking time by 30-50% by eliminating manual line-by-line checks. Instead of reading a paper list, the pickers scan product barcodes against the pick list.
Barcode scanning is available in both Community and Enterprise editions. The workflow is the same; Enterprise adds features like batch scanning and mobile-optimized screens.
To set up barcode scanning in Odoo:
Step 1: Assign Product Barcodes
Go to Inventory > Products > select a product > Barcode section. Enter the product's EAN13 or UPC code. If the product does not have a barcode, generate a unique one in Odoo (e.g., PROD-001).
For existing products, import barcodes via CSV: Products > Barcode tab in the import dialog.
Step 2: Configure the Barcode Scanner
Set your barcode scanner to output the barcode followed by Enter (the default for most scanners). Odoo listens for that Enter keystroke to trigger a scan action.
If your scanner outputs other delimiters (tab, space), adjust the scanner settings in the device menu.
Step 3: Open a Picking List on a Mobile Device
On a tablet or smartphone, open Odoo's mobile app (Inventory module). Odoo optimizes the mobile interface for warehouse workflows: large buttons, minimal text.
For Community Edition, you can use the web interface on a phone, but the mobile app is smoother. It works offline if you enable offline mode.
Navigate to Inventory > Pickings. Select an outbound picking (a shipment to pack).
Step 4: Scan Products
The picking screen shows each line: product, quantity, location. A "Scan Product" field appears at the top.
Pick the first item and scan its barcode. The system updates the quantity done for that line. Scan again if the quantity is 2 or more. When all lines are scanned, mark the picking done.
Step 5: Validate and Ship
Once picking is complete, Odoo lets you validate the picking (move stock to output location) and then generate a shipment label.
Common issues:
- Barcode not found: The barcode in Odoo does not match the physical barcode. Check product setup.
- Multiple locations: If a product is in two locations, Odoo asks which one to pick from. Specify the location on the picking line to avoid this.
- Wrong quantity: If you scan a barcode more than needed, click the line and decrease the quantity manually.
Barcode hardware: Most USB barcode scanners work with Odoo without drivers. Wireless and Bluetooth scanners require pairing on the mobile device. Symbol and Zebra scanners are common in warehouses; Honeywell and Intermec work too.
Reordering Rules and Automatic Replenishment
Reordering rules trigger purchase orders automatically when inventory drops below a threshold.
A reordering rule has four key fields:
- Product: The item to monitor
- Minimum Quantity: Trigger point (e.g., 10 units)
- Quantity Multiple: The order quantity (e.g., 50 units in increments of 10)
- Warehouse: Which warehouse the rule applies to
To create a reordering rule, go to Inventory > Configuration > Reordering Rules. Click Create.
Example: You sell widgets. Each sale reduces stock. When stock hits 10, you want to reorder. You buy from a supplier in lots of 50.
Create a rule:
- Product: Widget
- Minimum Quantity: 10
- Order Quantity: 50
- Warehouse: Main Warehouse
Odoo runs a daily scheduler that checks all reordering rules. If widgets are at 8 units, the rule triggers and creates a draft purchase order for 50 units.
The purchase order appears under Purchasing > RFQ. You can edit quantities, add notes, and confirm it, or Odoo can auto-confirm based on your settings.
Reordering rules work with product suppliers. Go to product > Purchasing tab and add a vendor. The rule will use that supplier for the purchase order.
Advanced scenarios (Community Edition still handles these):
- Lead time: If your supplier takes 14 days to ship, set your minimum to account for that delay. If you sell 10 units per day, set minimum to 140 to cover 14 days of stock.
- Multiple suppliers: Add fallback suppliers in the product. Odoo will try the first; if unavailable, it uses the second.
- Seasonal demand: Reordering rules are static. For seasonal products (holiday items), you manually adjust minimums before peak season or use Enterprise forecasting tools.
Community Edition rules are trigger-based: when stock hits the minimum, reorder. Enterprise adds safety stock calculations and demand forecasting, which adjust minimums automatically based on sales trends.
Community Edition vs. Enterprise: Which Edition Fits Your Needs?
Both Community and Enterprise include warehouses, locations, routes, barcode scanning, and reordering rules.
Here are the key WMS differences:
Community Edition includes:
- Unlimited warehouses and locations
- Barcode scanning (manual line-by-line)
- Putaway rules (basic: product or category-based)
- Reordering rules (trigger-based minimum)
- Manual batch tracking (lots and serial numbers)
- Multi-warehouse transfers
Enterprise Edition adds:
- Wave picking (group orders into waves, optimize picking routes)
- Cluster picking (combine multiple orders into one pick route)
- Mobile-optimized Warehouse app (faster offline scanning)
- Automatic putaway (placement based on smart rules)
- Inventory forecasting (predict demand, adjust minimums)
- Quality control gates (automated inspection workflows)
- Barcode labels (template-based print from Odoo)
- Traceability (track products through expiry, batch splits)
For a single-warehouse SMB with 1-5 staff, Community Edition is sufficient. You can pick and pack 50-100 orders per day with manual location tracking and barcodes.
Upgrade to Enterprise if you have:
- More than 3 warehouses
-
200 orders/day requiring optimized picking routes
- Complex putaway logic (weight-based, expiry-based, class-based)
- Regulatory need for full product traceability (food, pharma)
- Seasonal demand requiring automatic replenishment forecasting
Community Edition is free. Enterprise costs ~$30-80/month/user depending on deployment model. For Odoo hosting and deployment, managed hosting via Opsily runs $500-2,000/month depending on users and customization.
One-Warehouse SMB Setup Checklist
You are a small business with one warehouse and 5-15 staff. You get 50-200 orders per week. Here is what to do on day one:
1. Warehouse Setup (30 minutes)
- Go to Inventory > Configuration > Warehouses
- Verify the default warehouse is named correctly ("Main Warehouse")
- Confirm locations exist: WH/Stock, WH/Input, WH/Output
- Do not create sub-locations yet; use them only if you have 3+ staff doing picks
2. Products & Barcodes (2-4 hours)
- In Inventory > Products, add barcodes to all SKUs
- For products without physical barcodes, assign internal barcodes (PROD-001, PROD-002)
- Import via CSV if >50 products (Inventory > Products > Import > Barcode field)
3. Supplier Setup (1 hour)
- Go to Purchasing > Vendors. Add your 2-3 main suppliers
- For each product, set preferred vendor in the Purchasing tab
4. Reordering Rules (1-2 hours)
- Identify 10-20 best-selling products (use Inventory > Sales Analysis)
- Create reordering rules for each: Minimum = 2 weeks of stock, Order Qty = 1 month of stock
- Test by manually adjusting stock below the minimum; confirm the purchase order triggers
5. Barcode Scanner (1 hour)
- Acquire a USB barcode scanner (Zebra, Symbol, Honeywell) or use a smartphone app (iOS/Android Odoo app)
- Test scanning a product barcode into a picking document
- Verify the product quantity updates
6. Mobile Picking (30 minutes)
- Install Odoo mobile app on a tablet or phone
- Log in and navigate to Inventory > Pickings
- Do a test pick: scan 3 products and mark picking done
7. Enable Barcode Features (15 minutes)
- Go to Inventory > Configuration > Settings
- Check "Barcode Scanning" and "Lot/Serial Numbers" (if tracking expiry)
- Save
8. Receiving Workflow (2 hours)
- Create a test purchase order and receive goods
- Check that Odoo creates an inbound picking (receipt)
- Use the mobile app to scan received items into stock
- Validate the receipt
Common mistakes to avoid:
- Do not create deep location hierarchies unless you have a specific layout. Most SMBs use a flat WH/Stock.
- Do not enable putaway rules without testing. They can misdirect stock if rules are wrong.
- Do not set reordering minimums too low. Stockouts cost more than extra inventory.
- Do not require barcodes on every pick if you have <20 SKUs. Manual picking is faster.
Frequently Asked Questions
What is the difference between a warehouse and a location?
A warehouse is a physical building. A location is a specific bin, shelf, or zone inside it. You can have one warehouse with many locations, or many warehouses with one location each. Most SMBs use one warehouse and one main location (WH/Stock).
Can I use Odoo warehouse management without barcode scanning?
Yes. Barcode scanning is optional. Many businesses pick from paper lists and manually record received quantities. Barcodes cut errors and time but add hardware cost. Start without them and add later if picking becomes a bottleneck.
Do I need to use putaway rules?
No. Putaway rules automate stock placement. If your warehouse is small or staff is flexible, you can receive everything into one location (WH/Stock) and pick from there. Rules matter when you have 50+ SKUs and want to enforce a layout logic.
How often does the reordering rule scheduler run?
By default, Odoo checks reordering rules daily. Enterprise Edition lets you set a custom schedule. If you need real-time reordering, you must trigger it manually or use automation scripts (beyond Community scope).
Can I track product expiry dates in Community Edition?
Yes. Enable Lot/Serial Numbers on products. When you receive stock, assign a lot number and expiry date. Odoo will warn you when dates are near. The mobile app can suggest picking oldest lots first (FEFO: First Expiry, First Out).
What does "wave picking" do, and is it worth the Enterprise cost?
Wave picking groups multiple orders and optimizes the pick sequence so pickers travel less distance. If you pick 5+ orders at a time, wave picking cuts travel time by 15-25%. For <100 orders per week, it is rarely worth the Enterprise cost. For high-volume warehouses, it pays for itself.
The Bottom Line
Odoo Warehouse Management automates the movement of stock from receiving to shipment. For a small business, you need warehouses, locations, barcode scanning, and reordering rules. Start with Community Edition; the core tools are free and handle 90% of use cases.
The hardest part is not the software: it is training staff to scan consistently and maintaining accurate product data. Plan a week for setup and testing before going live.
Once running, Odoo WMS saves 10-20 hours per week compared to spreadsheets. For your team and budget, explore how Opsily's managed Odoo hosting fits your operation, or read our guide on Odoo hosting costs to compare self-hosted vs. managed options.