Configuration:
- Company Currency: MXN
- Tax 16%.
- Multicurrency, MXN and USD.
- Decimal precision: 4
- Currency Data:
MXN: rate 1.0
USD rates

| Database time | rate | Local time (Mexico) | 
| --- | --- | --- |
| 2016-09-09 00:00:01 | 0.054440 | 2016-09-08 17:00:01 |
| 2016-10-11 00:00:01 | 0.051815 | 2016-10-10 17:00:01 |

Steps to reproduce:

1. Create an invoice for 600 USD  + tax (16%) with date 09/09/16 (September 9, 2016) and when you validate in the journal entry is $12,784.7172 MXN.
3. Create a bank statement in MXN and add a line with date 11/10/16 (October 11, 2016) and amount $13,372.80 MXN.
4. When reconcile select the invoice and there is a difference ($588.0828 MXN) add a line with the difference and select an account for the difference. 
<img width="607" alt="captura de pantalla 2016-11-04 a la s 17 23 26" src="https://cloud.githubusercontent.com/assets/6758279/20025385/749605a2-a2b3-11e6-8b1a-4e9fbf1521ed.png">

**Note that the amount of difference is $588.08 in when you select the account**

5. Click on reconcile.

Expected behavior:
- Reconcile the invoice and create account move.

Current behavior:
- Raise an error  `Wrong credit or debit value in accounting entry !`

![captura de pantalla 2016-11-01 a la s 19 18 52](https://cloud.githubusercontent.com/assets/6758279/19913537/1c272866-a069-11e6-9b06-5851681c7fa5.png)

addons/account/models/account_move.py
maxdate = None
        aml_to_balance = None
        for partial_rec in partial_rec_set:
            if partial_rec.currency_id != currency:
                
                currency = None
            for aml in [partial_rec.debit_move_id, partial_rec.credit_move_id]:
                if aml not in aml_set:
                    if aml.amount_residual or aml.amount_residual_currency:
                        aml_to_balance = aml
                    maxdate = max(aml.date, maxdate)
                    total_debit += aml.debit
                    total_credit += aml.credit
                    aml_set |= aml
                    if aml.currency_id and aml.currency_id == currency:
                        total_amount_currency += aml.amount_currency
                    elif partial_rec.currency_id and partial_rec.currency_id == currency:
                        
                        
                        
                        total_amount_currency += aml.company_id.currency_id.with_context(date=aml.date).compute(aml.balance, partial_rec.currency_id)
                for x in aml.matched_debit_ids | aml.matched_credit_ids:
                    partial_rec_set[x] = None
        
        if currency and aml_to_balance and (float_is_zero(total_amount_currency, precision_rounding=currency.rounding) or float_compare(total_debit, total_credit, precision_rounding=currency.rounding) == 0):
            
            if float_is_zero(total_amount_currency, precision_rounding=currency.rounding) and float_compare(total_debit, total_credit, precision_rounding=currency.rounding) == 0:
                return res
            
            aml_id, partial_rec_id = partial_rec.create_exchange_rate_entry(aml_to_balance, total_debit - total_credit, total_amount_currency, currency, maxdate)