Use currency rounding when currency has no cash rounding set

Closes #14638
(grafted from c2e82186e7089618939ae9270490a68d2ca17622)

--HG--
branch : 7.0
This commit is contained in:
Cédric Krier
2026-03-02 15:23:13 +01:00
parent 73610acb07
commit 6a8c7df560
2 changed files with 6 additions and 2 deletions
+5 -1
View File
@@ -15,4 +15,8 @@ class Currency(metaclass=PoolMeta):
digits=(12, Eval('digits', 6)))
def cash_round(self, amount, rounding=ROUND_HALF_EVEN):
return self._round(amount, self.cash_rounding, rounding)
if self.cash_rounding is not None:
factor = self.cash_rounding
else:
factor = self.rounding
return self._round(amount, factor, rounding)
@@ -98,6 +98,6 @@ Post invoice::
>>> line_to_pay, = invoice.lines_to_pay
>>> line_to_pay.debit, line_to_pay.credit
(Decimal('21.03'), Decimal('0'))
(Decimal('21.03'), Decimal('0.00'))
>>> line_to_pay.amount_second_currency
Decimal('42.05')