diff --git a/addons/mrp_subcontracting/__manifest__.py b/addons/mrp_subcontracting/__manifest__.py
index b95b5471cc4..fef10cdddd6 100644
--- a/addons/mrp_subcontracting/__manifest__.py
+++ b/addons/mrp_subcontracting/__manifest__.py
@@ -15,6 +15,7 @@
'views/res_partner_views.xml',
'views/stock_warehouse_views.xml',
'views/stock_move_views.xml',
+ 'views/stock_quant_views.xml',
'views/stock_picking_views.xml',
'views/supplier_info_views.xml',
'views/product_views.xml',
diff --git a/addons/mrp_subcontracting/models/__init__.py b/addons/mrp_subcontracting/models/__init__.py
index 7b4d6067559..fc944c6b955 100644
--- a/addons/mrp_subcontracting/models/__init__.py
+++ b/addons/mrp_subcontracting/models/__init__.py
@@ -7,6 +7,7 @@ from . import res_partner
from . import stock_move
from . import stock_move_line
from . import stock_picking
+from . import stock_quant
from . import stock_rule
from . import stock_warehouse
from . import mrp_production
diff --git a/addons/mrp_subcontracting/models/stock_quant.py b/addons/mrp_subcontracting/models/stock_quant.py
new file mode 100644
index 00000000000..c2b48b2c7fa
--- /dev/null
+++ b/addons/mrp_subcontracting/models/stock_quant.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models, _
+from odoo.exceptions import UserError
+
+
+class StockQuant(models.Model):
+ _inherit = 'stock.quant'
+
+ is_subcontract = fields.Boolean(store=False, search='_search_is_subcontract')
+
+ def _search_is_subcontract(self, operator, value):
+ if operator not in ['=', '!='] or not isinstance(value, bool):
+ raise UserError(_('Operation not supported'))
+
+ subcontract_locations = self.env['res.company'].search([]).subcontracting_location_id
+
+ quant_ids = self.env['stock.quant'].search([
+ ('location_id', 'in', subcontract_locations.ids),
+ ]).ids
+ if (operator == '!=' and value is True) or (operator == '=' and value is False):
+ domain_operator = 'not in'
+ else:
+ domain_operator = 'in'
+ return [('id', domain_operator, quant_ids)]
diff --git a/addons/mrp_subcontracting/views/stock_quant_views.xml b/addons/mrp_subcontracting/views/stock_quant_views.xml
new file mode 100644
index 00000000000..21abc89855a
--- /dev/null
+++ b/addons/mrp_subcontracting/views/stock_quant_views.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ stock.quant.subcontracting.search
+ stock.quant
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/stock/views/stock_quant_views.xml b/addons/stock/views/stock_quant_views.xml
index 97ca63a0f72..316170473c2 100644
--- a/addons/stock/views/stock_quant_views.xml
+++ b/addons/stock/views/stock_quant_views.xml
@@ -18,7 +18,9 @@
+
+
@@ -27,7 +29,6 @@
-