Email sales@vrajatechnologies.com Teams Teams Contact +91 9099928101 Whatsapp +91 73596 28466 Linkedin Linkdin
Odoo Workflow Guides

Push Rules in Odoo Inventory

Simple Difference Between Push, Pull & Replenishment

Rule | Trigger | Main Purpose
------------------------|-------------------------------|--------------------------------------------
-> Push Rule | Product arrives | Move product to the next location
-> Pull Rule | Demand is created | Bring product where it is required
-> Replenishment Rule | Stock falls below minimum | Restore inventory levels

Push Rules in Odoo Inventory

Workflow Overview

A Push Rule automatically moves products from one inventory location to another when products arrive at the configured source location.

For example, a company has two warehouses:

YourCompany Warehouse

Ahmedabad Warehouse

Suppose productsBetween are received into the YourCompany Warehouse and the business wants those products to automatically move to the Ahmedabad Warehouse.

A Push Rule can automate this movement.

The workflow becomes:

Supplier → YourCompany Warehouse → Push Rule → Ahmedabad Warehouse

The warehouse team does not need to manually create an internal transfer after the products arrive in YourCompany Warehouse. Once the products reach the configured source location, Odoo automatically generates the next stock movement according to the Push Rule.

Odoo specifically defines a Push Rule as a rule triggered by the arrival of products at the source location, which then generates a picking to move those products to the destination location.

Example Business Scenario

Consider a company that operates two warehouses:

YourCompany Warehouse

This warehouse receives products from suppliers.

Ahmedabad Warehouse

This warehouse is used for storing and distributing products.

The business requirement is:

Whenever selected products arrive in the YourCompany Warehouse Stock, automatically move them to the Ahmedabad Warehouse Stock.

Configuration Required

Before configuring the Push Rule, make sure both warehouses are properly configured.

1. Enable Storage Locations and Multi-Step Routes

Navigate to:- Inventory → Configuration → Settings

Under the Warehouse section:

Enable Storage Locations

Enable Multi-Step Routes

Then click Save.

Odoo uses Storage Locations together with Multi-Step Routes to control how products move between warehouse locations.

inventory settingsImage :- inventory-settings.png

2. Configure the YourCompany Warehouse

Navigate to:- Inventory → Configuration → Warehouses

YourCompany Warehouse

Configure the warehouse as required for receiving products.

yourcompany warehouseImage :- yourcompany-warehouse.png

3. Configure the Ahmedabad Warehouse

Now configure the second warehouse.

Navigate to:- Inventory → Configuration → Warehouses

Open: Ahmedabad Warehouse

Make sure it has its own:

- Warehouse Name
- Short Name
- Stock Location
- Incoming Operation
- Outgoing Operation

Odoo creates warehouse-specific locations and operation types based on the warehouse setup.

ahmedabad warehouseImage :- ahmedabad-warehouse.png

4. Create a Custom Push Route

Now create a separate route for the automatic movement.

Navigate to: Inventory → Configuration → Routes

Click: New

Enter: Route Name: e.g(YourCompany: Push Stock to Ahmedabad)

Configure the required route information, then go to the Rules tab and click Add a line to create the Push Rule.

Add a line

Configure the rule as follows:

Field | Configuration
----------------------------|-------------------------------
Action | Push To
Source Location | WH/Stock
Destination Location | AHM/Stock
Operation Type | Internal Transfer

Push To

WH/Stock → AHM/Stock

This tells Odoo:

When the configured product arrives at WH/Stock, automatically create a transfer to AHM/Stock.

Odoo's Push To action is specifically triggered by product arrival at the defined source location.

push rule configurationImage :- push-rule-configuration.png

5. Configure the Operation Type

The Push Rule also needs an operation type because this determines what kind of inventory transfer Odoo creates.

For an inter-warehouse movement, use an Internal Transfer operation type.

Navigate to:- Inventory → Configuration → Operation Types

Open the appropriate internal transfer operation type.

Verify that it is configured for internal stock movements.like source location or destination location.

The Push/Pull rule configuration includes an Operation Type, which determines the type of picking created by the rule.

Screenshot

internal transfer operationImage :- internal-transfer-operation.png

6. Configure the Product

Now decide which products should follow this Push Rule.

Navigate to: Inventory → Products → Products

Open the required product.

Go to the: Inventory tab.

Under: Operations → Routes

select: YourCompany: Push Stock to Ahmedabad

Then click: Save

This is important because you generally do not want every product entering YourCompany Warehouse to automatically move to Ahmedabad. Applying the route to the required products gives you control over which products follow the Push workflow.

Odoo routes can be applied to products and product categories, among other supported locations.

product push routeImage :- product-push-route.png

Complete Transaction Workflow

Now that the warehouse and Push Rule are configured, you can demonstrate the complete transaction.

Step 7: Create a Purchase Order

Navigate to: Purchase → Orders → Requests for Quotation

Create a quotation for the supplier.

For example:

Product: Boat Headphones

Quantity: 15

Vendor: Lightsup Supplier

Confirm the Purchase Order.

Odoo creates the corresponding receipt for YourCompany Warehouse.

purchase orderImage :- purchase-order.png

Step 8: Receive Products into YourCompany Warehouse

After confirming the Purchase Order, open the receipt.

Because YourCompany Warehouse is configured for a 2-Step Receipt, the incoming process is:

Vendor → WH/Input → WH/Stock

The first receipt moves the products into: YourCompany WH/Input

Screenshot

yourcompany receipt inputImage :- yourcompany-receipt-input.png

Step 9: Validate the Receipt into YourCompany Stock

After the first receiving operation is completed, the next operation moves the products from: WH/Input → WH/Stock

Open and validate this storage transfer.

Screenshot: yourcompany-stock-receipt.png (this shows WH/STOR/00002 — the 2-step receipt's storage leg, Source: WH/Input, Destination: WH/Stock)

yourcompany stock receipt

Step 10: Push Rule Triggers Automatically

Once WH/STOR/00002 is validated and stock arrives in WH/Stock, Odoo automatically creates a new Internal Transfer based on the configured Push Rule.

you can also verify the Push Rule worked by checking the destination location directly.

Navigate to: Inventory → Configuration → Locations

Select the location used in the Push Rule's destination — AHM/Stock.

Click on the product to views its current stock, then search for your product (BoAt Headphones).

You'll see the product now listed directly under AHM/Stock, confirming that Odoo automatically moved it there via the Push Rule — without any manual transfer.

The configured rule is:

WH/Stock → AHM/Stock

Therefore, Odoo automatically creates the next internal transfer.

The warehouse employee does not need to manually create the transfer.

┌──────────────────────────────┐
│ PURCHASE ORDER │
│ Supplier → Company │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ YOURCOMPANY WAREHOUSE │
│ WH/Input │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ YOURCOMPANY STOCK │
│ WH/Stock │
└──────────────┬───────────────┘
↓
PUSH RULE
↓
┌──────────────────────────────┐
│ INTERNAL TRANSFER │
│ WH/Stock → AHM/Stock │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ AHMEDABAD WAREHOUSE │
│ AHM/Stock │
└──────────────────────────────┘