diff --git a/account_payment_sale/models/sale_order.py b/account_payment_sale/models/sale_order.py index ab66f7b49..4d32933e4 100644 --- a/account_payment_sale/models/sale_order.py +++ b/account_payment_sale/models/sale_order.py @@ -17,11 +17,13 @@ class SaleOrder(models.Model): domain="[('payment_type', '=', 'inbound'), ('company_id', '=', company_id)]", ) - @api.depends("partner_id") + @api.depends("partner_id", "company_id") def _compute_payment_mode(self): for order in self: if order.partner_id: - order.payment_mode_id = order.partner_id.customer_payment_mode_id + order.payment_mode_id = order.with_company( + order.company_id + ).partner_id.customer_payment_mode_id else: order.payment_mode_id = False diff --git a/account_payment_sale/tests/test_sale_order.py b/account_payment_sale/tests/test_sale_order.py index f791fb3ee..a4c479eed 100644 --- a/account_payment_sale/tests/test_sale_order.py +++ b/account_payment_sale/tests/test_sale_order.py @@ -135,3 +135,9 @@ class TestSaleOrder(CommonTestCase): orders.action_confirm() invoices = orders._create_invoices() self.assertEqual(2, len(invoices)) + + def test_change_sale_company(self): + order = self.create_sale_order() + other_company = self.env["res.company"].create({"name": "other company"}) + order.company_id = other_company + self.assertFalse(order.payment_mode_id)