diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index c09cc42022b..c482bc7f84b 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -55,7 +55,7 @@ class AccountMove(models.Model): total_amount += amount for partial_line in (line.matched_debit_ids + line.matched_credit_ids): total_reconciled += partial_line.amount - if total_amount == 0.0: + if float_is_zero(total_amount, precision_rounding=move.currency_id.rounding): move.matched_percentage = 1.0 else: move.matched_percentage = total_reconciled / total_amount diff --git a/addons/account_tax_cash_basis/tax_cash_basis.py b/addons/account_tax_cash_basis/tax_cash_basis.py index b68e348c59e..242356f4967 100644 --- a/addons/account_tax_cash_basis/tax_cash_basis.py +++ b/addons/account_tax_cash_basis/tax_cash_basis.py @@ -53,7 +53,7 @@ class AccountPartialReconcileCashBasis(models.Model): #create reporting issues. Not sure of the behavior to implement in that case, though. # amount to write is the current cash_basis amount minus the one before the reconciliation matched_percentage = value_before_reconciliation[move.id] - amount = (line.credit_cash_basis - line.debit_cash_basis) - (line.credit - line.debit) * matched_percentage + amount = line.currency_id.round((line.credit_cash_basis - line.debit_cash_basis) - (line.credit - line.debit) * matched_percentage) if not self._check_tax_exigible(line): if line.tax_line_id and line.tax_line_id.use_cash_basis: # group by line account @@ -73,15 +73,15 @@ class AccountPartialReconcileCashBasis(models.Model): for tax in line.tax_ids: line_to_create.append((0, 0, { 'name': '/', - 'debit': line.debit_cash_basis - line.debit * matched_percentage, - 'credit': line.credit_cash_basis - line.credit * matched_percentage, + 'debit': line.currency_id.round(line.debit_cash_basis - line.debit * matched_percentage), + 'credit': line.currency_id.round(line.credit_cash_basis - line.credit * matched_percentage), 'account_id': line.account_id.id, 'tax_ids': [(6, 0, [tax.id])], })) line_to_create.append((0, 0, { 'name': '/', - 'credit': line.debit_cash_basis - line.debit * matched_percentage, - 'debit': line.credit_cash_basis - line.credit * matched_percentage, + 'credit': line.currency_id.round(line.debit_cash_basis - line.debit * matched_percentage), + 'debit': line.currency_id.round(line.credit_cash_basis - line.credit * matched_percentage), 'account_id': line.account_id.id, }))