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!

Tuesday, 29 May 2012

OpenERP Product Configuration.

*Product is a heart of ERP, If our product configuration is wrong then every thing will becoming wrong and we can not succeed to our flow.

 Let's discuss about the OpenERP

In OpenERP we have lot's business application like sale, purchase, manufacturing, accounting, warehouse etc.... All this business application product are mainly related to it.

Now, I have to start with product configuration and describe the different flow according different configuration.

 We have categorized a product with three different way:

1) Product Type.

2) Procure Method

3) Supply Method.

*Product Type:

:- Stockable:  That type of product which can be a stock i.e. Computer,  Furniture.etc..

:-Consumable: That can not be a stock for long time which can be stock for only some time duration. i.e Fruit and all food things..

:- Service: This type of product which can not be a stock as well as produce by the man power(human)

* Procure Method:

:- Make to Stock: We always take care about the stock and we have to define a minimum stock rule for that. If we don't have enough stock then we must assign a minimum stock rule for that according to this rule it will creates a quotation (purchase order).

:-Make to Order: We never take care about the stock for this procure method because this procure method will creates a Purchase order same as a Sale order's quantity.

Let's differentiate both of the method, If I have created a Sale order for "Make to Stock" type of product then first it checks the stock from the product's virtual stock. If there is not stock available then it will going to check the "Minimum Stock Rule" for that and created a PO based on this rule.

If the procure method " Make to order", it doesn't check the stock and created a Purchase order same quantity as sale order (I mean "make to order" never take care about the stock) just like trading. 

*Supply Method:
:- Buy : If you want to buy a product from any supplier then you have to set a supply method='Buy' for your product

:- Produce: If you are self manufacturing company and manufacture a product at your company then you have to chose/select supply method ='Produce'

Now Let see How many configuration will become.

1) Stockable/Consumable:
    Make to Order :

:- Your Sale order will create a purchase order same quantity of your Sale order (You must define a supplier on product form).

2) Stockable/Consumable:
    Make to Stock :

 :- Your Sale order first check your warehouse 's stock, If your stock has available quantity for your sale order quantity then your product deduct from your warehouse and doesn't create a purchase order.

:-If enough quantity is not available then you must have to create a "Minimum stock rule" for this product and create a purchase order as per this rule (You must define a supplier on product form).

3) Stockable/Consumable:
    Make to Order :
:- Your Sale order will create a Manufacturing order same quantity of your Sale order.

4) Stockable/Consumable:
    Make to Stock :

 :- Your Sale order first check your warehouse 's stock, If your stock has available quantity for your sale order quantity then your product deduct from your warehouse and doesn't create a Manufacturing order.

:-If enough quantity is not available then you must have to create a "Minimum stock rule" for this product and create a Manufacturing order as per this rule.

5) Service Type:
  Make to Order:

 Your Sale order will create a task same hours(uom) of your Sale order's product 's hour (uom).

Note: We can not set Service Type product as a "Make to stock", because we can not store the service.

Thanks for reading!