Odoo 19: Understanding the New Stock Valuation
Stock Valuation is one of the most important features of Odoo as it helps you track the value of all of your products in stock. In Odoo 19, the stock valuation has become much simpler and faster with the elimination of valuation layers and less journal items. Since these changes have been made, the migration process will have to be carefully done in order to maintain every record registered correctly.
The new valuation process
Firstly, you will need to understand that in this new version, we won’t talk directly about Anglo-Saxon or Continental accounting, but we will talk about Perpetual or Periodic valuation.
- Perpetual: The vendor bills are posted as assets (stock valuation) and the expenses are reported when goods are sold
- Periodic: The vendor bills are posted as expenses by nature and you can update stock valuation in the closing entry by reducing expenses (stock variation)
To configure your valuation method go to Accounting -> Settings and scroll down until you find Inventory Valuation.

How is the transaction flow going to be processed?
Perpetual Valuation In perpetual valuation, when you make a purchase, receive the products and validate the vendor bill, the value will be uploaded in your stock valuation. When you make a sale, deliver the products and create the invoice, the cost of your products will move from Inventory to Cost of Goods Sold.
Periodic Valuation In periodic valuation, when you make your transactions, the journal entries are created only when you generate an entry in the new stock valuation page in the Accounting module.
On the new stock valuation page, you can monitor your initial and ending valuation balance as well as your stock variation. You can access it by going into the Accounting app -> Review -> Inventory Valuation.

Practical Example
Anglo-Saxon If your company uses anglo-saxon accounting, the process will go like this:
- Perpetual Imagine that your company sells office furniture and you just closed a deal with a new client and he wants to buy 3 office chairs. You decide to replenish your stock and buy another 7 units, so that you have stock left. Let’s consider there are no taxes to simplify the explanation.
P.O = 210$ -> 10 chairs. 21$ each S.O = 135$ -> 3 chairs, 45$ each Stock Value (3 units sold) -> 63$, 21$ each Stock Value (7 units left) -> 147$, 21$ each
- Purchase The journal items will appear on your balance sheet, only, after you upload the vendor bill related to the purchase and confirm it, as mentioned before.

You have an increase (debit) in your stock valuation since you received the products and you have the counterpart movement (credit) in your accounts payable.
- What changes? In previous versions, the process would go like this:
After receiving the products in your warehouse:

When you confirmed the bill:

As you can see, the stock interim account would play a big part in the transaction. The transaction would be split in two time periods, the receiving of the products and the confirmation of the vendor bill.
- Sale In this version, the journal items will be posted as soon as the invoice is confirmed.

You have a decrease (credit) in your stock valuation, the counterpart movement (debit) in your miscellaneous expenses account (Cost of Goods Sold). You also have the sales account movement and its counterpart in the accounts receivable.
- What changes? In previous versions, the process would go like this:
After delivering the products:

After posting the customer invoice:

The same thing used to happen in a sales transaction, it would be split in two time periods, the delivery of the products and the posting of the customer invoice while using the interim account.
- Periodic If you use the periodic valuation method, the process will be the same, the only thing that changes is that after posting the customer invoice or the vendor bill your stock valuation won’t be updated, until you generate a closing entry in the new stock valuation page.
You can generate entries automatically by going to the Accounting app -> Settings and scroll down until you find Stock Valuation. Here you select the periodicity for the creation of your journal entries.

- What changes? There are no valuation layers, everything is stored in the stock movements and there is a new way of closing that automatically generates the correct entry.
Continental If your company uses continental accounting, only the type of account will change according to the type of valuation you use, keeping in mind that perpetual focuses on inventory value and periodic on expenses by nature.
Migration: What now?
If you are planning to migrate from an older version of Odoo to Odoo 19 there are certain aspects that need close attention.
Interim accounts In older Odoo versions you had the opportunity to check your movements closely, during your transactions flow. Now in Odoo 19, there are no interim accounts, so what will happen to them when you migrate to version 19?
In older versions, you had two interim accounts:
- Stock Interim (Received), which was the stock input account
- Stock Interim (Delivered), which was the stock output account
Since the interim accounts don’t exist in the new version, before the migration, there are some manual corrections that you can make in order to complete the migration correctly.
Stock Interim (Received) For the input account, if you have an outstanding credit, what you could do is debit the account and credit the stock valuation account so that the balance will be correct according to the new valuation logic. By doing this, there is a decrease in stock valuation, but since now, what will directly impact the accounting is the posting of the bill, after migrating and uploading the bill, your stock valuation will return to its original value.
Stock Interim (Delivered) For the output account, if you have an outstanding debit, you can credit the account while debiting the stock valuation account, this will generate an increase in your stock valuation. The logic is the same as before, since now what directly impacts the accounting is the confirmation of the customer invoice, the moment the invoice gets posted, your stock valuation will return to its original value.
Both interim accounts can then be put off balance after the migration.
Partially invoiced or billed products
If you have partially delivered invoices or bills, after migrating you will be able to check what you still need to receive or deliver. If you go to Purchase app -> Reporting -> Purchase and enable the pivot view you can check the following:
If you go to the Sales app -> Reporting -> Reporting -> Sales and enable the pivot view you can check the following:
Another way to check this is by going into Accounting -> Review and in the drop down menu you can select your bills or invoices, in the regularization entries.

Conclusion
With Odoo 19’s stock valuation you will be able to achieve a clearer view of your general ledger and better auditability, this new process is meant to simplify your accounting records and help you obtain a faster performance. Odoo makes sure everything stays as functional as before while improving your experience.