In Odoo 14 (released in October 2020), there is new functionality for replenishment which is intended to replace the Replenish on Order (MTO) route [more on Routes and Rules].
This seems to be based on the idea that MTO is too complicated or troublesome to use, which is odd because it’s easy to set up and generally works well (see below).
Let’s start with replenishment. It is possible to use it as a replacement for MTO, but it really depends what you want to achieve – there are some scenarios where the enhanced replenishment functionality will be the best solution, but others where it isn’t.
Don’t forget that you need to setup a vendor on the product (for both replenishment and MTO):
For replenishment to work automatically you also need re-ordering rules (so this tip might be helpful). These can be accessed from the product:
…or from the Inventory Configuration menu:
- Preferred Route should be “Buy” (but if the product only has one route that will be used).
- Trigger should be “Auto” if you want the order to be created automatically (this is the default and it is not displayed unless you select it).
- Minimum and Maximum Quantity can be specified if required
- Multiple Quantity can be specified, or defaults to 1
This is then used in replenishment.
There is another simple way to create the Reordering Rules in Odoo 14, using the Replenishment View:
If you click on “Automate Orders” a reordering rule will be created.
Let’s place a Sales Order to see what happens:
You might notice the “graph” icon” next to the quantity delivered. If you click on it, you will get more information and a link to the forecast:
This is the forecast:
As this is a simple example there isn’t much information, but you should see that Odoo has created a draft PO (RFQ). There isn’t a link, but you can navigate to the Purchase app and find it:
The Source Document is the Re-ordering Rule, the product and quantity match what was on the sales order.
Note that if there is an existing RFQ for this product (and vendor), the quantity will be increased (and a new RFQ will not be created). This may not be what you want for MTO, and it seems that it cannot be changed (whereas it can be configured for MTO).
After you confirm the RFQ the forecast is updated and now there is a link
After the goods are received they will be reserved, and you can ship the goods and confirm the Delivery Order:
That’s a very simple example, and is designed to show how it works as a replacement for MTO rather than the power of using replenishment as a strategy.
If you don’t create Reordering Rules (or want to do this manually, you can also create the RFQ manually from the Replenishment View:
Click on “Order Once” and an RFQ will be created
Doing it this way there is a link to the RFQ shown in the top right corner of the screen
Note: it’s important to understand that replenishment is a “soft” link between the demand and supply, and it’s possible to re-allocate the goods to a different Sales Order / Delivery Order. This certainly provides more flexibility, but it’s also different from MTO.
Give me back my MTO
Fortunately it’s easy to re-activate the old MTO route:
Start by navigating to Inventory / Configuration / (Warehouse Management) / Routes
Now selects “Archived” in Filters
You should see the Replenish on Order (MTO) route:
Select this route and you should see that it is archived:
Click on “Unarchive” under Action and it will be reactivated. Now you should see these three routes (and probably some others).
MTO in Odoo 14
MTO seems to have been improved in Odoo 14. That might seem strange, but this will also apply to Drop Shipments, which are effectively a combination of “MTO” and “Buy” with the goods shipped direct to the customer.
Here’s an example of a confirmed Sales Order (for an item with routes MTO & Buy and a vendor defined):
Note that in the top right corner there is now a “Smart Button” showing the linked Purchase Order (actually an RFQ):
In the top right corner there is another “Smart Button” showing the linked Sales Order. Previously the “source document” was shown, but without a link, so this is a clear improvement.
Isn’t that easier than replenishment? But it really depends what you want to achieve!