Skip to content

How to Configure Routes and Push/Pull Rules in Odoo 19

DeployMonkey Team · March 24, 2026 9 min read

Understanding Routes in Odoo 19

Routes define the path products take through your supply chain. Each route contains one or more rules that either push products forward automatically or pull them based on demand. The stock.route and stock.rule models work together to automate inter-location, inter-warehouse, and procurement flows.

Prerequisites

  • Odoo 19 with Inventory module installed
  • Multi-Step Routes enabled in Inventory settings
  • Inventory Manager access

Step 1: Enable Multi-Step Routes

Navigate to Inventory > Configuration > Settings. Enable Multi-Step Routes under the Warehouse section. This unlocks the Routes and Rules configuration menus. Click Save.

Step 2: Understand Built-in Routes

Odoo creates default routes automatically:

  • Buy — Pull rule that creates purchase orders when demand exists
  • Manufacture — Pull rule that creates manufacturing orders from demand
  • Replenish on Order (MTO) — Make-to-Order rule that triggers procurement directly from sales orders
  • Resupply Routes — Inter-warehouse transfer routes created when linking warehouses via resupply settings
  • Reception/Delivery Routes — Created per warehouse based on reception steps (1/2/3 step) and delivery steps (ship only/pick+ship/pick+pack+ship)

Step 3: Create a Custom Route

Navigate to Inventory > Configuration > Routes and click New:

  • Route Name — Descriptive name (e.g., "Quality Inspection", "Cross-Dock")
  • Applicable On — Where this route can be selected: Products, Product Categories, Warehouses, Sales Order Lines, or Packaging

Step 4: Add Pull Rules

Pull rules create demand-driven procurement. In the route form, go to the Rules tab and click Add a line:

  • Action — Pull From: move products from source to destination on demand
  • Source Location — Where products come from
  • Destination Location — Where products go to
  • Operation Type — The type of transfer (Receipt, Delivery, Internal Transfer)
  • Supply Method — Take From Stock (use existing inventory), Trigger Another Rule (chain to next procurement), or Take From Stock if available then trigger rule
  • Propagation — Whether to propagate procurement groups and procurement dates

Step 5: Add Push Rules

Push rules automatically move products after they arrive at a location:

  • Action — Push To: automatically create a transfer when products land in the source location
  • Source Location — When products arrive here, the push triggers
  • Destination Location — Products are moved here automatically
  • Automatic Move — Manual (create draft transfer) or Automatic (auto-confirm the transfer)

Example: Products arriving at Quality Check location are automatically pushed to Main Stock after QC approval.

Step 6: Configure Warehouse Steps

Warehouse reception and delivery steps are implemented using routes internally. Go to Inventory > Configuration > Warehouses and set:

Reception Steps

  • Receive goods directly (1 step) — Supplier to Stock
  • Receive goods in input and then stock (2 steps) — Supplier to Input, then Input to Stock
  • Receive goods in input, then quality and then stock (3 steps) — Supplier to Input, Input to QC, QC to Stock

Delivery Steps

  • Ship only (1 step) — Stock directly to Customer
  • Pick goods and then ship (2 steps) — Stock to Output, then Output to Customer
  • Pick, pack, and then ship (3 steps) — Stock to Pack Zone, Pack to Output, Output to Customer

Step 7: Inter-Warehouse Resupply

To set up automatic resupply between warehouses:

  1. Open the destination warehouse configuration
  2. Under Resupply From, select the source warehouse(s)
  3. Odoo creates a resupply route with pull rules that trigger inter-warehouse transfers when stock is needed

Step 8: Assign Routes to Products

Routes can be assigned at multiple levels:

  • Product level — On the product's Inventory tab, add routes to the Routes field
  • Product Category level — On the product category, set default routes
  • Warehouse level — Apply routes to all operations in a warehouse
  • Sales Order Line level — Override routes per SO line

Best Practices

  • Start with warehouse-level step configuration before creating custom routes
  • Use pull rules for demand-driven flows and push rules for automatic forwarding
  • Test routes with small quantities before applying to all products
  • Document your route logic, especially for complex multi-step flows