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)

default=_get_journal, required=True, index=True, store=True, copy=False)
    blocked = fields.Boolean(string='No Follow-up', default=False,
        help="You can check this box to mark this journal item as a litigation with the associated partner")
    date_maturity = fields.Date(string='Due date', index=True, required=True,
        help="This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line.")
    date = fields.Date(related='move_id.date', string='Date', required=True, index=True, default=fields.Date.context_today, store=True, copy=False)
    analytic_line_ids = fields.One2many('account.analytic.line', 'move_id', string='Analytic lines', oldname="analytic_lines")
    tax_ids = fields.Many2many('account.tax', string='Taxes')
    tax_line_id = fields.Many2one('account.tax', string='Originator tax', ondelete='restrict')
    analytic_account_id = fields.Many2one('account.analytic.account', string='Analytic Account')
    company_id = fields.Many2one('res.company', related='account_id.company_id', string='Company', store=True)
    counterpart = fields.Char("Counterpart", compute='_get_counterpart', help="Compute the counter part accounts of this journal item for this journal entry. This can be needed in reports.")
    
    invoice_id = fields.Many2one('account.invoice', oldname="invoice")
    partner_id = fields.Many2one('res.partner', string='Partner', ondelete='restrict')
    user_type_id = fields.Many2one('account.account.type', related='account_id.user_type_id', index=True, store=True, oldname="user_type")
    _sql_constraints = [
        ('credit_debit1', 'CHECK (credit*debit=0)', 'Wrong credit or debit value in accounting entry !'),
        ('credit_debit2', 'CHECK (credit+debit>=0)', 'Wrong credit or debit value in accounting entry !'),
    ]
    @api.multi
    @api.constrains('currency_id', 'account_id')
    def _check_currency(self):
        for line in self:
            if line.account_id.currency_id:
                if not line.currency_id or line.currency_id.id != line.account_id.currency_id.id:
                    raise UserError(_('The selected account of your Journal Entry forces to provide a secondary currency. You should remove the secondary currency on the account or select a multi-currency view on the journal.'))
    @api.multi
    @api.constrains('currency_id', 'amount_currency')
    def _check_currency_and_amount(self):