All posts
Functional4 min read

Managing Warehouse Zones and Storage Locations in Odoo

Structure Odoo warehouse storage with hierarchical locations - defining zones for ambient, cold, hazmat, and high-value storage - and using putaway rules to route products automatically.

Warehouse Zone Management in Odoo#

An unorganized warehouse wastes picker time and creates errors. Odoo's location hierarchy lets you define zones (ambient, cold, hazmat, bulk), sub-zones (aisles, rows), and bins - creating a structured storage map that drives accurate putaway and picking.

Location Hierarchy#

Odoo uses a tree structure for locations:

WH (Physical Locations / YOUR WAREHOUSE)
├── WH/Input (receiving area)
├── WH/Quality Control (inspection)
├── WH/Stock (main storage)
│   ├── WH/Stock/Ambient
│   │   ├── WH/Stock/Ambient/Row-A
│   │   │   ├── WH/Stock/Ambient/Row-A/Bin-01
│   │   │   └── WH/Stock/Ambient/Row-A/Bin-02
│   │   └── WH/Stock/Ambient/Row-B
│   ├── WH/Stock/Cold-Storage (2-8°C)
│   ├── WH/Stock/Hazmat (certified storage)
│   └── WH/Stock/High-Value (secured, cameras)
├── WH/Packing (pack station)
└── WH/Output (staging for dispatch)

Creating the Location Structure#

Inventory → Configuration → Locations → New:

  • Parent Location: WH/Stock
  • Name: Ambient
  • Type: Internal

Repeat for each zone, aisle, row, and bin. For large warehouses with many bins, import via CSV.

Zone Properties#

Per location:

  • Removal Strategy: FIFO (general) or FEFO (cold storage, perishables)
  • Scrap Location: No (main storage is not a scrap location)
  • Replenish Location: No (replenishment runs don't need to know sub-locations)

Putaway Rules by Zone#

Inventory → Configuration → Putaway Rules:

  • Ambient products (dry goods): WH/Input → WH/Stock/Ambient
  • Cold chain products: WH/Input → WH/Stock/Cold-Storage
  • Hazardous goods: WH/Input → WH/Stock/Hazmat
  • High-value items > $500: WH/Input → WH/Stock/High-Value

Odoo routes incoming products to the correct zone automatically.

Wave Picking by Zone#

For high-volume warehouses, pick by zone:

  1. All Row-A picks go to picker 1 in the morning wave
  2. All Cold-Storage picks go to picker 2 (who has the cold gear)
  3. Hazmat picks only by certified pickers (user role restriction on the location)

Configure zone-level restrictions on who can pick from each area.

Location Labels and Barcodes#

Inventory → Configuration → Locations → [Location] → Print Barcode:

  • Generate a barcode label for each bin/location
  • Affix to shelves and bins
  • Pickers scan location barcode to confirm they're in the right spot

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free