Manufacturing Order and Costing in OpenERP/Odoo

The current manufacturing module of Odoo has certain missing features-

1. We don’t have configuration for multiple Raw Material Location
2. Issuing products to Production (Semi-finished) location is missing
3. Cannot select another BOM for Manufacturing Order created automatically from Sales Order
4. There is no track of Estimated and Actual Cost
5. No field to track total cost of production

In order to enable creation of Manufacturing Order from Sales Order and also automatic generation of Purchase Requisition for raw materials, the configuration steps is as follows. Also, to achieve the above listed advanced features customization have been done. Here are the steps

  1. Finished Product Configuration– The product is defined as “Stockable”. Costing method should be set to Standard (so that the accounting impact pulls the price from Manufacturing Order). Select routes as Make to Order and Manufacture.
  2.  Raw Material Product Configuration– The product should be set to “Stockable” if stock management is required else set to “Consumables”. Costing method should be set to Average (we are assuming here that raw materials will always be bought from Supplier). Select routes as Make to Order and Buy. Default Raw Material location of this product can also be configured under Inventory tab.

    Raw Material Location Configuration
    Raw Material Location Configuration
  3.  Bill of Material Configuration– Goto Manufacturing -> Products -> Bill of Materials in order to define BOM for every product.
  4. Routing Configuration– Next, we define different operations through which the raw materials will go through. We also specify default Raw Materials and Finished Products Location. Make sure right Semi Finished Location is also selected. Once routing is defined we attach it to BOM. Here, we have customized to allow users to add default Raw Material and Finished Product Location so that when Manufacturing Order gets created it pulls the location from here.

    Configuring Finished Product location
    Routing Configuration
  5. Estimating Cost– A new button is provided in Sales Quotation. Based on this estimated cost salesman adds profit margin to get the final sale price of the order.
    Estimating Cost
    Manufacturing Cost Estimation

    On clicking, system automatically pulls 2 things-

      • Raw Materials defined in BOM and
      • Operations defined in Routing

    The subtotal and quantity comes from these configurations. User can click on green button to change the quantity (no. of hours) of an operation. The subtotal and total estimated cost gets adjusted accordingly.

    Estimated Cost
    Estimated Cost
  6. Fetching Estimated Cost in Quotation Line– A button is provided in quotation line as shown below
    Fetching Estimated Cost
    Fetching Estimated Cost

    When the button is clicked then it asks for Profit Margin and accordingly updates the unit price of the quotation line

    Add profit margin to estimated cost
    Add profit margin to estimated cost

    The price has been updated-

    Updating Estimated Price
    Updating Estimated Price
  7. Manufacturing Order– Finally, when the quotation is converted to order then automatically manufacturing order gets created.At this stage, Delivery Order shows Waiting Another Operation as MO needs to be completed
    Delivery Order Waiting Another Operation
    Delivery Order Waiting Another Operation

    MO created is in draft state so that user can verify all the details before confirming it. Also, a product can have multiple BOM so make sure right one is selected.

    Manufacturing Order in draft state
    Manufacturing Order in draft state

    (a) Buying of Raw Material

    After MO is confirmed, then click on Check Availability to automatically raise Purchase Requisition against the supplier configured in Product Master. If the raw material is already there in stock then click on Force Reservation button as shown in the following diagram

    Buying Raw Material
    Buying Raw Material

    Purchase Requisition gets created. The system smartly merges all products into one which is being bought from one supplier and coming into same Raw Material location. The full workflow is followed and we receive all raw materials.

    (b) Issuing Raw Materials to Work in Process locations

    Before we purchase raw materials, the Issue Products tab shows products in red. But once the product is purchased and available in stock then the color changes to black. Here, the stock move created pulls source location from the Raw Material Location field configured in Product Master. This way each material can have different source location.

    (b)Issuing Raw Materials to Work in Process locations
    Issue Raw Materials to Work in Process locations

    We then click on green button to issue them to Work in Process location

    Raw Materials Issued to Work in Process location
    Raw Materials Issued to Work in Process location

    (c) Start Production

    Click on Mark as Started button on the header to start production. This will generate costing of BOM in cost breakdown tab.

    Start Production
    Start Production

    Cost Breakdown tab lists actual raw material costing

    Actual Cost Breakdown
    Actual Cost Breakdown

    (d) Process Work Orders

    Work Orders tab lists all the operations defined in Routing. Number of Hours field is editable so that user can enter the actual no. of hours spent on each operation. As each work order is completed, Cost Breakdown tab lists the actual costing.

    Actual Cost Breakdown showing Work Center Operations
    Actual Cost Breakdown

    (e) Finally when all the work orders are completed then we hit Finish Production. Total cost field shows the actual costing of the product

    Finish Production
    Finish Production

    The MO state now shows Done. The delivery order state also changes to Ready to Transfer

    Delivery order changes to Ready to Transfer
    Delivery order changes to Ready to Transfer
  8. Delivery Order–  Finally we transfer the finished product to our customer by clicking on Transfer button.

42 thoughts on “Manufacturing Order and Costing in OpenERP/Odoo

      1. rene

        is it possible to implement the procedure in this article without the “customized module”? if not, how can i obtain it? please advise, thank you.

  1. GH

    Can you let me know if the cost of products flows through in the accounting module as well. I have been trying to install odoo for a beverage company that makes their beverage in stages. When I use a BOM and Manufacturing orders, the cost don’t seem to follow the production. So when I look at my balance sheet at various stages of production, the Raw Materials cost don’t follow to WIP and then to Finished Goods. And upon sale the cost don’t flow to Cost of Goods sold. In one of your prior post, you seemed to move the cost of the manufactured from Raw Materials to WIP to Finished Goods through the use of a corresponding stock journal, using, I presume, a separate entry system.

    1. Yes with proper configuration the cost follows. Odoo picks up Stock Valuation account from product category. So, make sure your raw material and finished goods are linked to right category.

      Secondly, your work in process location should be of type Production where you can configure Stock Valuation Account (Incoming and Outgoing).

      If you are still facing problem we can talk on Skype. My ID is aasim.ansari

  2. John condon

    I am testing odoo as a replacement for Netsuite and just started working with the BOM, would it be possible to get a copy of your script….

    Thank you in advance .


  3. Hi aasimansari.

    Thanks for the info and for your time.

    I’m looking for information, to obtain the real cost of production in Odoo 8.

    That is why I found your blog.

    I would like to test your module. If you would be so kind as to provide it. Or, tell me as I can get.

    I appreciate your time and support.

    Thanks in advance.

    Best regards.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s