diff --git a/stock_account_quantity_history_location/__init__.py b/stock_account_quantity_history_location/__init__.py
index e69de29..326c3db 100644
--- a/stock_account_quantity_history_location/__init__.py
+++ b/stock_account_quantity_history_location/__init__.py
@@ -0,0 +1 @@
+from . import wizards
\ No newline at end of file
diff --git a/stock_account_quantity_history_location/tests/__init__.py b/stock_account_quantity_history_location/tests/__init__.py
new file mode 100644
index 0000000..0118859
--- /dev/null
+++ b/stock_account_quantity_history_location/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_valuation_location
diff --git a/stock_account_quantity_history_location/tests/test_valuation_location.py b/stock_account_quantity_history_location/tests/test_valuation_location.py
new file mode 100644
index 0000000..7b8704d
--- /dev/null
+++ b/stock_account_quantity_history_location/tests/test_valuation_location.py
@@ -0,0 +1,55 @@
+# Copyright 2020 Tecnativa - David Vidal
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo.addons.stock_quantity_history_location.tests import (
+ test_stock_quantity_history_location
+)
+
+
+class TestValuationLocation(test_stock_quantity_history_location
+ .TestStockQuantityHistoryLocation):
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ cls.env['product.price.history'].create({
+ 'datetime': '2019-08-12',
+ 'product_id': cls.product.id,
+ 'cost': 35.01,
+ })
+ cls.env['product.price.history'].create({
+ 'datetime': '2020-01-01',
+ 'product_id': cls.product.id,
+ 'cost': 33.33,
+ })
+ cls.product.categ_id.property_cost_method = 'standard'
+ cls.test_stock_loc2 = cls.env['stock.location'].create({
+ 'usage': 'internal',
+ 'name': 'Test Stock Location 2',
+ 'company_id': cls.main_company.id
+ })
+ # Create a move for the past
+ move = cls.env['stock.move'].create({
+ 'name': 'Stock move in',
+ 'location_id': cls.supplier_location.id,
+ 'location_dest_id': cls.test_stock_loc2.id,
+ 'product_id': cls.product.id,
+ 'product_uom': cls.product.uom_id.id,
+ 'product_uom_qty': 50.0,
+ })
+ move._action_confirm()
+ move._action_assign()
+ move_line = move.move_line_ids[0]
+ move_line.qty_done = 50.0
+ move._action_done()
+ move.date = "2020-01-01"
+
+ def test_stock_location_valuation(self):
+ wizard = self.env['stock.quantity.history'].create({
+ "location_id": self.test_stock_loc2.id,
+ "include_child_locations": True,
+ "compute_at_date": 1,
+ "date": "2020-01-01",
+ })
+ action = wizard.with_context(
+ company_owned=True, valuation=True).open_table()
+ self.assertAlmostEqual(
+ self.product.with_context(action['context']).stock_value, 1666.5)
diff --git a/stock_account_quantity_history_location/wizards/__init__.py b/stock_account_quantity_history_location/wizards/__init__.py
new file mode 100644
index 0000000..500ceb8
--- /dev/null
+++ b/stock_account_quantity_history_location/wizards/__init__.py
@@ -0,0 +1,2 @@
+from . import stock_quantity_history
+
diff --git a/stock_account_quantity_history_location/wizards/stock_quantity_history.py b/stock_account_quantity_history_location/wizards/stock_quantity_history.py
new file mode 100644
index 0000000..ec3ba8f
--- /dev/null
+++ b/stock_account_quantity_history_location/wizards/stock_quantity_history.py
@@ -0,0 +1,36 @@
+# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
+# Copyright 2019 Aleph Objects, Inc.
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+import ast
+from odoo import models
+
+
+class StockQuantityHistory(models.TransientModel):
+ _inherit = 'stock.quantity.history'
+
+ def open_table(self):
+ """Stock valuation goes by a different path than stock report, so
+ we ensure the correct context as well"""
+ action = super().open_table()
+ if not self.env.context.get('valuation'):
+ return action
+ # Show 0 quantities on Inventory Valuation to display Account Valuation
+ # anomalies, such as, non 0 stock_value on cost_method FIFO
+ if not self.location_id:
+ domain = ast.literal_eval(action['domain'])
+ domain.pop(domain.index(('qty_available', '!=', 0)))
+ action['domain'] = domain
+ ctx = action['context']
+ if isinstance(ctx, str):
+ ctx = ast.literal_eval(ctx)
+ if self.location_id:
+ ctx['location'] = self.location_id.id
+ ctx['compute_child'] = self.include_child_locations
+ if ctx.get('company_owned', False):
+ ctx.pop('company_owned')
+ # Ensure the context isn't added later and catch it
+ ctx['drop_company_owned'] = True
+ action['name'] = '%s (%s)' % (action['name'],
+ self.location_id.complete_name)
+ action['context'] = ctx
+ return action
diff --git a/stock_account_quantity_history_location/wizards/stock_quantity_history.xml b/stock_account_quantity_history_location/wizards/stock_quantity_history.xml
index fc09cdf..3844ef1 100644
--- a/stock_account_quantity_history_location/wizards/stock_quantity_history.xml
+++ b/stock_account_quantity_history_location/wizards/stock_quantity_history.xml
@@ -9,12 +9,6 @@
The accounting valuation is not calculated when you specify a location. -
-This module allows to run an Inventory report or Inventory Valuation report by location, for a past date or for current date.
Table of contents
@@ -404,7 +404,7 @@ report by location, for a past date or for current date.Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.
+feedback.Do not contact contributors directly about support or help with technical issues.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
-This module is part of the OCA/stock-logistics-reporting project on GitHub.
+This module is part of the OCA/stock-logistics-reporting project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.