diff --git a/addons/account_voucher/wizard/account_statement_from_invoice.py b/addons/account_voucher/wizard/account_statement_from_invoice.py index 41d3560e278..362cb516e7c 100644 --- a/addons/account_voucher/wizard/account_statement_from_invoice.py +++ b/addons/account_voucher/wizard/account_statement_from_invoice.py @@ -68,8 +68,12 @@ class account_statement_from_invoice_lines(osv.osv_memory): amount = -line.credit if line.amount_currency: - amount = currency_obj.compute(cr, uid, line.currency_id.id, - statement.currency.id, line.amount_currency, context=ctx) + if line.company_id.currency_id.id != statement.currency.id: + # In the specific case where the company currency and the statement currency are the same + # the debit/credit field already contains the amount in the right currency. + # We therefore avoid to re-convert the amount in the currency, to prevent Gain/loss exchanges + amount = currency_obj.compute(cr, uid, line.currency_id.id, + statement.currency.id, line.amount_currency, context=ctx) elif (line.invoice and line.invoice.currency_id.id <> statement.currency.id): amount = currency_obj.compute(cr, uid, line.invoice.currency_id.id, statement.currency.id, amount, context=ctx)