Leo Tran Manufacturing Published: 5/16/20 Hits: 647


The requirements scheduler is the calculation engine which plans and prioritises production and purchasing automatically according to the rules defined on products. By default, the scheduler is set to run once a day (Odoo ERPOnline automatically creates a Scheduled Action for this). You can also start the scheduler manually from the menu Warehouse > Schedulers > Run Schedulers. The scheduler uses all the relevant parameters defined for products, suppliers and the company to determine the priorities between the different production orders, deliveries and supplier purchases

You can set the starting time of the scheduler by modifying the corresponding action in the menu Settings > Technical > Automation > Scheduled Actions. Modify the Run mrp Scheduler configuration document.

stock cron

Configuring the Start Time to Calculate Requirements

Scheduling only validates procurements that are confirmed but not yet started. These procurement reservations will themselves start production, tasks or purchases depending on the configuration of the requested product.

You take into account the priority of operations when starting reservations and procurements. Urgent requests, those with a date in the past, or requests with a date earlier than the others will be started first. In case there are not enough products in stock to satisfy all the requests, you can be sure that the most urgent requests will be produced first.


In Odoo ERPOnline, you can plan the production in an easy way. Simply by going to Manufacturing > Planning, you can plan manufacturing orders, work orders and/or work centers.

By clicking Order Planning in the Planning menu, a calendar view will open in which you can select a day to create the order whenever you want. You will also see the already planned orders. By dragging and dropping a manufacturing order in Calendar view, you can change the starting date of the order

mo plan

Planning Manufacturing Orders

When you click in a day in the Calendar view, an empty manufacturing order window will open and let you choose which product you want to produce.

newmo plan 

New Manufacturing Order

Scheduler and Just in Time

When you want to work according to the Just in Time way, you should install the module mrp_jit.

If you install this module, you will not have to run the regular procurement scheduler anymore (but you still need to run the minimum order point rule scheduler, or for example let it run daily.)

All procurement orders will be processed immediately, which could in some cases entail a small performance impact.

It may also increase your stock size because products are reserved as soon as possible and the scheduler time range is not taken into account anymore. In that case, you can no longer use priorities for the different picking orders.

Lead times

All procurement operations (that is, the requirement for both production orders and purchase orders) are automatically calculated by the scheduler. But more than just creating each order, Odoo ERPOnline plans the timing of each step. A planned date calculated by the system can be found on each order document.

To organize the whole chain of manufacturing and procurement, Odoo ERPOnline bases everything on the delivery date promised to the customer. This is given by the date of the confirmation in the order and the lead times shown in each product line of the order. This lead time is itself proposed automatically in the field Customer Lead Time shown in the product form. This Customer Lead Time is the difference between the time on an order and that of the delivery.

To see a calculation of the lead times, take the example of the cabinet above. Suppose that the cabinet is assembled in two steps, using the two following bills of materials.

Bill of Materials for 1 SHE100 Unit
Product CodeQuantityUnit of Measure
















Bill of Materials for 2 SIDEPAN Units
Product CodeQuantityUnit of Measure




The SIDEPAN is made from an order using the workflow shown. The WOOD002 is purchased on order and the other products are all found in stock. An order for the product SHE100 will then generate two production orders (SHE100 and SIDEPAN) then produce two purchase orders for the product WOOD002. Product WOOD002 is used in the production of both SHE100 and SIDEPAN. Set the lead times on the product forms to the following:

Lead Times
Product CodeCustomer Lead TimeManufacturing Lead TimeSupplier Lead Time


30 days

5 days




10 days




5 days

A customer order placed on the 1st January will set up the following operations and lead times:

  • Delivery SHE100: 31 January (=1st January + 30 days),
  • Manufacture SHE100: 26 January (=31 January – 5 days),
  • Manufacture SIDEPAN: 16 January (=26 January – 10 days),
  • Purchase WOOD002 (for SHE100): 21 January (=26 January – 5 days),
  • Purchase WOOD002 (for SIDEPAN): 11 January (=16 January – 5 days).

In this example, Odoo ERPOnline will propose placing two orders with the supplier of product WOOD002. Each of these orders can be for a different planned date. Before confirming these orders, the purchasing manager could group (merge) these orders into a single order.

Security Days

The scheduler will plan all operations as a function of the time configured on the products. But it is also possible to configure these factors in the company. These factors are then global to the company, whatever the product concerned may be. In the description of the company, on the Configuration tab, you find the following parameters:

  • Scheduler Range Days: all the procurement requests that are not between today and today plus the number of days specified here are not taken into account by the scheduler.
  • Manufacturing Lead Time: number of additional days needed for manufacturing,
  • Purchase Lead Time: additional days to include for all purchase orders with this supplier,
  • Security Days: number of days to deduct from a system order to cope with any problems of procurement,

The security delay for purchases is the average time between the order generated by Odoo ERPOnline and the real purchase time from the supplier by your purchasing department. This delay takes into account the order process in your company, including order negotiation time.

Take for instance the following configuration:

  • Manufacturing Lead Time : 1,
  • Purchase Lead Time : 3,
  • Security Days : 2.

The example above will then be given the following lead times:

  • Delivery SHE100: 29 January (= 1st January + 30 days – 2 days),
  • Manufacture SHE100: 23 January (= 29 January – 5 days – 1 day),
  • Manufacture SIDEPAN: 12 January (= 26 January – 10 days – 1 day),
  • Purchase WOOD002 (for SHE100): 15 January (= 26 January – 5 days – 3 days),
  • Purchase WOOD002 (for SIDEPAN): 4 January (= 12 January – 5 days – 3 days).


In normal system use, you do not need to worry about procurement orders, because they are automatically generated by Odoo ERPOnline and the user will usually work on the results of a procurement: a production order, a purchase order, a sales order and a task.

But if there are configuration problems, the system can remain blocked by a procurement without generating a corresponding document. Exception management allows you to solve possible issues.

Automating Purchasing and Replenishment

In the Product form view, you can choose between two procurement methods:

  • Make to Stock (MTS)
  • Make to Order (MTO)

These two methods will impact the way you have to configure your automatic purchasing and replenishment. For the MTS method, you will have to define Minimum Stock Rules to order products when the minimum threshold has been reached, as well as a supplier to define where to order the products. For the MTO method, you have to define a supplier for the product in order to buy new products when a sales order or a manufacturing order is confirmed.

Managing Scheduler Exceptions

In Odoo ERPOnline, you can have different procurement exceptions. An exception appears in the Procurement Exception view when the system does not know what to do with an object, such as a Manufacturing Order or a Purchase Order.

There are four types of exceptions:

  • No bill of materials defined for production: in this case you have got to create a BoM or indicate that the product can be purchased instead (change the Supply Method).
  • No supplier available for a purchase: you have to define a supplier in the Supplier tab of the product form.
  • No address defined on the supplier partner: you have to complete an address for the supplier for the product in consideration.
  • Not enough stock: you have to create a rule for automatic procurement (for example, a minimum stock rule), or manually procure it.

procurement exception

Procurement Exceptions

Some problems are just timing issues and can be automatically corrected by the system (this will be temporary exceptions).

If a product has to be ‘in stock’ but is not available in your stores, Odoo ERPOnline will make the exception as ‘temporary’ or ‘to be corrected’. The exception is temporary if the system can procure it automatically, for example, when a procurement rule has been defined for minimum stock.

When an exception is raised, you can check the configuration of your product in order to correct the misconfiguration. Then you can choose to relaunch the scheduler or you can retry to execute the action by selecting the line, and clicking the Retry button, then click Run Scheduler.

procurement fix

Correct a Procurement Exception

The exception related to the BoM definition comes from the fact that a product with a supply method set to Produce has no Bill of Materials. The system does not know how to produce this product and then raises an exception.

Manual Procurement

To procure internally, you can create a procurement order manually. Use the menu Warehouse > Schedulers > Procurement and click the Create button to do this.

mrp procurement1

Manual Procurement

The procurement order will then be responsible for calculating a proposal for automatic procurement for the product concerned. This procurement will start a task, a purchase order for the supplier or a production depending on the product configuration.

mrp procurement flow1 

Procurement Flow

It is better to encode a procurement order rather than direct purchasing or production. The procurement method has the following advantages:

  1. The form is simpler, because Odoo ERPOnline calculates the different values according to other values and defined rules: purchase date calculated from order date, default supplier, raw materials needs, selection of the most suitable bill of materials, etc.
  2. The calculation of requirements prioritises the procurements. If you encode a purchase directly, you short-circuit the planning of different procurements.

On the Product form you have shortcut button Request Procurement that lets you quickly create a new procurement order.