diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.rst index 116c5827de..5082e802f9 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.rst @@ -14,9 +14,9 @@ Replenish on order (MTO) a draft order every time a product is needed to fulfill a sales order (SO) or as a component in a manufacturing order (MO). -- For :doc:`purchased products <../../../purchase/manage_deals/rfq>`, Odoo creates an |RFQ| +- For :doc:`purchased products <../../../purchase/manage_deals/rfq>`, Odoo creates an |RFQ|. - For :doc:`manufactured products - <../../../manufacturing/basic_setup/configure_manufacturing_product>`, it creates an |MO| + <../../../manufacturing/basic_setup/configure_manufacturing_product>`, it creates an |MO|. If stock is available, no |RFQ| or |MO| is generated and the sale proceeds normally. Otherwise, the |RFQ| or |MO| is generated and directly linked to the originating |SO| through a smart button. @@ -25,65 +25,50 @@ This approach offers clear traceability, since each |RFQ| or |MO| is tied back t .. important:: The |RFQ| or |MO| generated by |MTO| is designed to fulfill the originating |SO|. These documents - should normally be confirmed or adjusted rather than cancelled. If the demand changes, update the - document instead of cancelling it. + should normally be confirmed or adjusted rather than canceled. If the demand changes, update the + document instead of canceling it. .. note:: - If an |RFQ| or |MO| is cancelled, Odoo does not automatically generate a replacement. A new + If an |RFQ| or |MO| is canceled, Odoo does not automatically generate a replacement. A new replenishment document must be created manually, but it **cannot** be linked back to the original |SO| through the smart button. Finally, click :guilabel:`Save` to save the change. -.. _inventory/warehouses_storage/unarchive-mto: +.. _inventory/mto/configuration: -Unarchive MTO route -=================== +Configuration +============= -In order to use the |MTO| route, the :guilabel:`Multi-Step Routes` feature must be enabled. To do -so, navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and tick the checkbox -next to :guilabel:`Multi-Step Routes`, under the :guilabel:`Warehouse` heading. +.. _inventory/mto/enable-mto: -By default, Odoo sets the |MTO| route as *archived*. This is because |MTO| is a somewhat niche -workflow that is only used by certain companies. However, it is easy to unarchive the route in just -a few simple steps. +Enable the MTO route +-------------------- -To do so, begin by navigating to :menuselection:`Inventory app --> Configuration --> Routes`. On the -:guilabel:`Routes` page, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon on the right -side of the search bar, and click the :guilabel:`Archived` filter to enable it. +In order to use the |MTO| route, the :guilabel:`Replenish on order (MTO)` setting must be enabled. +To do so, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Go to the +:guilabel:`Warehouse` section at the end of the page, and select the checkbox next to +:guilabel:`Replenish on order (MTO)`. Click :guilabel:`Save` to confirm the setting. -.. image:: mto/archived-filter.png - :align: center - :alt: The archived filter on the Routes page. +.. image:: mto/mto-setting.png + :alt: Select the Replenish on order (MTO) checkbox. -After enabling the :guilabel:`Archived` filter, the :guilabel:`Routes` page shows all routes which -are currently archived. Tick the checkbox next to :guilabel:`Replenish on Order (MTO)`, then click -the :icon:`fa-cog` :guilabel:`Actions` button to reveal a drop-down menu. From the drop-down menu, -select :guilabel:`Unarchive`. +.. _inventory/mto/configure-mto-product: -.. image:: mto/unarchive-button.png - :align: center - :alt: The unarchive action on the Routes page. +Configure a product for MTO +--------------------------- -Finally, remove the :guilabel:`Archived` filter from the search bar. The :guilabel:`Routes` page now -shows all unarchived routes, including :guilabel:`Replenish on Order (MTO)`, which is selectable on -the *Inventory* tab of each product page. +With the |MTO| route enabled, products can now be configured to use replenish on order. To do so, +begin by going to :menuselection:`Inventory app --> Products --> Products`, then select an existing +product, or click :guilabel:`New` to configure a new product. -Configure product for MTO -========================= - -With the |MTO| route unarchived, products can now be properly configured to use replenish on order. -To do so, begin by going to :menuselection:`Inventory app --> Products --> Products`, then select an -existing product, or click :guilabel:`New` to configure a new one. - -On the product page, select the :guilabel:`Inventory` tab and enable the :guilabel:`Replenish on -Order (MTO)` route in the :guilabel:`Routes` section, along with the :guilabel:`Buy` or -:guilabel:`Manufacture` route. +In the product form, go to the :guilabel:`Inventory` tab. Under the *Operations* section, select the +checkbox next to the :guilabel:`Replenish on Order (MTO)` option in the :guilabel:`Routes` field. .. important:: - The :guilabel:`Replenish on Order (MTO)` route **does not** work unless another route is selected - as well. This is because Odoo needs to know how to replenish the product when an order is placed - for it (buy or manufacture it). + The :guilabel:`Replenish on Order (MTO)` route does not work if the :guilabel:`Purchase` route is + enabled. To ensure the product is configured for manufacturing, make sure the checkbox next to + the :guilabel:`Purchase` route is not selected. .. image:: mto/select-routes.png :align: center @@ -108,6 +93,8 @@ so, click the :guilabel:`Bill of Materials` smart button at the top of the scree For a full overview of |BOM| creation, see the documentation on :doc:`bills of materials <../../../manufacturing/basic_setup/bill_configuration>`. +.. _inventory/mto/replenish-mto-product: + Replenish using MTO =================== @@ -147,13 +134,15 @@ Finally, click the :guilabel:`Delivery` smart button at the top of the order to order. Once the products have been shipped to the customer, click :guilabel:`Validate` to confirm the delivery. -Cancelling an SO with an MTO product ------------------------------------- +.. _inventory/mto/cancel-mto-sales-order: -When a |SO| is cancelled, and it had created an |RFQ| or |MO|, the related delivery order is -cancelled automatically. However, the |RFQ| or |MO| themselves are **not** cancelled. Instead, a -warning appears in their chatter noting the |SO| cancellation. These documents remain active, so the -user can either cancel them manually or repurpose the replenishment for another order. +Cancel an MTO sales order +========================= + +When a |SO| that had created an |RFQ| or |MO| is canceled, the related delivery order is canceled +automatically. However, the |RFQ| or |MO| themselves are **not** canceled. Instead, a warning +appears in their chatter noting the |SO| cancellation. These documents remain active, so the user +can either cancel them manually or repurpose the replenishment for another order. .. seealso:: For information on workflows that include the |MTO| route, see the following documentation: diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/archived-filter.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/archived-filter.png deleted file mode 100644 index 7b2439d3ea..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/archived-filter.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/mto-setting.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/mto-setting.png new file mode 100644 index 0000000000..950d36869f Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/mto-setting.png differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/unarchive-button.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/unarchive-button.png deleted file mode 100644 index 4480460fcc..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto/unarchive-button.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst index 51fc61a932..481abfe0d0 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst @@ -81,8 +81,8 @@ MTO ~~~ To replenish products using the make-to-order method, go to the product form and ensure the -:ref:`MTO route is unarchived `, so it appears in the -:guilabel:`Routes` section of the :guilabel:`Inventory` tab. +:ref:`MTO route is unarchived `, so it appears in the :guilabel:`Routes` +section of the :guilabel:`Inventory` tab. With the resupply and |MTO| routes ticked, jump to the section titled: :ref:`Replenish from another warehouse `.