[IMP] inventory: improve routes definitions
closes odoo/documentation#10830 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
This commit is contained in:
parent
1c5bf1337e
commit
21cb6bb5cf
@ -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
|
||||
------------------------
|
||||
|
||||
|
@ -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)
|
||||
=================================================
|
||||
|
||||
|
@ -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 |
Loading…
Reference in New Issue
Block a user