diff --git a/addons/purchase/models/account_invoice.py b/addons/purchase/models/account_invoice.py index 103cb20a888..d0c30016944 100644 --- a/addons/purchase/models/account_invoice.py +++ b/addons/purchase/models/account_invoice.py @@ -77,18 +77,19 @@ class AccountMove(models.Model): @api.onchange('partner_id', 'company_id') def _onchange_partner_id(self): res = super(AccountMove, self)._onchange_partner_id() - if not self.env.context.get('default_journal_id') and self.partner_id and\ + if self.partner_id and\ self.move_type in ['in_invoice', 'in_refund'] and\ self.currency_id != self.partner_id.property_purchase_currency_id and\ self.partner_id.property_purchase_currency_id.id: - journal_domain = [ - ('type', '=', 'purchase'), - ('company_id', '=', self.company_id.id), - ('currency_id', '=', self.partner_id.property_purchase_currency_id.id), - ] - default_journal_id = self.env['account.journal'].search(journal_domain, limit=1) - if default_journal_id: - self.journal_id = default_journal_id + if not self.env.context.get('default_journal_id'): + journal_domain = [ + ('type', '=', 'purchase'), + ('company_id', '=', self.company_id.id), + ('currency_id', '=', self.partner_id.property_purchase_currency_id.id), + ] + default_journal_id = self.env['account.journal'].search(journal_domain, limit=1) + if default_journal_id: + self.journal_id = default_journal_id if self.env.context.get('default_currency_id'): self.currency_id = self.env.context['default_currency_id'] if self.partner_id.property_purchase_currency_id: