[IMP] inventory: improve routes definitions

closes odoo/documentation#11169

X-original-commit: 21cb6bb5cf
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
This commit is contained in:
Felicious 2024-08-21 01:58:42 +00:00 committed by Zachary Straub (ZST)
parent 8b7be69be6
commit dcb48c3dc4
5 changed files with 58 additions and 52 deletions

View File

@ -167,6 +167,8 @@ warehouse. Next, in the :guilabel:`Applicable on` section, tick the :guilabel:`P
Route with "Packagings" selected, with "Products" and "Warehouses" not selected.
.. _inventory/product_management/route-on-packaging:
Apply route on packaging
------------------------

View File

@ -143,6 +143,8 @@ deliveries or manufacturing orders.
:align: center
:alt: Internal transfer form for products ordered from vendor.
.. _inventory/shipping_receiving/two-step-delivery:
Process delivery order in two steps (pick + ship)
=================================================

View File

@ -1,19 +1,21 @@
.. _use-routes:
==========================
Routes and push/pull rules
==========================
In inventory management, the supply chain strategy determines when products should be
purchased/manufactured, delivered to distribution centers, and made available to the retail
channel.
*Routes* in Odoo control the movement of products between different locations, whether internal or
external, using push and pull rules. Once set up, these rules help automate the logistics of product
movement based on specific conditions.
In Odoo, a product's supply chain strategy can be configured using *Routes*, which feature *Pull
and Push Rules*. Once everything is properly configured, the Inventory app can automatically
generate transfers following the configured push/pull rules.
.. seealso::
- `Odoo Tutorials: Routes <https://www.youtube.com/watch?v=qkhDUezyZuc>`_
- :doc:`Standard routes in Odoo <../daily_operations>`
Inside the warehouse
====================
.. note::
Routes are applicable on products, product categories, shipping methods, :ref:`packagings
<inventory/product_management/route-on-packaging>`, and on the sales order line.
About routes and terminology
============================
In a generic warehouse, there are receiving docks, a quality control area, storage locations,
picking and packing areas, and shipping docks. All products go through all these locations. As the
@ -42,58 +44,56 @@ boxes, and conveyor belts bring them to the shipping docks, ready to be delivere
:align: center
:alt: View of a generic pull from rule when preparing deliveries.
Pull rules
==========
With *Pull Rules*, a demand for some products triggers procurements, while *Push Rules* are
triggered by products arriving in a specific location.
Pull Rules are used to fulfill a sales order. Odoo generates a need at the *Customer Location* for
each product in the order. Because pull rules are triggered by a need, Odoo looks for a pull rule
defined on the *Customer Location*.
In this case, a "delivery order" pull rule that transfers products from the *Shipping Area* to the
*Customer Location* is found, and a transfer between the two locations is created.
Then, Odoo finds another pull rule that tries to fulfill the need for the *Shipping Area*: the
"packing" rule that transfers products from the *Packing Area* to the *Shipping Area*. Finally,
other pull rules are triggered until a transfer between the *Stock* and the *Picking Area* is
created.
.. note::
All these product transfers are automatically generated by Odoo based on the pull rules, starting
from the end (the customer location) and going backward (the stock warehouse). While working, the
operator processes these transfers in the opposite order: first the picking, then the packing,
and finally the delivery order.
Push rules
==========
----------
On the other hand, *Push Rules* are much easier to understand. Instead of generating documents
based on needs, they are triggered in real time when products arrive in a specific location. Push
rules basically say: "when a product arrives at a specific location, move it to another location."
An example of a push rule would be: when a product arrives in the *Receipt Area*, move it to the
*Storage Location*. As different push rules can be applied to different products, the user can
assign different storage locations for different products.
Another push rule could be: when products arrive at a location, move them to the *Quality Control
Area*. Then, once the quality check is done, move them to their *Storage Location*.
Push rules are used to *supply products into a storage locations* as soon as they arrive at a
specific receiving location.
.. note::
Push rules can only be triggered if there are no pull rules that have already generated the
product transfers.
.. important::
Sets of push/pull rules like those are called *Routes*. The grouping on the rule decides if
products are grouped in the same transfer or not. For example, during the picking operation, all
orders and their products are grouped in one transfer, whereas the packing operation respects the
grouping per customer order.
In a :doc:`one-step receipt route <receipts_delivery_one_step>`, which uses one push rule, when a
product arrives in the warehouse, a push rule can automatically transfer it to the *Storage
Location*. Different push rules can be applied to different products, allowing for customized
storage locations.
.. figure:: use_routes/push-rule.png
:align: center
:alt: Rule for a Receive in one step route.
Push rule for the 'Receive in one step' route.
For more information about configuring rules, skip to the :ref:`Configure rules section
<inventory/shipping_receiving/configure-rules>`.
Pull rules
----------
Pull rules trigger product moves on demand, such as a sales order or a :doc:`need to restock
<../../warehouses_storage/replenishment/reordering_rules>`.
Pull rules work backward from the demand location. For example, in a :ref:`two-step delivery
<inventory/shipping_receiving/two-step-delivery>` route, where items move from *Stock* to *Output*
before being delivered to the *Customer Location*, the pull rule first creates a transfer from
*Output* to the customer. If the product is not at *Output*, another pull rule creates a transfer
from *Stock* to *Output*. The warehouse workers then process these transfers in the reverse order:
picking, then shipping.
.. figure:: use_routes/pull-rule.png
:align: center
:alt: Example pull rule.
Pull rules for the 'Deliver in two steps' route.
For more information about configuring rules, skip to the :ref:`Configure rules section
<inventory/shipping_receiving/configure-rules>`.
.. _use-routes/routes-rules:
Use routes and rules
====================
Configuration
=============
Since *Routes* are a collection of *Push and Pull Rules*, Odoo helps you manage advanced route
configurations such as:
@ -221,6 +221,8 @@ section, select the :guilabel:`Routes`.
.. important::
Rules must be set on the route in order for the route to work.
.. _inventory/shipping_receiving/configure-rules:
Rules
~~~~~

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB