Inventory Valuation - moving from Manual (periodic) to Automated (real time) - process / best practices?

In 2019 we did a full Inventory Count and had, at that time, $41,110 worth of Inventory on our Balance Sheet.

We would like to switch to automated inventory valuation, complete cycle counts going forward, and have Odoo automatically calculate Cost of Revenue (COGS) each month.

What is the best way to transition - financially and operationally?

Do we do another full inventory to bring Odoo up to date with our current quantities and unit costs per product?

What kind of Journal Entry needs to be recorded prior to the adjustment?

What kind of Journal Entry needs to be recorded after the adjustment?

Is there anything else we need to do prior to, during, and after the adjustment?

Best Answer

With automated (real-time) valuation, Odoo will increase the value of your Balance Sheet when products enter your warehouse (via purchases or customer returns) and will decrease the value of your Balance Sheet when products leave your warehouse (via deliveries or vendor returns).

If you manufacture, decreases will happen when you consume raw materials inventory and increases will happen when you complete a production order to make finished goods.

Inventory adjustments are made when you want to true up your Balance Sheet to account for, normally, decreases that aren't detected until you count your inventory - such as waste; damage; theft; write-downs, and internal use - although are ways for recording some of these (waste/damage) during existing inventory transactions or (internal use) with new transactions.

When you are changing inventory valuation methods, you will be resetting your inventory valuation, and the easiest way to do this is to start over. You then load into Odoo your Inventory based on current counts and cost prices, to arrive at a correct overall balance. You journal adjustments to cost of goods (if the new inventory balance is lower) or expense accounts (if the new inventory balance is higher) to manage the financial implications of your new inventory balance.

Version 13:

Note: This process is for advanced users and should be tested in a duplicate of your database before being done in your production environment.

Odoo and Odoo Partners are available to help you.  Please contact us to further explain any of these steps and/or to perform this entire process for you.




Transitioning from manual to automated Inventory valuation:

Conceptual Steps:

  • Create an Inventory Adjustment account, if you don’t already have one. 

Note: You want to book adjustment entries (representing the gain and/or loss of inventory asset value during counting moving forward) to this account (normally other income - although you would normally consider this a clearing account since you then would reclass balances as you review the reasons for the adjustment).  In some cases it may affect the Cost of Goods, in others, it may affect expenses due to loss of value (write-downs or write-offs), shrinkage, damage, waste, etc.

  • Reclass your 2019 Inventory Balance to Inventory Loss.

  • Zero out your Inventory in the Warehouse

  • Count, value, and adjust in a new Inventory Balance based on current quantities and current prices.

  • Reclass any difference between the two amounts – a positive amount (total inventory higher now than before) is a decrease in cost of goods – a negative amount (total inventory lower now than before) is an increase in cost of goods. 

Note: Cost of goods sold in this scenario is: beginning inventory – ending inventory.  If you lose inventory in the adjustment, cogs goes up and if you gain inventory, cogs goes down.

Practical Steps:

New Account:


Note: If your Balance Sheet shows $0 in Inventory, then you have done this step correctly.

Zero out your Inventory in the Warehouse:

You will be loading in product counts and values based on your physical count, so the prior inventory valuation layer (if present) will be inaccurate and needs to be reset to $0.

First, make sure all your products have a cost of $0 - you can export all products to assign them all a cost of $0 (see below).

** NOTE FOR v14 **

You would then delete existing Stock Valuation records (this wipes out product level inventory history completely). User Access Rights need to be modified to allow these records to be deleted.

** END OF NOTE  **

Then,  perform an Inventory Adjustment to get them back to 0 quantity:

Note: If your Inventory Valuation Report shows $0 and 0 quantity for every item, then you have done this step correctly.

New Inventory Balance:

Configure your Inventory Adjustment location:

Use the account you created (or already have):

Make sure Odoo has accurate costs for all products:

Export your products with "I want to update data (import-compatible export)" checked.  The default Fields to export will create a sheet you can update and bring back into Odoo:

Configure your Product Categories:

For Inventory Items, configure your Product Categories to real-time valuation and FIFO or Average cost (standard means you have to keep updating the cost based on your own calculations as often as you need - the other two methods Odoo does everything for you)

For Consumables and Expense Items, configure your Product categories to manual inventory valuation so you can expense these products at the time of posting the Vendor Bill and not have to deal with them in the Inventory Valuation at all (counts are still maintained)

Perform a full inventory count.

You can either do this in Odoo directly or by exporting, then importing, a sheet of counted products per location.

Start an Inventory Adjustment for all products and update your quantities:


If you count in Odoo, just enter the quantity you actually have in the Counted field.

If you prefer to export the Adjustment, go back and select it in the list, remember to make sure "I want to update data (import-compatible export)" is checked) when you export. Choose the following fields:

You should end up with an export that looks like this:

Go back to the Inventory adjustment and delete the lines for the products you plan to import as you can only make one adjustment per product per location:

Go back to the adjustment in the list and import the file:

Either way you end up with your adjustment:


Reclass any difference:

In this example, our count is LESS - so we are losing inventory value, so lets take a look at the Journal Entries representing the adjustment:

We see that we have “lost” $627.35 in Inventory since the end of 2019, so this represents an increase in cost of goods of this amount.  We reclass some of the Inventory Adjustment to record this:

That's it. 

Your Balance Sheet BEFORE the adjustment should look like this:

Your Balance Sheet AFTER the adjustment should look like this:

You should also see the Cost of Goods adjustment on your Profit and Loss Report:

Note: your balance is likely different because it includes the manual movement of inventory to cost of goods you did before you turned on real-time inventory valuation.

Inventory Valuation Report:


bhavik vyas

Wonderfully explained ! I have one question , what would be the issue , if we just adjust inventory and accounts with starting over ? I mean is it possible to achieve the goal that way ?

Ray Carnes (ray)

Sorry. I don't follow. Adjust inventory how? Adjust accounts how? I don't understand what you are asking. What way? Can you share details?

fouad kherfi
Best Answer

brilliant explanation , have one Small question, How to execute bellow Note :

Which access right and which screen to be used??

** NOTE FOR v14 **

You would then delete existing Stock Valuation records (this wipes out product level inventory history completely). User Access Rights need to be modified to allow these records to be deleted.

** END OF NOTE  **