From b934cd7b4e07c0b9046bc5f12beaf46616c6a607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 Sep 2025 16:28:04 +0200 Subject: [PATCH] Enforce the same company, currency and party when the payment origin is a sale Closes #14237 --- modules/sale_payment/account.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/sale_payment/account.py b/modules/sale_payment/account.py index cfe633b688..f3aa275859 100644 --- a/modules/sale_payment/account.py +++ b/modules/sale_payment/account.py @@ -36,6 +36,17 @@ class Payment(metaclass=PoolMeta): If(Eval('state') == 'draft', ('state', '!=', 'cancelled'), ()), + ('company', '=', Eval('company', -1)), + If(Eval('state') == 'draft', + ['OR', + ('invoice_party', '=', Eval('party', -1)), + [ + ('invoice_party', '=', None), + ('party', '=', Eval('party', -1)), + ], + ], + []), + ('currency', '=', Eval('currency', -1)), ] @classmethod