From 6ab1f8a4a4fb0ce8d48c5c6ed95f35625ff82099 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Tue, 28 Jan 2014 18:50:42 +0100 Subject: [PATCH] [FIX] account: account reconciliation adding float rounding, to avoid having float precision problem bzr revid: dle@openerp.com-20140128175042-a2e4ga47lqow86vj --- addons/account/wizard/account_reconcile.py | 7 ++++++- addons/account/wizard/account_reconcile_view.xml | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/account/wizard/account_reconcile.py b/addons/account/wizard/account_reconcile.py index 0d5a3525af4..fb3b6f18251 100644 --- a/addons/account/wizard/account_reconcile.py +++ b/addons/account/wizard/account_reconcile.py @@ -23,6 +23,7 @@ import time from openerp.osv import fields, osv from openerp.tools.translate import _ +from openerp.tools.float_utils import float_round import openerp.addons.decimal_precision as dp class account_move_line_reconcile(osv.osv_memory): @@ -64,7 +65,11 @@ class account_move_line_reconcile(osv.osv_memory): credit += line.credit debit += line.debit account_id = line.account_id.id - return {'trans_nbr': count, 'account_id': account_id, 'credit': credit, 'debit': debit, 'writeoff': debit - credit} + precision = self.pool['decimal.precision'].precision_get(cr, uid, 'Account') + writeoff = float_round(debit-credit, precision_digits=precision) + credit = float_round(credit, precision_digits=precision) + debit = float_round(debit, precision_digits=precision) + return {'trans_nbr': count, 'account_id': account_id, 'credit': credit, 'debit': debit, 'writeoff': writeoff} def trans_rec_addendum_writeoff(self, cr, uid, ids, context=None): return self.pool.get('account.move.line.reconcile.writeoff').trans_rec_addendum(cr, uid, ids, context) diff --git a/addons/account/wizard/account_reconcile_view.xml b/addons/account/wizard/account_reconcile_view.xml index 184ce1aaab0..9d4d2684a8e 100644 --- a/addons/account/wizard/account_reconcile_view.xml +++ b/addons/account/wizard/account_reconcile_view.xml @@ -17,8 +17,8 @@