This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Scheduling Procurements

The master production plan, sometimes called the MPS (Master Production Schedule), enables you to generate forecasts for incoming and outgoing material. It is based on forecasts of inputs and outputs by the logistics manager.

To be able to use the production plan, you must install the stock_planning module.


MPS, Procurement and Production

OpenERP distinguishes between Production, Purchase and Procurement.

Production is manufacturing, Purchase is the acquisition of goods from another party, and Procurement is either one or both of those. So it would be better to call the MPS the Master Procurement Schedule. Which OpenERP does!


Product Trading

Also called the Production Plan, this tool is also very useful for traded products which are not manufactured. You can use it for stock management with purchased and manufactured products.

Processing Exceptions

The set of stock requirements is generated by procurement orders.

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

If there should be configuration problems, the system can remain blocked by a procurement without generating a corresponding document. For example, suppose that you configure a product Procurement Method as Make to Order, and Supply Method as Produce, but you have not defined the bill of materials. In that case, procurement of the product will stay blocked in an exception state No Bill of Materials defined for this product. You then have to create a bill of materials to solve the problem.


  • No bill of materials defined for production: you need to create a BoM or indicate that the product can be purchased instead.

  • 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 default supplier for the product concerned.

  • No quantity available in stock: you have to create a rule for automatic procurement (for example, a minimum stock rule) and put it in the order, or manually procure it.

Some problems are just those of timing and can be automatically corrected by the system.

Use the menu Warehouse ‣ Schedulers ‣ Procurement Exceptions to see all the exceptions.

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


Example of a Procurement in Exception

If no procurement rule is defined, the exception has to be corrected manually by the user. Once the exception is corrected, you can restart by clicking Retry. If you do not do that, OpenERP will automatically recalculate on the next automated requirements calculation.

Manual Procurement

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


Encoding a New Procurement Order

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.


Workflow for Handling a Procurement according to Product Configuration

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

  • The form is simpler because OpenERP calculates the different values from 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.

  • 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 an ACTIONS shortcut button Create Procurements that lets you quickly create a new procurement order.

Sales Forecasts

The first thing you have to do to work with a production plan is define the periods for stock management. Some companies plan daily, others weekly or monthly.


Stock Management Interval

The interval chosen for managing stock in the production plan will depend on the length of your production cycle. You generally work daily, weekly or monthly.

If it takes several days to assemble your products, you most likely will define a weekly plan. If your manufacturing cycles take several months, you can work with a monthly plan.

To predefine these periods you can use the Stock and Sales Planning Periods that will automatically generate daily, weekly or monthly periods.


Stock and Sales Planning Periods

Go to the menu Sales ‣ Configuration ‣ Stock and Sales Periods ‣ Create Stock and Sales Periods. A window appears enabling you to automatically define the next periods that will be provided for stock management. For this example, create weekly periods.


Defining Periods for Stock Management

Salespeople can then enter their sales forecasts by product and by period using the menu Sales ‣ Sales Forecasts ‣ Sales Forecasts. The forecasts can be made by quantity or by value. For a forecast by amount, OpenERP automatically calculates the quantity equivalent to the estimated amount. This can be modified manually as needed before completion. A salesperson can create sales forecasts manually, or he can use the Create Sales Forecasts wizard in the above menu.


Sales Forecast to Help Create a Master Production Plan

Production Plan

The manager responsible for logistics then plans receipts (manufacturing or purchases) and outgoings (consumption or customer deliveries) by period. From the menu Warehouse ‣ Stock Planning ‣ Create Stock Planning Lines, you can create a stock planning per week for a specific product category. Through Warehouse ‣ Stock Planning ‣ Master Procurement Schedule you can adjust the planning.

For each period and product, OpenERP gives you the following information:

  • Stock estimated at the end of the period, calculated as stock in the following period less the total estimated outgoings plus total estimated inputs,

  • Closed entries, coming from production or confirmed purchases,

  • Forecast inputs for the period, calculated using the incoming entries less the closing amounts,

  • Planned inputs entered manually by the logistics manager,

  • Closed outgoings which are the consumption of manufacturing waiting and deliveries to be made to customers,

  • Forecast outgoings, calculated from the planned outgoings, less the closing amounts,

  • Planned outgoings, manually entered by the logistics manager,

  • Sales forecasts, which represent the sum of forecasts made by the salespeople.


The Master Production Schedule (MPS)

The production plan enables the logistics manager to play with the forecast receipts and outgoings and test the impact on the future stock for the product concerned. It enables you, for example, to check that the stock does not fall below a certain level for that product.

You can also open the production plan for past periods. In this case, OpenERP shows you the real stock moves, by period for forecast reports.

If you do not have automated procurement rules for a product, you can start procurement at any time based on the estimates of the production plan. To do this, press the button Procure Incoming Left (i.e. remaining) on the Master Procurement Schedule. OpenERP plans procurement for an amount equal to the entries forecast.