From 81696d8fb159a17f2225d28174238ff4a27e403d Mon Sep 17 00:00:00 2001 From: Manuela Cepeda Date: Thu, 21 May 2026 15:04:41 +0000 Subject: [PATCH] [FIX] account_multicompany_ux: synchronize balances with amount_currency before write operations --- account_multicompany_ux/wizards/account_change_company.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/account_multicompany_ux/wizards/account_change_company.py b/account_multicompany_ux/wizards/account_change_company.py index 8fbe09cf..20cad87f 100644 --- a/account_multicompany_ux/wizards/account_change_company.py +++ b/account_multicompany_ux/wizards/account_change_company.py @@ -160,6 +160,12 @@ def change_company(self): # de la venta calcular el anticipo, ya que la sale order ya podria previamente asociado otro anticipo. line.account_id = self._get_change_downpayment_account(self.company_id, line, move.fiscal_position_id) + # Sincronizar balances con amount_currency antes de cualquier write + # que dispare _check_balanced (eg. invoice_payment_term_id) + container = {"records": move} + with move._disable_recursion(container, "check_move_validity", default=True, target=False): + self._sync_lines_balance_from_amount_currency(move) + # PAYMENT TERM payment_term = original_payment_term or invoice_payment_term_id move._compute_invoice_payment_term_id() @@ -181,8 +187,6 @@ def change_company(self): if original_partner_bank_id and original_partner_bank_id.company_id.id in [False, self.company_id.id]: move.partner_bank_id = original_partner_bank_id - self._sync_lines_balance_from_amount_currency(move) - container = {"records": self.move_id} with self.move_id._check_balanced(container), self.move_id._sync_dynamic_lines(container): pass