Enable Dark Mode!
By: Shabna P

Product costing method in Odoo 13

Odoo 13 Warehouse Purchase Sales

Using inventory valuation the company can determine the monetary value of products in the warehouse. The value of estimated inventory will affect the cost of goods sold, net profit, gross income, working capital, current asset etc.

The product costing methods come under inventory evaluation. There are mainly three costing methods in Odoo.

1.Standard Price

2.Average Cost (AVCO)

3.First In First Out (FIFO)

Standard Price

Standard price is cost defined on the product form. If the costing method is not chosen in the inventory valuation, it comes under the default method, standard price. The cost of the product may be different from the purchase price on the product form, which is used for inventory valuation. In this method, product price can be changed manually irrespective of  inventory valuation method

Firstly, create a product category with the costing method standard price.

Inventory > configuration > product > Product categories. 

There you can find all the existing product categories. One can either edit and use them or can create a new one by clicking CREATE. Here the costing method is standard. And inventory valuation methods can be manual or automated. If automated is chosen, there is a necessary condition. ie. beneath the Properties of Account Stock the entry for ‘stock input account’,’ stock output account‘ and ‘stock valuation accounts’ are inevitable.


Next step is to create a product with a created product category. Two products are created, one with inventory valuation method manual and other with inventory valuation method automated under standard costing method.


The sales price assigned and cost updated for both products.


Now go to the sales module and create a sale order for the products.


During its sales, the price can be changed. The product can be sold at a higher/lesser price than the cost.

Now go to the inventory module and check how this affects the inventory valuation, 

Inventory > Reporting > inventory report

Those products under automated inventory valuation are shown. For 100 units of product, the inventory value is shown, 5000 which means it doesn’t take the purchase amount instead of still considering inventory value. So I need to apply changes manually. 


This is the same as we are purchasing and updating quantities on hand and price. Hence this method is not dynamic.

Average Cost (AVCO)

The average cost is another costing method in which average is computed at every time when the quantity is updated. The cost varies on the basis of total quantity and purchase price. We do not need to change cost here, inventory cost will be dynamically calculated on the basis of the following equation: 

Average Cost = ( Former Quantity * Former Average Cost + Incoming Quantity * Purchase price) / Final quantity.

Create a product category with costing method Average Cost (AVCO).


Now create a product with a product category having the costing method average cost.

Thus the product cost is 0.


Now create a purchase order for 10 units of products with 20 rs /- each.


After receiving and validating the order check on the product cost, you can see the cost is changed to 20.

Here, Average cost = (10*20)/10 =20


Let’s create another purchase order for 5 units of products and price 12 rs/-.


After receiving and validating the order, check againthe product cost.


You can see the cost again changes to 17.33 rs/-.

Here, Average cost =[ (10*20) + (5*12) ] /15 =17.33

Now check the changes in the inventory. The inventory value is updated on the basis of cost.


First In First Out (FIFO)

First In First Out costing method provides a more real-time cost. The products are removed from the warehouse either in a First In First Out (FIFO) or Last In First Out (LIFO) strategy. By default removal strategy is  FIFO.

Suppose 10 products with 25 rs/- are purchased, later 20 products with 30 rs/- purchased and then 4 products are sold. Thus the sold item will be from the first purchased set i.e, the product having 25 rs/-. The removal strategy here used is those products purchased first will be sold first.

Thus the inventory value will be [ (6*25) + (20*30) ] = 750

The cost price will not change until the product is completely sold

To demonstrate this let’s create a product category with costing method ‘First In First Out’ and removal strategy Last In First Out (LIFO).


Now create a product with the above-created product category.


The cost, as well as on-hand quantity, is 0.Under inventory tab Routes select as ‘Buy’ 


Now create two purchase orders. First-order for 10 products with 20 rs/- second order for 5 products with 10 rs/-.

Creating a first purchase order


After the first PO, the inventory value for 10 products is 200.


Now the on-hand quantity is updated to 10 but the cost price still remains the same.


Create a second purchase order of 5 products with 10 rs/-.


Now check the inventory value. The inventory value changed to 250 for 15 products.


Inventory value found as [ (10*20) + (5*10) ] 

Stil,l the cost remains the same and the on-hand quantity is 15 units now. The cost changes only when products are removing/selling from the inventory. 

To understand this, go to the sales module and create a sale order for 4 units of products. 

The 4 units of products sold from the last 5 products (since removal strategy is LIFO) so the cost updated to 10 rs /-.


If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message