Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
221 Vistas

Hi ,


We currently have a 3 step delivery route in which the first rule is to move from the HOLDING BAY location to the PACKING location.


We then have a replenish / buy route that creates a purchase order when stock is required in HOLDING BAY.


This all works perfectly and if there is no stock in HOLDING BAY, a purchase order is being created.


However we also have a 2 step receiving location, set up to take from the "input" location.

Once receiving is done the one and only rule within the 2 step receiving is not being triggered.  


The rule is setup to push to HOLDING BAY location if stock arrives in INPUT location.


However for some reason it never gets call when the PO is generated via the 3 step delivery.


HOWEVER, it works perfectly if the PO is created by its.  E.g. If I create a new PO and receive that PO, the putaway rule gets triggered.


Any thoughts on why the the standalone PO generates the rule , but not the PO from a replenishment order.  I am using exactly the same product, so the routes applied are the same.


Thoughts?


Damien

Avatar
Descartar

Are there more than 1 receipt routes configured? On the PO there is a deliver to field

Or are the products being received directly to holding bay and not to Input with replenishment trigger. ( destination location on receipt Operation)

Autor

Hi Jaideep,

Only have 1 route/rule with a Receipts based operation type defined and that is my "Buy" route which only has the 1 rule with operation type "Warehousename: Receipts - Replenishment" and this operation type has the Operation Type = "Receipt"

The "Warehousename: Receipts - Replenishment" operation type is a copy of the "Receipts" operation type, just the naming and sequence settings a different.

And this is the operation type that is showing in the "Delivery To" field on the PO

Also note that the Default Destination Location on the "Warehousename: Receipts - Replenishment" operation type is set to "Input" and therefore when the PO is being received, it is received to this input location.  The same source location that is defined within the Putaway rule.  I can also see in the Stock moves that it has moved from vendor to input after the receiving is completed.



Mejor respuesta

If stocks are received in Input location it is possible that the transfer of  products from Input to holding bay have been added to an existing open transfer.

It can be easily validated by checking Inventory > reporting > locations and grouping by location.

In the input location do check On hand qty and reserved qty fields. 

  1. If reserved qty = on hand qty the products have been reserved by an open transfer

2. Else it seems like the push rule isn't being triggered. Could you provide the details of the procurement routes (Delivery route which triggers replenishment) and push rule (Input to Holding bay) configurations

Can't see a reason for push not to trigger

Avatar
Descartar
Autor

Hi Jaideep,

Thanks for the reply.

In terms of you point 1, I have checked and I can see under input and for the products that I have tested with the "On-hand quantity = 200 and the Reserved Quantity = 0.00. This makes sense, because once the PO receiving is completed, the stock goes to Input location and then doesn't getting moved from there

in terms of point 2:

Routes as follows:

ROUTE 1 - BUY ROUTE
Route "Buy"
Rule:
Action "Buy"
Operation Type: "Warehouse: Receipts - Replenishment"
Destination Location: "Warehouse/Holding Bay"
Warehouse "Warehouse"
Sequence: 20
Propagation of procurement Group: Propogate
Cancel Next move: Unchecked
Propagation of carrier = checked
warehouse to propagate = unchecked

ROUTE 2: PUTAWAY ROUTE
Rule:
Action "Push To"
Operation Type: "Warehouse: Put Aways"
Source Location: "Warehouse/Input"
Destination Location: "Warehouse/HOLDING BAY"
Automatic Move: "Manual Operation"
Sequence: 20

ROUTE 3: 3 Step Delivery Route

RULES:

Rule Name " Output → Customers"
Action: "Pull From"
Operation Type: "Stock: Delivery Orders"
Source Location: "SHEP01/Output"
Destination Location: Partners/Customers
Supply Method: "Take from stock, if unavailable, Trigger another rule"

Rule Name "Packing Zone → Output"
Action: "Pull From"
Operation Type: "Stock: Pack"
Source Location: "SHEP01/Packing Zone"
Destination Location: "SHEP01/Output"
Supply Method: "Take from stock, if unavailable, Trigger another rule"

Rule Name "HOLDING BAY → Packing Zone"
Action: "Pull From"
Operation Type: "Stock: Pack"
Source Location: "Warehouse/HOLDING BAY"
Destination Location: "SHEP01/Packing Zone"
Supply Method: "Take from stock, if unavailable, Trigger another rule"

Hope this helps?

Damien

Thanks Damien,

Which version of Odoo are you on?
If you are V18.0 or over, it is possible to define applicability of Push rule. To be certain there isn't any, you would need to be on developer mode and this is 'Match all record' section, it is right to the bottom on the push rule (just below lead time). There shouldn't be any rule here.

I would also validate the source and destination location on the "Warehouse: Put Aways" operation.

You might also want to test with different products to eliminate if it is do with specific products or replenishment rule.

It sure beats me on why the push rule trigger selectively at a location.

Mejor respuesta

Hi,


You have a 3-step delivery route where products move from the Holding Bay to Packing. To supply stock to the Holding Bay, you set up a Replenish/Buy route that automatically creates a purchase order when stock is required. This part works fine — if there’s no stock in the Holding Bay, a purchase order is generated correctly.


You also set up a 2-step receiving process where goods arrive first in the Input location. A putaway/push rule is defined so that whenever stock arrives in the Input location, it should automatically be transferred to the Holding Bay. This works as expected if you manually create a purchase order and receive it — the push rule triggers, and stock is moved to the Holding Bay.


The issue arises when the purchase order is created via the replenishment route. In that case, the rule to push from Input to Holding Bay does not get triggered, even though the same product and routes are used. Essentially, the system behaves differently depending on whether the PO is manually created or automatically generated from replenishment.


The problem likely comes from how replenishment applies routes. Replenishment tends to force the product’s Buy route directly to its default stock location (often Stock or Holding Bay), bypassing the intermediate Input location, so the putaway/push rule never gets called. In contrast, manually created POs respect the product’s standard incoming route (Supplier → Input → Holding Bay).


References:


https://www.youtube.com/watch?v=SQJ79Bkp-rY


https://www.odoo.com/documentation/18.0/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.html


https://www.cybrosys.com/blog/how-to-set-up-efficient-putaway-rules-in-odoo-18-inventory


Hope it helps

Avatar
Descartar
Autor

Hi
Your summary of the current setup is correct.
As per my other response above, yes the operation type is set to receive the product to the input location which is the same location that the putaway route has for the source location. But just not triggering when the PO is generated via replenishment. Its a strange one. Its like when a replenishment order is generated, there is a block on any other routes being called afterwards.