Use current account at the clearing date for clearing move of payment

Closes #13826
(grafted from af791b530047cf7c5023b7ccbc9b655edb497d29)

--HG--
branch : 6.0
This commit is contained in:
Cédric Krier committed 2025-01-20 17:26:52 +01:00
1 parent e49ba59d11
commit 4b3cce30e8
1 file changed
+12 -9
+12 -9
View File
@@ -179,14 +179,17 @@ class Payment(metaclass=PoolMeta):
@property
def clearing_account(self):
if self.line:
return self.line.account
elif self.account:
return self.account
elif self.kind == 'payable':
return self.party.account_payable_used
elif self.kind == 'receivable':
return self.party.account_receivable_used
transaction = Transaction()
context = transaction.context
with transaction.set_context(date=context.get('clearing_date')):
if self.line:
return self.line.account.current()
elif self.account:
return self.account.current()
elif self.kind == 'payable':
return self.party.account_payable_used
elif self.kind == 'receivable':
return self.party.account_receivable_used
@property
def clearing_party(self):
@@ -241,7 +244,7 @@ class Payment(metaclass=PoolMeta):
counterpart.debit, counterpart.credit = 0, local_amount
else:
counterpart.debit, counterpart.credit = local_amount, 0
counterpart.account = self.journal.clearing_account
counterpart.account = self.journal.clearing_account.current(date)
if not local_currency:
counterpart.amount_second_currency = self.amount.copy_sign(
counterpart.debit - counterpart.credit)