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 d33e3a9707..34b3275298 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 @@ -11,18 +11,27 @@ Replenish on order (MTO) .. |BOM| replace:: :abbr:`BOM (bill of materials)` *Replenish on order*, also known as *MTO* (make to order), is a replenishment strategy that creates -a draft order for a product every time it is required to fulfill a sales order (SO), or when it is -needed as a component in a manufacturing order (MO). +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 products that are purchased from a vendor, a request for quotation (RFQ) is created to replenish -the product, while an |MO| is created for products that are manufactured. The creation of an |RFQ| -or |MO| occurs every time an |SO| or |MO| that requires the product is confirmed, regardless of the -current stock level of the product being ordered. +- For :doc:`purchased products <../../../purchase/manage_deals/rfq>`, Odoo creates a |RFQ| +- For :doc:`manufactured products + <../../../manufacturing/basic_setup/configure_manufacturing_product>`, it creates a |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. + +This approach offers clear traceability, since each |RFQ| or |MO| is tied back to its demand. .. important:: - 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. + 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. + +.. note:: + If an |RFQ| or |MO| is cancelled, 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. @@ -31,6 +40,10 @@ current stock level of the product being ordered. Unarchive MTO route =================== +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. + 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. @@ -121,10 +134,11 @@ Click :guilabel:`Confirm`, and the quotation is turned into an |SO|. A :guilabel:`Purchase` smart button now appears at the top of the page. Clicking it opens the |RFQ| associated with the |SO|. -Click :guilabel:`Confirm Order` to confirm the |RFQ|, and turn it into a |PO|. A purple -:guilabel:`Receive Products` button now appears above the |PO|. Once the products are received, -click :guilabel:`Receive Products` to open the receipt order, and click :guilabel:`Validate` to -enter the products into inventory. +After receiving approval from the vendor that they can meet the demand by the :guilabel:`Expected +Arrival` date, click :guilabel:`Confirm Order` to turn it into a |PO|. A purple :guilabel:`Receive +Products` button now appears above the |PO|. Once the products are received, click +:guilabel:`Receive Products` to open the receipt order, and click :guilabel:`Validate` to enter the +products into inventory. Return to the |SO| by clicking the :guilabel:`SO` breadcrumb, or by navigating to :menuselection:`Sales app --> Orders --> Orders`, and selecting the|SO|. @@ -133,6 +147,14 @@ 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 +------------------------------------ + +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. + .. seealso:: For information on workflows that include the |MTO| route, see the following documentation: