diff --git a/sale_order_type/models/account_move.py b/sale_order_type/models/account_move.py index efc0de8bec9..86f0214008e 100644 --- a/sale_order_type/models/account_move.py +++ b/sale_order_type/models/account_move.py @@ -48,9 +48,15 @@ def _compute_invoice_payment_term_id(self): move.invoice_payment_term_id = move.sale_type_id.payment_term_id return res - @api.depends("sale_type_id") - def _compute_journal_id(self): - res = super()._compute_journal_id() - for move in self.filtered("sale_type_id.journal_id"): - move.journal_id = move.sale_type_id.journal_id + def _search_default_journal(self): + res = super()._search_default_journal() + sale_type_journal_id = self.sale_type_id.journal_id + if sale_type_journal_id and sale_type_journal_id in self.suitable_journal_ids: + return sale_type_journal_id return res + + @api.onchange("sale_type_id") + def _onchange_sale_type_id(self): + sale_type_journal_id = self.sale_type_id.journal_id + if sale_type_journal_id and sale_type_journal_id in self.suitable_journal_ids: + self.journal_id = sale_type_journal_id.id