diff --git a/addons/account_analytic_default/models/account_analytic_default.py b/addons/account_analytic_default/models/account_analytic_default.py index 707e9920ac0..8f6fb108ca3 100644 --- a/addons/account_analytic_default/models/account_analytic_default.py +++ b/addons/account_analytic_default/models/account_analytic_default.py @@ -63,6 +63,28 @@ class AccountAnalyticDefault(models.Model): class AccountInvoiceLine(models.Model): _inherit = "account.invoice.line" + @api.model + def default_get(self, fields_list): + defaults = super(AccountInvoiceLine, self).default_get(fields_list) + if set(['account_analytic_id', 'analytic_tag_ids']) & set(fields_list): + rec = self.env['account.analytic.default'].account_get( + self.product_id.id, + self.invoice_id.commercial_partner_id.id, + self.invoice_id.user_id.id or self.env.uid, + fields.Date.today(), + company_id=self.company_id.id + ) + if rec: + if 'account_analytic_id' in fields_list: + defaults.update({ + 'account_analytic_id': rec.analytic_id.id, + }) + if 'analytic_tag_ids' in fields_list: + defaults.update({ + 'analytic_tag_ids': rec.analytic_tag_ids.ids, + }) + return defaults + @api.onchange('product_id') def _onchange_product_id(self): res = super(AccountInvoiceLine, self)._onchange_product_id()