[FIX] account: Bank Statement reconcilation with different currency
authorDaniel Dico <dd@oerp.ca>
Tue, 22 Jul 2014 20:17:46 +0000 (16:17 -0400)
committerMartin Trigaux <mat@openerp.com>
Wed, 23 Jul 2014 09:19:41 +0000 (11:19 +0200)
When generating reconciled moves in bank statement, use the amount_currency field instead of amount for currency conversion.
Otherwise we would endup with moves with an amount of 0.

addons/account/account_bank_statement.py

index 4eb0d6c..4d9c3f3 100644 (file)
@@ -738,9 +738,12 @@ class account_bank_statement_line(osv.osv):
         move_id = am_obj.create(cr, uid, move_vals, context=context)
 
         # Create the move line for the statement line
-        ctx = context.copy()
-        ctx['date'] = st_line.date
-        amount = currency_obj.compute(cr, uid, st_line.statement_id.currency.id, company_currency.id, st_line.amount, context=ctx)
+        if st_line.statement_id.currency.id != company_currency.id:
+            ctx = context.copy()
+            ctx['date'] = st_line.date
+            amount = currency_obj.compute(cr, uid, st_line.statement_id.currency.id, company_currency.id, st_line.amount_currency, context=ctx)
+        else:
+            amount = st_line.amount
         bank_st_move_vals = bs_obj._prepare_bank_move_line(cr, uid, st_line, move_id, amount, company_currency.id, context=context)
         aml_obj.create(cr, uid, bank_st_move_vals, context=context)
         # Complete the dicts