Replenish on order (MTO)

Replenish on order, also known as MTO (make to order), is a replenishment strategy that creates a draft order every time a product is needed to fulfill a sales order (SO) or as a component in a manufacturing order (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

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 Save to save the change.

Unarchive MTO route

In order to use the MTO route, the Multi-Step Routes feature must be enabled. To do so, navigate to Inventory app ‣ Configuration ‣ Settings, and tick the checkbox next to Multi-Step Routes, under the 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.

To do so, begin by navigating to Inventory app ‣ Configuration ‣ Routes. On the Routes page, click the (down arrow) icon on the right side of the search bar, and click the Archived filter to enable it.

The archived filter on the Routes page.

After enabling the Archived filter, the Routes page shows all routes which are currently archived. Tick the checkbox next to Replenish on Order (MTO), then click the Actions button to reveal a drop-down menu. From the drop-down menu, select Unarchive.

The unarchive action on the Routes page.

Finally, remove the Archived filter from the search bar. The Routes page now shows all unarchived routes, including Replenish on Order (MTO), which is selectable on the Inventory tab of each product page.

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 Inventory app ‣ Products ‣ Products, then select an existing product, or click New to configure a new one.

On the product page, select the Inventory tab and enable the Replenish on Order (MTO) route in the Routes section, along with the Buy or Manufacture route.

Important

The 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).

Select the MTO route and a second route on the Inventory tab.

If the product is purchased from a vendor to fulfill SOs, enable the Can be Purchased checkbox under the product name. Doing so makes the Purchase tab appear alongside the other tabs below.

Click the Purchase tab and specify a Vendor and the Price they sell the product for.

Important

Specifying a vendor is essential for this workflow, because Odoo cannot generate an RFQ without knowing who the product is purchased from.

If the product is manufactured, make sure it has a bill of materials (BOM) configured for it. To do so, click the Bill of Materials smart button at the top of the screen, then click New on the Bill of Materials page to configure a new BOM for the product.

See also

For a full overview of BOM creation, see the documentation on bills of materials.

Replenish using MTO

After configuring a product to use the MTO route, a replenishment order is created for it every time an SO or MO including the product is confirmed. The type of order created depends on the second route selected in addition to MTO.

For example, if Buy was the second route selected, then a PO is created upon confirmation of an SO.

Important

When the MTO route is enabled for a product, a replenishment order is always created upon confirmation of an SO or MO. This is the case, even if there is enough stock of the product on-hand to fulfill the SO, without buying or manufacturing additional units of it.

While the MTO route can be used in unison with the Buy or Manufacture routes, the Buy route is used as the example for this workflow. Begin by navigating to the Sales app, then click New, which opens a blank quotation form.

On the blank quotation form, add a Customer. Then, click Add a product under the Order Lines tab, and enter a product configured to use the MTO and Buy routes. Click Confirm, and the quotation is turned into an SO.

A Purchase smart button now appears at the top of the page. Clicking it opens the RFQ associated with the SO.

After receiving approval from the vendor that they can meet the demand by the Expected Arrival date, click Confirm Order to turn it into a PO. A purple Receive Products button now appears above the PO. Once the products are received, click Receive Products to open the receipt order, and click Validate to enter the products into inventory.

Return to the SO by clicking the SO breadcrumb, or by navigating to Sales app ‣ Orders ‣ Orders, and selecting the|SO|.

Finally, click the Delivery smart button at the top of the order to open the delivery order. Once the products have been shipped to the customer, click 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.

See also

For information on workflows that include the MTO route, see the following documentation: