diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst b/content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst index 6f59145fc..fe60f904e 100644 --- a/content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst +++ b/content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst @@ -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 ------------------------ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst index 90665f302..79abca48e 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst @@ -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) ================================================= diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst index 4b4704204..e44dae4bc 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst @@ -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 `_ + - :doc:`Standard routes in Odoo <../daily_operations>` -Inside the warehouse -==================== +.. note:: + Routes are applicable on products, product categories, shipping methods, :ref:`packagings + `, 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 `, 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 +`. + +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 +` 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 +`. .. _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 ~~~~~ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/pull-rule.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/pull-rule.png new file mode 100644 index 000000000..37dbae92b Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/pull-rule.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/push-rule.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/push-rule.png new file mode 100644 index 000000000..78685fbc7 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes/push-rule.png differ