diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 838690ba404..cda7e773a27 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -100,6 +100,9 @@ class SaleOrder(models.Model):
for order in self:
order.order_line._compute_tax_id()
+ def _inverse_project_id(self):
+ self.project_id = self.related_project_id
+
name = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New'))
origin = fields.Char(string='Source Document', help="Reference of the document that generated this sales order request.")
client_order_ref = fields.Char(string='Customer Reference', copy=False)
@@ -124,6 +127,7 @@ class SaleOrder(models.Model):
pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current sales order.")
currency_id = fields.Many2one("res.currency", related='pricelist_id.currency_id', string="Currency", readonly=True, required=True)
project_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order.", copy=False)
+ related_project_id = fields.Many2one('account.analytic.account', inverse='_inverse_project_id', related='project_id', string='Analytic Account', help="The analytic account related to a sales order.")
order_line = fields.One2many('sale.order.line', 'order_id', string='Order Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True)
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 5a7270a378f..358004cd7a4 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -316,7 +316,11 @@
-
+
+