Saturday, 26 September 2015

Odoo(OpenERP) Procurement Behavior

Hello Guys,

There are many question about procurement behaviour in Odoo(OpenERP) like
how its generated and run? or what will be the effect when run the automated order-point with scheduler if virtual stock or real stock has been 0.0? or when any order has been created automatically(PO/MO) on system How does it effected to the virtual(Quantity available) and real stock(Quantity on head)?
Today I am going to cover the many of these answer as per my 5 years of knowledge with Odoo

Here it is,
we will cover all this points and also cover the scheduler with stock calculation for stock forecast and stock on hand which play a key roles on warehouse management.

As on my last post, we seen products procurement methods of Odoo(OpenERP).

When Procurement method is "Make to Order" then we don't care about the stock, It will automatic generate the Purchase order same as sales order's quantity (make sure that supplier assigned on product form , If many supplier assigned then less sequence supplier has been used).

What is procurement order???

On simple words when such kind of stock transfer(movement) generated from one order to another order then how we can link to each other?  that's the procurement which helps to link both the orders(SO/PO/MO)

Lets say in other words, Procurement is link the 2 different order which transfer the stock from one location to another location.
It can be for Sale order to purchase order, Sale Order to Manufacturing Order,  Manufacturing order to purchase order.

When Procurement method is "Make to Order", That means we doesn't maintain the stock on our warehouse(Like Drop-shipping Process).
When this type of industry we required only that much product which  has been ordered by the customer(because don't need to stock of these products) , in this case product has been purchase/produce(depends on supply method) same time from the supplier and then send to customer.So when user has been confirmed the sales order at that time procurement will be created same quantity as sale order quantity and when this procurement order has been run it will create the purchase order or production order for the same quantity (take the quantity and product from the sale order line and used on  procurement order please note that single procurement order has been created for each sales order line).
It's pretty simple behaviour.

What happen when procurement method is "Make to stock" and products not available on stock?

This is an example of the trading company who stored the product on warehouse and sell the product based on customer needs. On this situation  there will be a possibility that sometimes not enough stock in the warehouse, Still customer can able to place the order, So company won't loss any customer or any business .
How it can be handle easily? like how to managed the alerts when we have stock below some stock.
Managing this kind of situation reordering rules(minimum stock rules) comes in picture.

What is reordering rules(minimum stock rules)? 

Reordering rules is used for the stock alerts and fill up the automated stock in warehouse once a stock goes below with desired condition, as per above scenario users want to know when any products required in warehouse with automated process . So for that product's users can able to configure the reordering rules in Odoo(OpenERP) very easily.

Go to the product click on "Reordering rules" smart button and enter the specific condition like minimum quantity,max qty etc.. so when virtual stock will goes below then this minimum quantity procurement will generated automatically to satisfied the maximum quantity in warehouse(for assigned the stock location on reordering rules).

What is the virtual stock (in Odoo terms its Quantity Available ) and real stock(odoo terms its Quantity On Hand).

Here is the formula.
Real Stock :-Incoming stock move (only Done state)-Outgoing stock move(only Done state)
Virtual stock :- Incoming stock move (Waiting and Available State) - Outgoing stock move(Waiting and Available State) + real stock

Or simple words
Virtual stock :- Incoming stock move(except the New and Cancel state) -outgoing stock move(except the New and Cancel state)

Reordering rules has been run and compare the minimum quantity and Quantity available, if this condition satisfied it will create a procurements to set the Quantity available same as maximum quantity .

see the screen shots.

Product iMac has quantity available is 17 . I have created the reordering rules as min qty=10 , max qty = 50.

Create quotation for the 8 quantity  and confirm it.

Once user confirm this order it will automatically creates the procurement for deliver that goods to the customer (Delivery order).

And quantity available become 9(17-8) Units , So this will satisfied the condition for the minimum qty assinged on reorder rules(10>9).

After this either we can run the scheduler or compute the stock minimum rules only (other option to install procurement_jit) which will check the reordering rules and generate the procurement based on it.

Go to the Warehouse/Schedulers/Compute stock minimum rules.

After running this it will create new procurement as follow for 41 unit of iMac.

Here is the calculation maximum qty =50 and Quantity available=9, So 41 quantity will be required to set the maximum qty on warehouse's stock location(50-9).

Due to this it will creates the procurement for the 41 qty and procurement generated with the exception state because I didn't install the "Purchase" module on database. If its installed on the database then procurement will run and creates the draft Purchase order(RFQ) for the assigned supplier on the product form.

This works same for generate the production order, we have to assign the manufacture routes on product level and make the bill of material for that.

Hope this can helps to the Odoo Users, If any question you can ask it on comment. I will try to answer my best!

Thank You!


  1. On the ERP under the products tab. Is there any way to show the min & max without going into the Orderpoints screen? We dont want email notification, I want to be able to see the Quantity on hand and compare it to the min & max quantity, so I know when to go ahead and order products. I am looking for a quick reference.

    1. It required the customization, If you want we can able to do that, please contact me on skype : amit.parik or email . We can communicate further about this.

  2. Hi Amit!
    I like your explanation, thank you. I was suspecting this logic, but here it is summarized very well.
    I might write you reg. a unique process we have.

  3. We have loaded around 30000+ item into odoo the assess the procurement work flow.

    We found that with the item set to “Buy” all operated well except for time taken for the scheduler to complete and and generate the request for quotation (draft purchase order) several hours.

    We require this process to happen immediately as it does with “make to order” route (this unfortunately does not take into account any stock)

    Q: Is there any way that on confirmation of sales order, odoo runs the reorder scheduler only those line items on that sales order, this would speed up the whole process.

  4. Hi, Amazing job!!
    I have 1 question, what happens if 1 make 2 rules for the same warehouse and location with different values?

    Thanks in advance,

  5. Hai Author Good Information that i found here,do not stop sharing and Please keep updating us..... Thanks. Odoo Development Company, Hire odoo Developers