Odoo Help


Stock valuation account based on location

Richard Lewis
on 2/22/13, 1:59 PM 9,045 views

I'm trying to enable stock valuation based on locations of stock moves, rather than on product category.

I created a new 'Inventory'-type location for the purpose and set its Stock Valuation Account (Incoming) and Stock Valuation Account (Outgoing) accounts to some appropriate balance sheet accounts. But when I try and process a stock move from a supplier location to this new Inventory location I get this error:

Can not create Journal Entry, Output Account defined on this product and Valuation account on category of this product are same.

This is because the destination location's account and the valuation account are both False; it's not retrieving the valuation_in_account from the move.location_dest_id. And I'm not setting a valuation account because there's no option to do so for a location.

Is this because I've configured this wrongly?


So just to make clear: what I'd like to be able to do is stock valuation based on locations only, not on product or product category.

Here's another example of how this fails. When receiving stock moves from suppliers, the moves cannot successfully create valuation account moves because the source of the move (the supplier location) does not---and cannot---have a valuation account; the stock location form view prevents setting valuation accounts for supplier locations.

Perhaps I need to define an intermediate location between supplier and physical stock, configure that location to create valuation account moves, and set up stock move chaining from supplier, through this intermediate location, to physical stock location?


I want to be able to report value of stock at locations on the balance sheet using automatically created account moves from stock moves, but setting the accounts for the automatically created moves using only the move locations, not the product or product categories.

Which version of OpenERP?

Ray Carnes
on 2/22/13, 8:28 PM

It's version 6.1.

Richard Lewis
on 2/25/13, 5:26 AM

Mohammad Alhashash

--Mohammad Alhashash--
| 5 5 8
Giza, Egypt
--Mohammad Alhashash--


Mohammad Alhashash
On 2/23/13, 8:05 AM

The location type 'Inventory' is not a physical location. It is a virtual location to represent the source/destination of inventory adjustment operations (matching the physical quantities to the recorded quantities). May be it is a misnomer but the help text gives a clear description about its function.

The 'Stock Valuation Account (Incoming)/(Outgoing)' accounts should be an income/expense accounts that will be affected by the increase/decrease of inventory value as a result of inventory operation.

You do not need separate account per location to track the value of product in it as quantity per location is known. But, it is not possible to have different product cost per location in standard OpenERP.

But you can't set the valuation accounts on a location if the location type is not either Inventory or Production; the view definition makes them readonly.

Richard Lewis
on 2/25/13, 5:30 AM

You cannot have an a different valuation accounts for internal locations. You can enable the fields by changing the view, but you will break a lot of things. The help clearly says 'This has no effect for internal locations'

Mohammad Alhashash
on 2/25/13, 6:41 AM

OK. I don't believe I'm attempting to set valuation accounts for internal locations.

Richard Lewis
on 2/25/13, 7:07 AM

May be I misunderstood. Could you describe what do you mean by "valuation based on locations". Perhaps with the business case and expected account moves.

Mohammad Alhashash
on 2/25/13, 7:41 AM

I want to be able to value my stock without setting valuation accounts on the products (or product categories). I would set valuation accounts on a variety of locations (e.g. factory, warehouse) and would be able to see the value of my stock at each location. The value would have been recorded by the stock moves that have passed through those locations.

Richard Lewis
on 2/25/13, 7:47 AM

That was my understanding. This is not possible currently in OpenERP. You do not need separate account per location to get its stock value. The stock value per location is the value of products in it, which can be easily obtained.

Mohammad Alhashash
on 2/25/13, 8:18 AM

And easily reported on the balance sheet?

Richard Lewis
on 2/25/13, 8:22 AM

No. You have to create a special balance sheet report for that.

Mohammad Alhashash
on 2/25/13, 8:27 AM

OK, thanks. Wish I'd known this wasn't possible before :-(

Richard Lewis
on 2/25/13, 8:36 AM

I understand that you need to add some new costs to products when they are moved from one location to another one; these may be an allocation of "location costs" over each of the products.

AD LIBITOM, michel Guénard
on 3/22/13, 7:19 AM

michel Guénard

--michel Guénard--

| 5 5 8
--michel Guénard--

VP operations & finance Social entrepreneur Certified Public Accountant Past Chief internal auditor

michel Guénard
On 7/3/13, 10:53 AM

The question raised by Richard Lewis did not receive a satisfactory answer - in my opinion -.

There is probably not any ready answer with the current release of OpenErp (modules and addons). However this issue is of interest as far as I understand it.

The underlying need is to consider that when products move from one location to another one they receive added value, because the receiving location is a place where there are transformed in bulk. In a sense this is an extension of a MRP process affecting every single product passing thru the said location.

This would require to enlarge the MRP module

How SAP or Oracle do this would be interesting to know!

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 2/22/13, 1:59 PM
Seen: 9045 times
Last updated: 1/19/17, 2:26 AM