diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index d9936688739443ce12096f2794a10fd09e5ae655..b7a706ab0ab175e479512f448c498d9613e02bfa 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -2988,6 +2988,8 @@ class AccountMoveLine(models.Model): @api.depends('product_id', 'account_id', 'partner_id', 'date_maturity') def _compute_analytic_account(self): for record in self: + record.analytic_account_id = (record._origin or record).analytic_account_id + record.analytic_tag_ids = (record._origin or record).analytic_tag_ids rec = self.env['account.analytic.default'].account_get( product_id=record.product_id.id, partner_id=record.partner_id.commercial_partner_id.id or record.move_id.partner_id.commercial_partner_id.id, @@ -2996,8 +2998,9 @@ class AccountMoveLine(models.Model): date=record.date_maturity, company_id=record.move_id.company_id.id ) - record.analytic_account_id = (record._origin or record).analytic_account_id or rec.analytic_id - record.analytic_tag_ids = (record._origin or record).analytic_tag_ids or rec.analytic_tag_ids + if rec and not record.exclude_from_invoice_tab: + record.analytic_account_id = rec.analytic_id + record.analytic_tag_ids = rec.analytic_tag_ids def _get_price_total_and_subtotal(self, price_unit=None, quantity=None, discount=None, currency=None, product=None, partner=None, taxes=None, move_type=None): self.ensure_one()