← Back to team overview

banking-addons-team team mailing list archive

[Merge] lp:~dr.clearcorp/banking-addons/6.1_bank_import_change_wizard into lp:banking-addons

 

Diana Rodríguez Martínez has proposed merging lp:~dr.clearcorp/banking-addons/6.1_bank_import_change_wizard into lp:banking-addons.

Requested reviews:
  Banking Addons Team (banking-addons-team)

For more details, see:
https://code.launchpad.net/~dr.clearcorp/banking-addons/6.1_bank_import_change_wizard/+merge/150344

[ADD] Add new field: Account that match with te parser
[ADD] New format and stye to stament import wizard
[ADD] New changes to davivienda import.
-- 
https://code.launchpad.net/~dr.clearcorp/banking-addons/6.1_bank_import_change_wizard/+merge/150344
Your team Banking Addons Team is requested to review the proposed merge of lp:~dr.clearcorp/banking-addons/6.1_bank_import_change_wizard into lp:banking-addons.
=== modified file 'account_banking/account_banking.py'
--- account_banking/account_banking.py	2013-01-30 11:34:58 +0000
+++ account_banking/account_banking.py	2013-02-25 14:52:29 +0000
@@ -501,6 +501,7 @@
             'period_id': period_id, # AB
             'date': st_line.date,
             'name': st_line_number,
+            'ref': st_line.ref,
         }, context=context)
         account_bank_statement_line_obj.write(cr, uid, [st_line.id], {
             'move_ids': [(4, move_id, False)]

=== modified file 'account_banking/banking_import_transaction.py'
--- account_banking/banking_import_transaction.py	2013-02-07 09:56:06 +0000
+++ account_banking/banking_import_transaction.py	2013-02-25 14:52:29 +0000
@@ -952,6 +952,71 @@
 
         return False
 
+    def _match_move(self, cr, uid, trans, move_lines, log, context=None):
+        digits = dp.get_precision('Account')(cr)[1]
+        candidates = []
+        secondary_candidates = []
+        for move_line in move_lines:
+            if move_line.ref == trans.reference:
+                if trans.statement_id.journal_id.currency and trans.statement_id.journal_id.currency.id == move_line.company_id.currency_id.id:
+                    if move_line.debit != 0:
+                        if round(move_line.debit, digits) == round(trans.transferred_amount,digits):
+                            candidates.append(move_line)
+                    else:
+                        if round(move_line.credit, digits) == -round(trans.transferred_amount,digits):
+                            candidates.append(move_line)
+                #elif trans.statement_id.journal_id.currency and trans.statement_id.journal_id.currency.id == move_line.currency_id.id:
+                #    if round(move_line.amount_currency, digits) == round(trans.transferred_amount,digits):
+                #        candidates.append(move_line)
+            elif not candidates:
+                move_line_date = datetime.datetime.strptime(move_line.date,"%Y-%m-%d")
+                trans_effective_date = datetime.datetime.strptime(trans.effective_date,"%Y-%m-%d")
+                trans_execution_date = datetime.datetime.strptime(trans.execution_date,"%Y-%m-%d")
+                plus_1day = datetime.timedelta(days=1)
+                trans_effective_date_plus1 = trans_effective_date + plus_1day
+                trans_effective_date_minus1 = trans_effective_date - plus_1day
+                trans_execution_date_plus1 = trans_effective_date + plus_1day
+                trans_execution_date_minus1 = trans_effective_date - plus_1day
+                posible_dates = (
+                    trans_effective_date.strftime("%Y-%m-%d"),
+                    trans_execution_date.strftime("%Y-%m-%d"),
+                    trans_effective_date_plus1.strftime("%Y-%m-%d"),
+                    trans_effective_date_minus1.strftime("%Y-%m-%d"),
+                    trans_execution_date_plus1.strftime("%Y-%m-%d"),
+                    trans_execution_date_minus1.strftime("%Y-%m-%d"),
+                )
+                if move_line.date in posible_dates:
+                    if ((trans.statement_id.journal_id.currency and trans.statement_id.journal_id.currency.id == move_line.company_id.currency_id.id)
+                        or (trans.statement_id.journal_id.company_id.currency_id.id == move_line.company_id.currency_id.id)):
+                        if move_line.debit != 0:
+                            if round(move_line.debit, digits) == round(trans.transferred_amount,digits):
+                                secondary_candidates.append(move_line)
+                        else:
+                            if round(move_line.credit, digits) == -round(trans.transferred_amount,digits):
+                                secondary_candidates.append(move_line)
+                    #elif trans.statement_id.journal_id.currency and trans.statement_id.journal_id.currency.id == move_line.currency_id.id:
+                    #    if round(move_line.amount_currency, digits) == round(trans.transferred_amount,digits):
+                    #        secondary_candidates.append(move_line)
+                    
+        if len(candidates) == 1:
+            candidate = candidates[0]
+            # Check cache to prevent multiple matching of a single payment
+            move_info = self._get_move_info(cr, uid, [candidate.id])
+            move_info.update({
+                    'match_type': 'move',
+                    })
+            return move_info
+        elif len(secondary_candidates) == 1:
+            candidate = secondary_candidates[0]
+            # Check cache to prevent multiple matching of a single payment
+            move_info = self._get_move_info(cr, uid, [candidate.id])
+            move_info.update({
+                    'match_type': 'move',
+                    })
+            return move_info
+
+        return False
+
     signal_duplicate_keys = [
         # does not include float values
         # such as transferred_amount
@@ -1125,13 +1190,23 @@
                 transaction.statement_line_id.state == 'confirmed'):
                 raise osv.except_osv(
                     _("Cannot perform match"),
-                    _("Cannot perform match on a confirmed transction"))
+                    _("Cannot perform match on a confirmed transaction"))
             
             if transaction.local_account in error_accounts:
                 results['trans_skipped_cnt'] += 1
                 if not injected:
                     i += 1
                 continue
+
+            # First check if any transit move lines are waiting
+            if not move_info:
+                account_obj = self.pool.get('account.account')
+                transaction_debit_account_id = transaction.statement_id.journal_id.default_debit_account_id.parent_id.id
+                transit_account_ids = account_obj.search(cr, uid, [('parent_id','=',transaction_debit_account_id),('id','!=',transaction_debit_account_id)], context=context)
+                transit_move_line_ids = move_line_obj.search(cr, uid, [('account_id','in',transit_account_ids),('reconcile_id','=',False)], context=context)
+                transit_move_lines = move_line_obj.browse(cr, uid, transit_move_line_ids, context=context)
+                # Link open payment - if any
+                move_info = self._match_move(cr, uid, transaction, transit_move_lines, results['log'], context=context)
             
             # TODO: optimize by ordering transactions per company, 
             # and perform the stanza below only once per company.
@@ -1417,7 +1492,7 @@
 
             if not transaction.statement_line_id:
                 values.update(dict(
-                        name = '%s.%s' % (transaction.statement, transaction.transaction),
+                        name = (transaction.statement and transaction.statement + '.' or '') + transaction.transaction,
                         date = transaction.effective_date,
                         amount = transaction.transferred_amount,
                         statement_id = transaction.statement_id.id,
@@ -1559,6 +1634,7 @@
         for transaction in self.browse(cr, uid, ids, context):
 
             if transaction.move_line_id:
+<<<<<<< TREE
                 move_line_amount = transaction.move_line_id.amount_residual_currency
                 to_curr_id = (
                     transaction.statement_line_id.statement_id.journal_id.currency
@@ -1573,15 +1649,32 @@
                 if from_curr_id != to_curr_id:
                     amount_currency = stline_pool._convert_currency(cr, uid, from_curr_id, to_curr_id, move_line_amount, round=True,
                                                              date=transaction.statement_line_id.date, context=context)
+=======
+                if transaction.move_line_id.account_id.type in ('receivable','payable'):
+                    move_line_amount_currency = transaction.move_line_id.amount_residual_currency
+                    to_curr_id = transaction.statement_id.journal_id.currency and transaction.statement_id.journal_id.currency.id or transaction.statement_line_id.statement_id.company_id.currency_id.id
+                    from_curr_id = transaction.move_line_id.currency_id and transaction.move_line_id.currency_id.id or transaction.statement_id.company_id.currency_id.id
+                    if from_curr_id != to_curr_id:
+                        amount_currency = stline_pool._convert_currency(cr, uid, from_curr_id, to_curr_id, move_line_amount, round=True,
+                                                                 date=time.strftime('%Y-%m-%d'), context=context)
+                    else:
+                        amount_currency = move_line_amount
+                elif transaction.move_line_id.account_id.reconcile:
+                    if transaction.move_line_id.currency_id:
+                        amount_currency = transaction.move_line_id.amount_currency
+                    else:
+                        amount_currency = transaction.move_line_id.debit > 0 and transaction.move_line_id.debit or transaction.move_line_id.credit
+>>>>>>> MERGE-SOURCE
                 else:
-                    amount_currency = move_line_amount
+                    amount_currency = 0.0
                 sign = 1
-                if transaction.move_line_id.currency_id:
-                    if transaction.move_line_id.amount_currency < 0:
-                        sign = -1
-                else:
-                    if (transaction.move_line_id.debit - transaction.move_line_id.credit) < 0:
-                        sign = -1
+                if amount_currency > 0:
+                    if transaction.move_line_id.currency_id:
+                        if transaction.move_line_id.amount_currency < 0:
+                            sign = -1
+                    else:
+                        if (transaction.move_line_id.debit - transaction.move_line_id.credit) < 0:
+                            sign = -1
                 res[transaction.id] = sign * amount_currency
 
         return res
@@ -1804,6 +1897,8 @@
                 st_line.refresh()
             # Generate the statement number, if it is not already done
             st = st_line.statement_id
+            company_id = self.pool.get('res.company').browse(cr, uid, st.journal_id.company_id.id)
+            company_currency_id = company_id.currency_id.id
             if not st.name == '/':
                 st_number = st.name
             else:
@@ -1821,7 +1916,6 @@
             st_line.refresh()
             st_line_number = statement_pool.get_next_st_line_number(
                 cr, uid, st_number, st_line, context)
-            company_currency_id = st.journal_id.company_id.currency_id.id
             statement_pool.create_move_from_st_line(
                 cr, uid, st_line.id, company_currency_id, st_line_number, context)
             self.write(

=== added file 'account_banking/i18n/es_CR.po'
--- account_banking/i18n/es_CR.po	1970-01-01 00:00:00 +0000
+++ account_banking/i18n/es_CR.po	2013-02-25 14:52:29 +0000
@@ -0,0 +1,1803 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* account_banking
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-22 20:23+0000\n"
+"PO-Revision-Date: 2013-02-22 20:23+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_banking
+#: field:account.bank.statement.line,reconcile_id:0
+msgid "Reconciliation"
+msgstr "Reconciliación"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Remove duplicate flag"
+msgstr "Eliminar bandera duplicada"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:451
+#: code:addons/account_banking/banking_import_transaction.py:461
+#, python-format
+msgid "Please select one of the matches in transaction %s.%s"
+msgstr "Por favor seleccione una de las coincidencias en la transacción  %s.%s"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_eangl:0
+msgid "remote_bank_eangln"
+msgstr "remote_bank_eangln"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,move_line_ids:0
+msgid "Entry lines"
+msgstr "Entry lines"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:386
+#, python-format
+msgid "Number of bank costs invoices created"
+msgstr "Número de facturas de gasto bancario creadas"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1147
+#: code:addons/account_banking/banking_import_transaction.py:617
+#: code:addons/account_banking/banking_import_transaction.py:629
+#: code:addons/account_banking/banking_import_transaction.py:633
+#, python-format
+msgid "Cannot unreconcile"
+msgstr "No puede conciliarse"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Unknown"
+msgstr "Desconocido"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:634
+#, python-format
+msgid "Unreconcile payment order not implemented"
+msgstr "Pago no conciliado de una orden no implementado"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1047
+#, python-format
+msgid "Cannot check for duplicate. I can't find myself."
+msgstr "No se puede comprobar el duplicado. No se puede encontrar."
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:374
+#, python-format
+msgid "Number of errors found"
+msgstr "Numero de errores encontrados"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:269
+#, python-format
+msgid "Statement %(statement_id)s for account %(bank_account)s uses different currency than the defined bank journal."
+msgstr "Extracto %(statement_id)s para la cuenta %(bank_account)s usa diferente moneda de la que se encuentra definida en el diario de la cuenta de banco"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Select the processing details:"
+msgstr "Seleccione los detalles del proceso: "
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1478
+#, python-format
+msgid "Invalid format"
+msgstr "Formato inválido"
+
+#. module: account_banking
+#: field:banking.import.line,banking_import_id:0
+msgid "Bank import"
+msgstr "Bank import"
+
+#. module: account_banking
+#: field:banking.import.line,statement_id:0
+#: field:banking.import.transaction,statement_id:0
+msgid "Statement"
+msgstr "Extracto"
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+msgid "Statement lines"
+msgstr "Líneas de extracto"
+
+#. module: account_banking
+#: selection:banking.import.line,type:0
+msgid "Supplier"
+msgstr "Proveedor"
+
+#. module: account_banking
+#: field:payment.line,date_done:0
+msgid "Date Confirmed"
+msgstr "Fecha de confirmación"
+
+#. module: account_banking
+#: view:account.bank.imported.line:0
+msgid "Search Bank Statement files"
+msgstr "Buscar archivos de extractos bancarios"
+
+#. module: account_banking
+#: view:account.bank.statement:0
+#: view:account.bank.statement.line:0
+#: view:banking.transaction.wizard:0
+msgid "Match"
+msgstr "Igual"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+#: field:account.banking.bank.import,log:0
+msgid "Log"
+msgstr "Log"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:448
+#, python-format
+msgid "Cannot link transaction %s with invoice"
+msgstr "No se puede unir la transacción %s con la factura"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_banking_account_settings
+msgid "Default Journal for Bank Account"
+msgstr "Diario por defecto para la cuenta de Banco"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:846
+#, python-format
+msgid "Cannot cancel type %s\" % transaction.match_type),\n"
+"                    _(\"No method found to cancel this type"
+msgstr "No se puede cancelar el tipo %s\" % transaction.match_type),\n"
+"                    _(\"No existe el método para cancelar este tipo"
+
+#. module: account_banking
+#: field:account.banking.bank.import,import_id:0
+msgid "Import File"
+msgstr "Archivo a importar"
+
+#. module: account_banking
+#: field:banking.import.transaction,move_line_id:0
+msgid "Entry to reconcile"
+msgstr "Ingresos por conciliar"
+
+#. module: account_banking
+#: field:account.banking.account.settings,company_id:0
+#: field:account.banking.bank.import,company:0
+#: field:account.banking.imported.file,company_id:0
+#: field:banking.import.transaction,company_id:0
+msgid "Company"
+msgstr "Compañía"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: field:banking.import.line,payment_order_id:0
+#: selection:banking.import.transaction,match_type:0
+msgid "Payment order"
+msgstr "Pago"
+
+#. module: account_banking
+#: field:banking.import.transaction,parent_id:0
+msgid "Split off from this transaction"
+msgstr "Se separo de esta transacción"
+
+#. module: account_banking
+#: field:account.bank.statement.line,residual:0
+#: field:banking.import.transaction,residual:0
+#: field:banking.transaction.wizard,residual:0
+msgid "Residual"
+msgstr "Residual"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1951
+#, python-format
+msgid "Confirmed Statement Line"
+msgstr "Líneas de extracto confirmadas"
+
+#. module: account_banking
+#: field:account.banking.bank.import,date_to:0
+msgid "Date to"
+msgstr "Fecha hasta"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:119
+#, python-format
+msgid "Bank account %(account_no)s was not found in the database"
+msgstr "Cuenta bancaria %(account_no)s no encontrada en la base de datos"
+
+#. module: account_banking
+#: selection:account.banking.bank.import,state:0
+msgid "init"
+msgstr "init"
+
+#. module: account_banking
+#: field:banking.import.transaction,transferred_amount:0
+msgid "transferred_amount"
+msgstr "transferred_amount"
+
+#. module: account_banking
+#: model:ir.actions.act_window,name:account_banking.action_bank_statement_line_tree
+#: model:ir.ui.menu,name:account_banking.menu_bank_statement_line_tree
+msgid "Bank Transactions"
+msgstr "Transacciones de banco"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1859
+#, python-format
+msgid "You cannot confirm a bank transfer marked as a duplicate (%s.%s)"
+msgstr "No se pueden confirmar una transferencia bancaria marcada como duplicada(%s.%s)"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:557
+#, python-format
+msgid "Cannot link with storno"
+msgstr "Cannot link with storno"
+
+#. module: account_banking
+#: field:banking.import.line,statement_line_id:0
+msgid "Resulting statement line"
+msgstr "Línea de extracto resultante"
+
+#. module: account_banking
+#: field:banking.import.transaction,invoice_ids:0
+#: field:banking.transaction.wizard,invoice_ids:0
+msgid "Matching invoices"
+msgstr "Facturas que coinciden"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1596
+#, python-format
+msgid "Free Reference"
+msgstr "Referencia libre"
+
+#. module: account_banking
+#: field:banking.import.line,reconcile_id:0
+msgid "Reconciliaton"
+msgstr "Conciliación"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Transaction data"
+msgstr "Datos de transacción"
+
+#. module: account_banking
+#: field:banking.import.transaction,execution_date:0
+msgid "execution_date"
+msgstr "execution_date"
+
+#. module: account_banking
+#: field:account.banking.bank.import,account_bank:0
+#: field:banking.import.line,account_id:0
+msgid "Account"
+msgstr "Cuenta"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Current match"
+msgstr "Coincidencia actual"
+
+#. module: account_banking
+#: field:account.banking.account.settings,invoice_journal_id:0
+msgid "Costs Journal"
+msgstr "Diario de costo"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_currency:0
+msgid "remote_currency"
+msgstr "remote_currency"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:2025
+#, python-format
+msgid "Confirmed Statement Lines"
+msgstr "Extractos de líneas confirmadas"
+
+#. module: account_banking
+#: view:account.bank.statement:0
+#: view:account.bank.statement.line:0
+msgid "Cancel transaction"
+msgstr "Transacción cancelada"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1511
+#, python-format
+msgid "Invalid IBAN account number!"
+msgstr "Número de cuenta IBAN inválida !"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Canceled debit order"
+msgstr "Orden de débito cancelada"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1597
+#, python-format
+msgid "Structured Reference"
+msgstr "Referencia estructurada"
+
+#. module: account_banking
+#: view:account.banking.account.settings:0
+msgid "Default Import Settings for Bank Account"
+msgstr "Configuración por defecto para importación de las cuentas bancarias"
+
+#. module: account_banking
+#: field:banking.import.line,amount:0
+#: field:banking.transaction.wizard,amount:0
+msgid "Amount"
+msgstr "Monto"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:808
+#, python-format
+msgid "Line id not found"
+msgstr "Line id no encontrada"
+
+#. module: account_banking
+#: sql_constraint:account.move.line:0
+msgid "Wrong credit or debit value in accounting entry !"
+msgstr "¡Valor haber o debe erróneo en el asiento contable!"
+
+#. module: account_banking
+#: field:account.banking.imported.file,file:0
+msgid "Raw Data"
+msgstr "Raw Data"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1996
+#, python-format
+msgid "Please verify that an account is defined in the journal."
+msgstr "Por favor verifique que las cuentas esté definidas en el diario"
+
+#. module: account_banking
+#: constraint:account.move.line:0
+msgid "The date of your Journal Entry is not in the defined period! You should change the date or remove this constraint from the journal."
+msgstr "¡La fecha de su asiento no está en el periodo definido! Usted debería cambiar la fecha o borar esta restricción del diario."
+
+#. module: account_banking
+#: selection:payment.line,export_state:0
+msgid "Cancelled"
+msgstr "Cancelado"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+#: view:account.banking.imported.file:0
+#: field:account.banking.imported.file,statement_ids:0
+msgid "Statements"
+msgstr "Extractos"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,payment_line_id:0
+msgid "Matching payment or storno"
+msgstr "Contrapartida o notas de crédito"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:131
+#, python-format
+msgid "Unable to import parser %(parser)s. Parser class not found."
+msgstr "No se puede importar intérprete de extracto %(parser)s. Tipo de intérprete no encontrado."
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr "Línea de extracto bancario"
+
+#. module: account_banking
+#: field:account.bank.statement.line,duplicate:0
+msgid "Possible duplicate import"
+msgstr "Importación posiblemente duplicada"
+
+#. module: account_banking
+#: field:banking.import.line,ref:0
+#: field:banking.transaction.wizard,ref:0
+msgid "Reference"
+msgstr "Referencia"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:540
+#, python-format
+msgid "Journal Item \"%s\" is not valid"
+msgstr "Journal Item \"%s\" is not valid"
+
+#. module: account_banking
+#: field:account.banking.account.settings,default_debit_account_id:0
+msgid "Default debit account"
+msgstr "Cuenta de débito por defecto"
+
+#. module: account_banking
+#: model:ir.actions.act_window,name:account_banking.act_account_banking_import_wizard
+#: model:ir.actions.act_window,name:account_banking.wizard_account_banking_import_file
+#: model:ir.ui.menu,name:account_banking.menu_account_banking_import_wizard
+msgid "Import Bank Statements File"
+msgstr "Importar archivos de extractos bancarios"
+
+#. module: account_banking
+#: constraint:account.bank.statement:0
+msgid "The journal and period chosen have to belong to the same company."
+msgstr "El diario y periodo seleccionados tienen que pertenecer a la misma compañía"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: selection:banking.import.transaction,match_type:0
+#: selection:payment.mode.type,payment_order_type:0
+#: selection:payment.order,payment_order_type:0
+msgid "Payment"
+msgstr "Pago"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,analytic_account_id:0
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1856
+#, python-format
+msgid "Bank transfer flagged as duplicate"
+msgstr "Transferencia de banco marcada como duplicada"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: selection:banking.import.transaction,match_type:0
+msgid "Move"
+msgstr "Movimiento"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:323
+#, python-format
+msgid "Unknown Bank"
+msgstr "Banco desconocido"
+
+#. module: account_banking
+#: field:account.banking.bank.import,date_from:0
+msgid "Date from"
+msgstr "Fecha desde"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+#: model:ir.model,name:account_banking.model_banking_transaction_wizard
+msgid "Match transaction"
+msgstr "Match transaction"
+
+#. module: account_banking
+#: field:banking.import.transaction,statement_line_id:0
+#: field:banking.transaction.wizard,statement_line_id:0
+msgid "Statement line"
+msgstr "Línea de extracto"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_payment_order_create
+msgid "payment.order.create"
+msgstr "pago.orden.crear"
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+#: selection:payment.line,export_state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: account_banking
+#: field:account.banking.imported.file,date:0
+msgid "Import Date"
+msgstr "Fecha de importación"
+
+#. module: account_banking
+#: field:payment.mode.type,suitable_bank_types:0
+msgid "Suitable bank types"
+msgstr "Tipo de banco apropiado"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:452
+#: code:addons/account_banking/banking_import_transaction.py:462
+#, python-format
+msgid "No match found for transaction %s.%s"
+msgstr "Ninguna coincidencia para la transacción %s.%s"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Select"
+msgstr "Seleccione"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Payment from a payment order"
+msgstr "Pago de una orden de pago"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_bei:0
+msgid "remote_bank_bei"
+msgstr "remote_bank_bei"
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+#: selection:payment.line,export_state:0
+msgid "Confirmed"
+msgstr "Confirmado"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_voucher
+msgid "Accounting Voucher"
+msgstr "Comprobantes contables"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner_city:0
+msgid "remote_owner_city"
+msgstr "remote_owner_city"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner:0
+msgid "remote_owner"
+msgstr "remote_owner"
+
+#. module: account_banking
+#: view:account.banking.account.settings:0
+msgid "Default Accounts for Unknown Movements"
+msgstr "Cuenta por defecto para movimientos desconocidos"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Confirm"
+msgstr "Confirmar"
+
+#. module: account_banking
+#: field:banking.import.transaction,reference:0
+msgid "reference"
+msgstr "Referencia"
+
+#. module: account_banking
+#: field:account.banking.account.settings,default_credit_account_id:0
+msgid "Default credit account"
+msgstr "Cuenta de crédito por defecto"
+
+#. module: account_banking
+#: field:account.bank.statement.line,period_id:0
+#: field:banking.import.line,period_id:0
+msgid "Period"
+msgstr "Periodo"
+
+#. module: account_banking
+#: field:banking.import.line,transaction_type:0
+msgid "Transaction type"
+msgstr "Tipo de transacción"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1434
+#, python-format
+msgid "Insufficient data to select online conversion database"
+msgstr "Datos insuficientes para seleccionar una conversión en línea."
+
+#. module: account_banking
+#: field:account.bank.statement.line,trans:0
+msgid "Bank Transaction ID"
+msgstr "ID de transacción de banco"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_payment_mode
+msgid "Payment Mode"
+msgstr "Modo de pago"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Match again"
+msgstr "Match again"
+
+#. module: account_banking
+#: help:account.banking.account.settings,invoice_journal_id:0
+msgid "This is the journal used to create invoices for bank costs."
+msgstr "Este es el diario que se utiliza para crear facturas de costos de banco."
+
+#. module: account_banking
+#: selection:banking.import.line,type:0
+msgid "General"
+msgstr "General"
+
+#. module: account_banking
+#: field:banking.import.line,type:0
+msgid "Type"
+msgstr "Type"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:291
+#, python-format
+msgid "Statement %(id)s known - skipped"
+msgstr "Extracto %(id)s conocido - ignorado"
+
+#. module: account_banking
+#: selection:payment.line,export_state:0
+msgid "Sent"
+msgstr "Enviado"
+
+#. module: account_banking
+#: field:banking.import.line,name:0
+#: field:banking.transaction.wizard,name:0
+#: field:payment.mode.type,name:0
+msgid "Name"
+msgstr "Nombre"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,move_line_id:0
+msgid "Entry line"
+msgstr "Línea de ingreso"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Invoice payment"
+msgstr "Factura de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1918
+#, python-format
+msgid "Cannot cancel bank transaction"
+msgstr "No se puede cancelar la transacción de banco"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:539
+#: code:addons/account_banking/banking_import_transaction.py:2001
+#, python-format
+msgid "Error !"
+msgstr "Error !"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1466
+#, python-format
+msgid "Invalid data"
+msgstr "Datos inválidos"
+
+#. module: account_banking
+#: field:banking.import.transaction,provision_costs_currency:0
+msgid "provision_costs_currency"
+msgstr "provision_costs_currency"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:784
+#: code:addons/account_banking/banking_import_transaction.py:788
+#: code:addons/account_banking/banking_import_transaction.py:807
+#, python-format
+msgid "Cannot cancel link with storno"
+msgstr "No se puede cancelar enlace con la nota de crédito"
+
+#. module: account_banking
+#: view:account.banking.imported.file:0
+msgid "Import Details"
+msgstr "Detalles de importación"
+
+#. module: account_banking
+#: field:banking.import.transaction,writeoff_move_line_id:0
+msgid "Write off move line"
+msgstr "Cancelar líneas"
+
+#. module: account_banking
+#: selection:payment.line,export_state:0
+msgid "Rejected"
+msgstr "Rechazado"
+
+#. module: account_banking
+#: model:ir.actions.act_window,name:account_banking.action_account_banking_journals
+#: model:ir.ui.menu,name:account_banking.menu_action_account_banking_bank_journals
+msgid "Default Import Settings for Bank Accounts"
+msgstr "Configuración por defecto para la importación de las cuentas de banco"
+
+#. module: account_banking
+#: field:account.banking.account.settings,bank_partner_id:0
+msgid "Bank Partner"
+msgstr "Socio de banco"
+
+#. module: account_banking
+#: help:account.banking.bank.import,file:0
+msgid "The Transactions File to import. Please note that while it is perfectly safe to reload the same file multiple times or to load in timeframe overlapping statements files, there are formats that may introduce different sequencing, which may create double entries.\n"
+"\n"
+"To stay on the safe side, always load bank statements files using the same format."
+msgstr "Las transacciones de archivos a importar. Tenga en cuenta que si bien es perfectamente seguro para volver a cargar los mismo archivo varias veces o para cargar archivos en plazo superposición declaraciones, hay formatos que pueden introducir diferentes secuencias, lo que puede crear entradas dobles.\n"
+"\n"
+"Para estar seguros, siempre cargar estados de cuenta bancarios archivos utilizando el mismo formato"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,manual_invoice_id:0
+msgid "Match this invoice"
+msgstr "Igualar esta factura"
+
+#. module: account_banking
+#: field:banking.import.transaction,payment_line_id:0
+msgid "Payment line"
+msgstr "Línea de pago"
+
+#. module: account_banking
+#: field:banking.import.transaction,payment_order_id:0
+#: field:banking.transaction.wizard,payment_order_id:0
+msgid "Payment order to reconcile"
+msgstr "Orden de pago a conciliar"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:405
+#, python-format
+msgid "Review Bank Statements"
+msgstr "Revisión de extractos bancarios"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,duplicate:0
+msgid "Flagged as duplicate"
+msgstr "Marcado como duplicado"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Transaction"
+msgstr "Transacción"
+
+#. module: account_banking
+#: field:account.banking.bank.import,statement_ids:0
+#: view:account.banking.imported.file:0
+msgid "Imported Bank Statements"
+msgstr "Extractos de banco importados"
+
+#. module: account_banking
+#: selection:payment.mode.type,payment_order_type:0
+#: selection:payment.order,payment_order_type:0
+msgid "Direct debit"
+msgstr "Débito directo"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_banking_import_transaction
+msgid "Bank import transaction"
+msgstr "Transacción de importación de bancos"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:60
+#, python-format
+msgid "No suitable fiscal year found for date %(date)s and company %(company_name)s"
+msgstr "Ningún año fiscal adecuado encontrado para %(date)s y la compañía %(company_name)s"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:587
+#, python-format
+msgid "Reconcile payment order not implemented"
+msgstr "Conciliar orden de pago que no se han aplicado"
+
+#. module: account_banking
+#: selection:account.banking.bank.import,state:0
+msgid "error"
+msgstr "error"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: selection:banking.import.transaction,match_type:0
+msgid "Manual"
+msgstr "Manual"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1919
+#, python-format
+msgid "The bank statement that this transaction belongs to has already been confirmed"
+msgstr "The bank statement that this transaction belongs to has already been confirmed"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:130
+#: code:addons/account_banking/wizard/bank_import.py:181
+#, python-format
+msgid "ERROR!"
+msgstr "ERROR!"
+
+#. module: account_banking
+#: view:payment.order:0
+msgid "Make Payments"
+msgstr "Realizar pagos"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:219
+#, python-format
+msgid "Account %(account_no)s is not owned by %(partner)s"
+msgstr "Cuenta %(account_no)s no es propiedad de %(partner)s"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1575
+#, python-format
+msgid "My reference"
+msgstr "Mi referencia"
+
+#. module: account_banking
+#: field:banking.import.line,partner_id:0
+#: field:banking.transaction.wizard,partner_id:0
+msgid "Partner"
+msgstr "Socio"
+
+#. module: account_banking
+#: field:banking.import.transaction,storno_retry:0
+msgid "storno_retry"
+msgstr "storno_retry"
+
+#. module: account_banking
+#: field:banking.import.transaction,payment_option:0
+#: field:banking.transaction.wizard,payment_option:0
+msgid "Payment Difference"
+msgstr "Diferencia de pago"
+
+#. module: account_banking
+#: constraint:account.bank.statement.line:0
+msgid "The amount of the voucher must be the same amount as the one on the statement line"
+msgstr "El importe del recibo debe ser el mismo importe que el de la línea del extracto"
+
+#. module: account_banking
+#: field:banking.import.transaction,effective_date:0
+msgid "effective_date"
+msgstr "effective_date"
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+msgid "Search Bank Transactions "
+msgstr "Buscar transacciones de banco "
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:192
+#, python-format
+msgid "More then one possible match found for partner with name %(name)s"
+msgstr "Más de una posible coincidencia encontrada para el socio con nombre %(name)s"
+
+#. module: account_banking
+#: view:account.bank.statement.line:0
+#: field:account.bank.statement.line,state:0
+#: field:account.banking.bank.import,state:0
+#: field:account.banking.imported.file,state:0
+#: field:payment.line,export_state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Import Bank Transactions File"
+msgstr "Archivo para importar transacciones de banco"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:871
+#, python-format
+msgid "Cannot reconcile type %s. No method found to \" +\n"
+"                      \"reconcile this type"
+msgstr "No se puede conciliar el tipo %s. Método no encontrado para \" +\n"
+"                      \"conciliar este tipo"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_tax_id:0
+msgid "remote_bank_tax_id"
+msgstr "remote_bank_tax_id"
+
+#. module: account_banking
+#: field:account.banking.bank.import,file:0
+msgid "Statements File"
+msgstr "Archivo de extractos"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:583
+#, python-format
+msgid "Cannot reconcile: no direct debit order"
+msgstr "No se puede conciliar: No existe orden de débito directo"
+
+#. module: account_banking
+#: constraint:account.move.line:0
+msgid "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."
+msgstr "La cuenta seleccionada en su asiento fuerza a tener una moneda secundaria. Debería eliminar la moneda secundaria de la cuenta o asignar al diario una vista multi-moneda"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1479
+#, python-format
+msgid "The account number has the wrong format for %(country)s"
+msgstr "El número de cuenta tiene un formato erróneo para %(country)s"
+
+#. module: account_banking
+#: field:account.bank.statement.line,currency:0
+#: field:banking.import.line,currency:0
+msgid "Currency"
+msgstr "Moneda"
+
+#. module: account_banking
+#: field:banking.import.transaction,statement:0
+msgid "statement"
+msgstr "extracto"
+
+#. module: account_banking
+#: field:banking.import.transaction,bank_country_code:0
+msgid "Bank country code"
+msgstr "Código de país para el banco"
+
+#. module: account_banking
+#: help:payment.mode.type,ir_model_id:0
+msgid "Select the Payment Wizard for payments of this type. Leave empty for manual processing"
+msgstr "Seleccione el asistente de pagos para los pagos de este tipo. Dejar en blanco para el proceso manual"
+
+#. module: account_banking
+#: field:banking.import.transaction,transaction:0
+msgid "transaction"
+msgstr "transacción"
+
+#. module: account_banking
+#: field:payment.line,msg:0
+msgid "Message"
+msgstr "Mensaje"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_banking_bank_import
+msgid "account.banking.bank.import"
+msgstr "account.banking.bank.import"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:213
+#, python-format
+msgid "More than one bank account was found with the same number %(account_no)s"
+msgstr "Más de una cuenta bancaria se encontró con el mismo número %(account_no)s"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+#: field:banking.transaction.wizard,match_multi:0
+msgid "Multiple matches"
+msgstr "Múltiples coincidencias"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: selection:banking.import.transaction,match_type:0
+#: model:ir.model,name:account_banking.model_account_invoice
+msgid "Invoice"
+msgstr "Factura"
+
+#. module: account_banking
+#: code:addons/account_banking/parsers/models.py:273
+#, python-format
+msgid "Invalid value for transfer_type"
+msgstr "Valor inválido para transfer_type"
+
+#. module: account_banking
+#: selection:account.banking.imported.file,state:0
+msgid "Review"
+msgstr "Revisión"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,manual_move_line_id:0
+msgid "Or match this entry"
+msgstr "O emparejar este ingreso"
+
+#. module: account_banking
+#: help:payment.mode.type,name:0
+msgid "Payment Type"
+msgstr "Tipo de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1433
+#, python-format
+msgid "Insufficient data"
+msgstr "Datos insuficientes"
+
+#. module: account_banking
+#: help:account.banking.account.settings,default_debit_account_id:0
+msgid "The account to use when an unexpected payment is received. This can be needed when a customer pays in advance or when no matching invoice can be found. Mind that you can correct movements before confirming them."
+msgstr "La cuenta debe utilizarse cuando un pago inesperado que se recibe. Esto puede ser necesario cuando un cliente paga por adelantado o cuando no se factura a juego puede ser encontrado. Cuenta que usted puede corregir los movimientos antes de confirmarlos."
+
+#. module: account_banking
+#: field:payment.mode.type,payment_order_type:0
+#: field:payment.order,payment_order_type:0
+msgid "Payment order type"
+msgstr "Tipo de orden de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:372
+#, python-format
+msgid "Total number of transactions"
+msgstr "Número total de transacciones"
+
+#. module: account_banking
+#: field:banking.import.line,duplicate:0
+#: view:banking.transaction.wizard:0
+msgid "Duplicate"
+msgstr "Duplicado"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1866
+#, python-format
+msgid "You have to define an analytic journal on the '%s' journal!"
+msgstr "Se tiene que definir un diario analítico para el %s' diario!"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1995
+#, python-format
+msgid "Configuration Error !"
+msgstr "Error de configuración !"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Disable reconciliation"
+msgstr "Conciliación desactivada"
+
+#. module: account_banking
+#: model:ir.actions.act_window,name:account_banking.act_account_payment_account_bank_statement
+msgid "Bank Statements File"
+msgstr "Archivo de extractos de banco"
+
+#. module: account_banking
+#: code:addons/account_banking/parsers/models.py:382
+#, python-format
+msgid "This is a stub. Please implement your own."
+msgstr "This is a stub. Please implement your own."
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Import"
+msgstr "Importar"
+
+#. module: account_banking
+#: field:banking.import.transaction,message:0
+msgid "message"
+msgstr "mensaje"
+
+#. module: account_banking
+#: view:account.bank.statement:0
+#: view:account.bank.statement.line:0
+msgid "Confirm transaction"
+msgstr "Transacción confirmada"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:78
+#, python-format
+msgid "No suitable period found for date %(date)s and company %(company_name)s"
+msgstr "No se ha encontrado período adecuado para la %(date)s y la compañía %(company_name)s"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Choose what you want to do with the eventual difference between the paid amount and the sum of allocated amounts. You can either choose to keep open this difference on the partner's account, or reconcile it with the payment."
+msgstr "Elige lo que quieres hacer con la diferencia eventual entre el importe pagado y la suma de las cantidades asignadas. Usted puede optar por mantener abierta esta diferencia en la cuenta del socio, o conciliarlo con el pago."
+
+#. module: account_banking
+#: field:account.bank.statement.line,invoice_id:0
+msgid "Linked Invoice"
+msgstr "Enlazar factura"
+
+#. module: account_banking
+#: field:banking.import.transaction,local_currency:0
+msgid "local_currency"
+msgstr "local_currency"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "This bank transfer was marked as a duplicate. You can either confirm that this is not the case, or remove the bank transfer from the system."
+msgstr "Esta transferencia fue marcada como duplicada. Usted puede confirmar que este no es el caso, o eliminar la transferencia desde el sistema."
+
+#. module: account_banking
+#: view:account.banking.imported.file:0
+#: model:ir.actions.act_window,name:account_banking.action_account_banking_imported_files
+#: model:ir.ui.menu,name:account_banking.menu_action_account_banking_imported_files
+msgid "Imported Bank Statements Files"
+msgstr "Extractos de Importación de archivos del Banco"
+
+#. module: account_banking
+#: help:banking.import.transaction,payment_option:0
+msgid "This field helps you to choose what you want to do with the eventual difference between the paid amount and the sum of allocated amounts. You can either choose to keep open this difference on the partner's account, or reconcile it with the payment(s)"
+msgstr "Este campo le permite elegir lo que quiere hacer con la diferencia eventual entre el importe pagado y la suma de las cantidades asignadas. Usted puede optar por mantener abierta esta diferencia en la cuenta del socio, o conciliarlo con el pago (s)"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1251
+#, python-format
+msgid "Transaction found for unknown account %(bank_account)s"
+msgstr "Transacciones encontradas para cuenta desconocida %(bank_account)s"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_duns:0
+msgid "remote_bank_duns"
+msgstr "remote_bank_duns"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:238
+#, python-format
+msgid "Statements found for unknown account %(bank_account)s"
+msgstr "Transacciones encontradas para cuenta desconocida %(bank_account)s"
+
+#. module: account_banking
+#: field:banking.import.transaction,duplicate:0
+msgid "duplicate"
+msgstr "duplicado"
+
+#. module: account_banking
+#: field:account.bank.statement,banking_id:0
+msgid "Imported File"
+msgstr "Archivos importados"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Aggregate payment order"
+msgstr "Agregar order de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1052
+#, python-format
+msgid "You can only combine payment orders of the same type"
+msgstr "Sólo se pueden combinar las órdenes de pago del mismo tipo"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner_custno:0
+msgid "remote_owner_custno"
+msgstr "remote_owner_custno"
+
+#. module: account_banking
+#: view:account.banking.imported.file:0
+#: field:account.banking.imported.file,log:0
+msgid "Import Log"
+msgstr "Import Log"
+
+#. module: account_banking
+#: field:banking.import.line,date:0
+#: field:banking.transaction.wizard,date:0
+msgid "Date"
+msgstr "Fecha"
+
+#. module: account_banking
+#: view:account.banking.account.settings:0
+msgid "Generation of Bank Costs Invoices"
+msgstr "Generación de costos de facturas de banco"
+
+#. module: account_banking
+#: constraint:account.move.line:0
+msgid "You can not create journal items on an account of type view."
+msgstr "No puede crear asientos en una cuenta de tipo vista"
+
+#. module: account_banking
+#: field:banking.import.transaction,type:0
+msgid "type"
+msgstr "tipo"
+
+#. module: account_banking
+#: field:banking.import.transaction,provision_costs:0
+msgid "provision_costs"
+msgstr "provision_costs"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "You can disable the reconciliation of this bank transfer"
+msgstr "Puede desactivar la reconciliación de la transferencia bancaria"
+
+#. module: account_banking
+#: constraint:res.partner.bank:0
+msgid "\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
+msgstr "\n"
+"Por favor defina el código BIC/Swift en el banco de cuentas IBAN para realizar pagos válidos"
+
+#. module: account_banking
+#: field:account.bank.statement.line,import_transaction_id:0
+#: field:banking.transaction.wizard,import_transaction_id:0
+msgid "Import transaction"
+msgstr "Importar transacción"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banking_transaction_wizard.py:155
+#, python-format
+msgid "No entry found for the selected invoice. \" +\n"
+"                              \"Try manual reconciliation."
+msgstr "Ningún ingreso encontrado para la factura seleccionada. \" +\n"
+"                              \"Intente conciliación manual."
+
+#. module: account_banking
+#: field:banking.import.transaction,error_message:0
+msgid "error_message"
+msgstr "error_message"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:83
+#, python-format
+msgid "Multiple overlapping periods for date %(date)s and company %(company_name)s"
+msgstr "Varios períodos que se superpongan la fecha %(date)s y la compañía %(company_name)s"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:182
+#, python-format
+msgid "The imported statements appear to be invalid! Check your file."
+msgstr "Los extractos importados aparecen como no válida! Revise su archivo."
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:378
+#, python-format
+msgid "Number of transactions skipped due to errors"
+msgstr "Número de transacciones omitidas debido a errores"
+
+#. module: account_banking
+#: constraint:account.move.line:0
+msgid "You can not create journal items on closed account."
+msgstr "No puede crear asientos en cuentas cerradas"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:2005
+#, python-format
+msgid "Statement %s is confirmed, journal items are created."
+msgstr "Extracto %s es confirmado, líneas de asiento fueron creadas"
+
+#. module: account_banking
+#: field:banking.import.transaction,writeoff_analytic_id:0
+msgid "Write off analytic account"
+msgstr "Cancelar cuenta analítica"
+
+#. module: account_banking
+#: model:ir.ui.menu,name:account_banking.menu_finance_banking_actions
+#: model:ir.ui.menu,name:account_banking.menu_finance_banking_settings
+msgid "Banking"
+msgstr "Banca"
+
+#. module: account_banking
+#: help:payment.mode,type:0
+msgid "Select the Payment Type for the Payment Mode."
+msgstr "Seleccione el tipo de pago para el modo de pago."
+
+#. module: account_banking
+#: field:payment.order,date_sent:0
+msgid "Send date"
+msgstr "Fecha de envío"
+
+#. module: account_banking
+#: help:payment.mode.type,code:0
+msgid "Specify the Code for Payment Type"
+msgstr "Especifique el código de tipo de pago"
+
+#. module: account_banking
+#: selection:account.banking.imported.file,state:0
+#: code:addons/account_banking/account_banking.py:1051
+#: code:addons/account_banking/wizard/bank_import.py:406
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1261
+#, python-format
+msgid "Transaction found for account %(bank_account)s, but no default journal was defined."
+msgstr "Transacción encontrada para la cuenta %(bank_account)s, pero no se definió diario por defecto."
+
+#. module: account_banking
+#: field:payment.mode.type,ir_model_id:0
+msgid "Payment wizard"
+msgstr "Asistente de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:458
+#, python-format
+msgid "Cannot link transaction %s with accounting entry"
+msgstr "No se puede enlazar transacción %s con los ingresos de la cuenta"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1286
+#, python-format
+msgid "transaction %(statement_id)s.%(transaction_id)s for account %(bank_account)s uses different currency than the defined bank journal."
+msgstr "transacción %(statement_id)s.%(transaction_id)s para la cuenta %(bank_account)s utiliza diferente moneda que el diario de banco definido."
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Set write-off account"
+msgstr "Establecer la cuenta a cancelada"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banking_transaction_wizard.py:154
+#, python-format
+msgid "No entry found for the selected invoice"
+msgstr "No hay artículos para la factura seleccionada"
+
+#. module: account_banking
+#: field:banking.import.transaction,invoice_id:0
+#: field:banking.transaction.wizard,invoice_id:0
+msgid "Invoice to reconcile"
+msgstr "Facturas para conciliar"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:370
+#, python-format
+msgid "Total number of statements"
+msgstr "Número total de extractos"
+
+#. module: account_banking
+#: sql_constraint:account.invoice:0
+msgid "Invoice Number must be unique per Company!"
+msgstr "¡El número de factura debe ser único por empresa!"
+
+#. module: account_banking
+#: field:payment.mode.type,code:0
+msgid "Code"
+msgstr "Código"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Manual match"
+msgstr "Manual match"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1148
+#, python-format
+msgid "Cannot unreconcile debit order: \"+\n"
+"              \"Not implemented."
+msgstr "No se puede conciliar orden de débito: \"+\n"
+"              \"No implementado."
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Multiple matches were found for this bank transfer. You must pick one of the matches or select a match manually below."
+msgstr "Varios partidos se encontraron resultados para esta transferencia bancaria. Debe seleccionar uno de los partidos o seleccionar manualmente un partido de abajo."
+
+#. module: account_banking
+#: field:banking.transaction.wizard,writeoff_analytic_id:0
+msgid "Write-off analytic account"
+msgstr "Cancelar cuenta analítica"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,payment_order_ids:0
+msgid "Matching payment orders"
+msgstr "Coincidir órdenes de pago"
+
+#. module: account_banking
+#: model:ir.actions.act_window,name:account_banking.action_account_banking_res_partner_banks
+#: model:ir.model,name:account_banking.model_res_partner_bank
+#: model:ir.ui.menu,name:account_banking.menu_action_account_banking_bank_accounts
+msgid "Bank Accounts"
+msgstr "Cuentas bancarias"
+
+#. module: account_banking
+#: field:banking.import.transaction,local_account:0
+msgid "local_account"
+msgstr "local_account"
+
+#. module: account_banking
+#: field:account.bank.statement.line,international:0
+msgid "International Transaction"
+msgstr "Transacciones internacionales"
+
+#. module: account_banking
+#: selection:banking.import.transaction,payment_option:0
+#: selection:banking.transaction.wizard,payment_option:0
+msgid "Reconcile Payment Balance"
+msgstr "Coniliación de Balance de Pago"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "Extracto bancario"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner_postalcode:0
+msgid "remote_owner_postalcode"
+msgstr "remote_owner_postalcode"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+#: selection:payment.line,export_state:0
+msgid "Done"
+msgstr "Finalizado"
+
+#. module: account_banking
+#: field:banking.import.transaction,writeoff_amount:0
+msgid "Difference Amount"
+msgstr "Monto de diferencia"
+
+#. module: account_banking
+#: view:payment.order:0
+msgid "Select Invoices to Pay"
+msgstr "Seleccionar facturas a pagar"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Cancel"
+msgstr "Cancelado"
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+msgid "Close"
+msgstr "Cerrado"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner_address:0
+msgid "remote_owner_address"
+msgstr "remote_owner_address"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_move_line
+msgid "Journal Items"
+msgstr "Apuntes contables"
+
+#. module: account_banking
+#: field:banking.import.line,invoice_ids:0
+msgid "unknown"
+msgstr "desconocido"
+
+#. module: account_banking
+#: field:account.banking.imported.file,user_id:0
+msgid "Responsible User"
+msgstr "Usuario responsable"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1863
+#, python-format
+msgid "No Analytic Journal !"
+msgstr "No Diario Analitico !"
+
+#. module: account_banking
+#: field:banking.import.transaction,writeoff_account_id:0
+#: field:banking.transaction.wizard,writeoff_account_id:0
+msgid "Write-off account"
+msgstr "Cancelar cuenta"
+
+#. module: account_banking
+#: selection:account.banking.imported.file,state:0
+msgid "Unfinished"
+msgstr "Inconcluso"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "Write-Off"
+msgstr "Cancelar"
+
+#. module: account_banking
+#: constraint:account.move.line:0
+msgid "Company must be the same for its related account and period."
+msgstr "La compañía debe ser la misma para su cuenta y periodos relacionados"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banking_transaction_wizard.py:176
+#, python-format
+msgid "Cannot select for reconcilion"
+msgstr "No puede ser seleccionado para conciliar"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1188
+#, python-format
+msgid "Cannot perform match"
+msgstr "Cannot perform match"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_payment_order
+msgid "Payment Order"
+msgstr "Orden de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:380
+#, python-format
+msgid "Number of statements loaded"
+msgstr "Número de extractos cargados"
+
+#. module: account_banking
+#: field:banking.import.transaction,provision_costs_description:0
+msgid "provision_costs_description"
+msgstr "provision_costs_description"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:879
+#, python-format
+msgid "Bank transaction %s: write off not implemented for \" +\n"
+"                          \"this match type."
+msgstr "Bank transaction %s: write off not implemented for \" +\n"
+"                          \"this match type."
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:630
+#, python-format
+msgid "Cannot unreconcile: no direct debit order"
+msgstr "No se puede conciliar: no existe orden de débito directo"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1512
+#: code:addons/account_banking/account_banking.py:1518
+#, python-format
+msgid "The IBAN number doesn't seem to be correct"
+msgstr "El número IBAN parece no estar correcto"
+
+#. module: account_banking
+#: selection:banking.import.line,transaction_type:0
+msgid "Bank costs"
+msgstr "Costos bancarios"
+
+#. module: account_banking
+#: field:account.bank.statement.line,match_multi:0
+#: field:banking.import.transaction,match_multi:0
+msgid "Multi match"
+msgstr "Multi match"
+
+#. module: account_banking
+#: field:account.bank.statement.line,match_type:0
+#: field:banking.import.transaction,match_type:0
+#: field:banking.transaction.wizard,match_type:0
+msgid "Match type"
+msgstr "Match type"
+
+#. module: account_banking
+#: help:banking.import.transaction,bank_country_code:0
+msgid "Fallback default country for new partner records, as defined by the import parser"
+msgstr "País por defecto de retorno para los registros de nuevos socios, como se define por el analizador de importación"
+
+#. module: account_banking
+#: selection:account.banking.bank.import,state:0
+msgid "ready"
+msgstr "listo"
+
+#. module: account_banking
+#: field:banking.import.transaction,move_line_ids:0
+msgid "Matching entries"
+msgstr "Matching entries"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banking_transaction_wizard.py:177
+#, python-format
+msgid "No entry found for the selected invoice. "
+msgstr "No se encontraron fondos para la factura seleccionada"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:362
+#, python-format
+msgid "Unable to link transaction id %(trans)s (ref: %(ref)s) to invoice: invoice %(invoice)s was already paid"
+msgstr "No se puede enlazar el id de la transacción %(trans)s (ref: %(ref)s) con la fatura: Factura %(invoice)s ya se encuentra pagada"
+
+#. module: account_banking
+#: field:account.banking.bank.import,parser:0
+#: field:account.banking.imported.file,format:0
+msgid "File Format"
+msgstr "Formato de archivo"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1189
+#, python-format
+msgid "Cannot perform match on a confirmed transaction"
+msgstr "Cannot perform match on a confirmed transaction"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/banktools.py:66
+#, python-format
+msgid "Multiple overlapping fiscal years found for date %(date)s and company %(company_name)s"
+msgstr "La superposición de múltiples ejercicios fiscales encontrados para la fecha %(date)s y la compañía %(company_name)s"
+
+#. module: account_banking
+#: field:account.banking.account.settings,journal_id:0
+msgid "Journal"
+msgstr "Diario"
+
+#. module: account_banking
+#: field:account.banking.account.settings,costs_account_id:0
+msgid "Bank Costs Account"
+msgstr "Cuenta de costos bancarios"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:376
+#, python-format
+msgid "Number of statements skipped due to errors"
+msgstr "Número de extractos omitidos debido a errores"
+
+#. module: account_banking
+#: selection:account.banking.imported.file,state:0
+msgid "Finished"
+msgstr "Finalizado"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_ibei:0
+msgid "remote_bank_ibei"
+msgstr "remote_bank_ibei"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_payment_line
+msgid "Payment Line"
+msgstr "Línea de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:1046
+#, python-format
+msgid "Cannot check for duplicate"
+msgstr "No se puede comprobar para encontrar su duplicado"
+
+#. module: account_banking
+#: view:account.banking.account.settings:0
+msgid "Bank Account Details"
+msgstr "Detalles de la cuenta de Banco"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_owner_country_code:0
+msgid "remote_owner_country_code"
+msgstr "remote_owner_country_code"
+
+#. module: account_banking
+#: field:banking.import.transaction,move_currency_amount:0
+msgid "Match Amount"
+msgstr "Match Amount"
+
+#. module: account_banking
+#: field:banking.import.line,note:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_res_bank
+msgid "Bank"
+msgstr "Banco"
+
+#. module: account_banking
+#: help:account.banking.bank.import,date_to:0
+msgid "Date to the staments apply for the bank extract"
+msgstr "Fecha para la que los extractos aplican en el extracto bancario"
+
+#. module: account_banking
+#: selection:banking.import.line,type:0
+msgid "Customer"
+msgstr "Cliente"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1138
+#: code:addons/account_banking/banking_import_transaction.py:582
+#: code:addons/account_banking/banking_import_transaction.py:586
+#: code:addons/account_banking/banking_import_transaction.py:870
+#: code:addons/account_banking/banking_import_transaction.py:878
+#, python-format
+msgid "Cannot reconcile"
+msgstr "No se puede conciliar"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,move_currency_amount:0
+msgid "Match Currency Amount"
+msgstr "Partida de monto de moneda"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:246
+#, python-format
+msgid "Statements found for account %(bank_account)s, but no default journal was defined."
+msgstr "Extractos encontrados para la cuenta %(bank_account)s, but no default journal was defined."
+
+#. module: account_banking
+#: help:account.banking.bank.import,date_from:0
+msgid "Date from the staments apply for the bank extract"
+msgstr "Fecha para la que los extractos aplican en el extracto bancario""
+
+#. module: account_banking
+#: field:account.bank.statement.line,partner_bank_id:0
+#: field:account.banking.account.settings,partner_bank_id:0
+#: field:banking.import.line,partner_bank_id:0
+msgid "Bank Account"
+msgstr "Cuenta de Banco"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:382
+#, python-format
+msgid "Number of transactions loaded"
+msgstr "Número de extractos bancarios"
+
+#. module: account_banking
+#: field:banking.import.transaction,payment_order_ids:0
+msgid "Payment orders"
+msgstr "Órdenes de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:558
+#: code:addons/account_banking/banking_import_transaction.py:785
+#, python-format
+msgid "No direct debit order item"
+msgstr "No direct debit order item"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:789
+#, python-format
+msgid "The direct debit order item is not marked for storno"
+msgstr "The direct debit order item is not marked for storno"
+
+#. module: account_banking
+#: help:account.banking.account.settings,costs_account_id:0
+msgid "The account to use when the bank invoices its own costs. Leave it blank to disable automatic invoice generation on bank costs."
+msgstr "La cuenta para utilizar cuando las facturas bancarias sus propias costas. Déjelo en blanco para desactivar la generación automática de facturas de gastos bancarios."
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1139
+#, python-format
+msgid "Cannot reconcile debit order: \"+\n"
+"              \"Not implemented."
+msgstr "No se puede conciliar la orden de débito: \"+\n"
+"              \"Not implemented."
+
+#. module: account_banking
+#: sql_constraint:payment.line:0
+msgid "The payment line name must be unique!"
+msgstr "¡El nombre de la línea de pago debe ser única!"
+
+#. module: account_banking
+#: code:addons/account_banking/account_banking.py:1467
+#, python-format
+msgid "The account number appears to be invalid for %(country)s"
+msgstr "El número de cuenta parece ser inválido para el país %(country)s"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:618
+#, python-format
+msgid "Cannot unreconcile: this operation is not yet supported for match type 'payment'"
+msgstr "No se puede conciliar: esta operación no es compatible aún con "pago" tipo de concordancia"
+
+#. module: account_banking
+#: field:banking.transaction.wizard,writeoff_journal_id:0
+msgid "Write-off journal"
+msgstr "Cancelar diario"
+
+#. module: account_banking
+#: field:payment.mode,type:0
+msgid "Payment type"
+msgstr "Tipo de pago"
+
+#. module: account_banking
+#: code:addons/account_banking/wizard/bank_import.py:384
+#, python-format
+msgid "Number of transactions matched"
+msgstr "Número de transacciones emparejadas"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_account:0
+msgid "remote_account"
+msgstr "remote_account"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_banking_import_line
+msgid "Bank import lines"
+msgstr "Importar líneas de banco"
+
+#. module: account_banking
+#: help:account.banking.account.settings,bank_partner_id:0
+msgid "The partner to use for bank costs. Banks are not partners by default. You will most likely have to create one."
+msgstr "La pareja que use para gastos bancarios. Los bancos no son socios por defecto. Lo más probable es que tenga que crear una."
+
+#. module: account_banking
+#: view:account.banking.bank.import:0
+#: field:account.banking.bank.import,line_ids:0
+msgid "Transactions"
+msgstr "Transacciones"
+
+#. module: account_banking
+#: code:addons/account_banking/banking_import_transaction.py:2002
+#, python-format
+msgid "The account entries lines are not in valid state."
+msgstr "Las anotaciones en cuenta las líneas no están en estado válido."
+
+#. module: account_banking
+#: selection:banking.import.transaction,payment_option:0
+#: selection:banking.transaction.wizard,payment_option:0
+msgid "Keep Open"
+msgstr "Mantener abierto"
+
+#. module: account_banking
+#: help:account.banking.account.settings,default_credit_account_id:0
+msgid "The account to use when an unexpected payment was signaled. This can happen when a direct debit payment is cancelled by a customer, or when no matching payment can be found.  Mind that you can correct movements before confirming them."
+msgstr "La cuenta debe utilizarse cuando un pago inesperado fue señalado. Esto puede suceder cuando un pago de débito directo se cancela por un cliente, o cuando no hay pago correspondiente se puede encontrar. Cuenta que usted puede corregir los movimientos antes de confirmarlos."
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_account_banking_imported_file
+msgid "Imported Bank Statements File"
+msgstr "Archivo de extractos de banco importados"
+
+#. module: account_banking
+#: model:ir.model,name:account_banking.model_payment_mode_type
+msgid "Payment Mode Type"
+msgstr "Tipo de modo de pago"
+
+#. module: account_banking
+#: view:banking.transaction.wizard:0
+msgid "You can let the system try to match this bank statement line again after you have made any changes in the database (for instance, add an invoice or a bank account)."
+msgstr "Puede dejar que el sistema intenta hacer coincidir esta línea extracto de cuenta de nuevo después de haber realizado cambios en la base de datos (por ejemplo, añadir una factura o una cuenta bancaria)."
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_bic:0
+msgid "remote_bank_bic"
+msgstr "remote_bank_bic"
+
+#. module: account_banking
+#: field:banking.import.transaction,exchange_rate:0
+msgid "exchange_rate"
+msgstr "exchange_rate"
+
+#. module: account_banking
+#: selection:account.bank.statement.line,match_type:0
+#: selection:banking.import.transaction,match_type:0
+msgid "Storno"
+msgstr "Nota de crédito"
+
+#. module: account_banking
+#: field:banking.import.transaction,remote_bank_chips_uid:0
+msgid "remote_bank_chips_uid"
+msgstr "remote_bank_chips_uid"
+

=== modified file 'account_banking/parsers/models.py'
--- account_banking/parsers/models.py	2012-01-17 08:48:10 +0000
+++ account_banking/parsers/models.py	2013-02-25 14:52:29 +0000
@@ -56,6 +56,7 @@
         check = float(self.start_balance)
         for transaction in self.transactions:
             check += float(transaction.transferred_amount)
+        x = abs(check - float(self.end_balance))
         return abs(check - float(self.end_balance)) < 0.0001
 
 class mem_bank_transaction(object):

=== modified file 'account_banking/wizard/bank_import.py'
--- account_banking/wizard/bank_import.py	2012-07-11 10:37:31 +0000
+++ account_banking/wizard/bank_import.py	2013-02-25 14:52:29 +0000
@@ -41,6 +41,7 @@
 from account_banking import sepa
 from banktools import *
 import decimal_precision as dp
+import re
 
 bt = models.mem_bank_transaction
 
@@ -53,6 +54,7 @@
        depending modules to initialize and add their parsers to the list
     '''
     return models.parser_type.get_parser_types()
+    #return []
 
 class banking_import_line(osv.osv_memory):
     _name = 'banking.import.line'
@@ -133,10 +135,47 @@
         # Get the company
         company = (banking_import.company or
                    user_obj.browse(cursor, uid, uid, context).company_id)
-
-        # Parse the file
-        statements = parser.parse(cursor, data)
-
+        
+        ########################################################################
+        '''
+            PASS THE PARAMETERS TO PARSER. IT'S MORE EASY AND CLEAR PASS FROM HERE.
+            The object banking_import have all the fields in the wizard.
+            For the parsers BAC and BCR don't need it.
+        '''
+        #number_account if the file haven't one.
+        account_number = self.extract_number(banking_import.account_bank.acc_number)
+        
+        #local_currency extracted from account_bank
+        if banking_import.account_bank.currency_id:
+            local_currency = banking_import.account_bank.currency_id.name
+        else:
+            local_currency = 'CRC'
+            
+        #date_to and date_from -> This used for identified the file (Davivienda parser)
+        date_from_str = banking_import.date_from
+        date_to_str = banking_import.date_to        
+        ########################################################################
+         
+        # Parse the file -> the parser for davivienda need all the parameters, the others parser don't need it.
+        '''
+            For BCR and BAC parsers. (this parsers don't need account_number, local_currency, 
+            date_from_str, date_to_str parameters, because the file have this information. 
+            The file for Davivienda don't have that information.
+            
+            To prevent other parsers not work with this specific parameter passing, ** kwargs is used, which allows dynamically pass parameters 
+            to functions. In all parsers must specify this parameter, if required pass parameters, passed through this dictionary, but the method 
+            is unknown and there is no need to change the original format parsers.
+            
+            account_number=account_number, local_currency=local_currency, date_from_str=date_from_str, 
+            date_to_str=date_to_str = pass through **kwargs and extract kwargs['parameter_name].
+            
+            parse is a generic name method that is used by all the parsers. When is selected the parser, call the method that 
+            corresponds to parser and execute the other methods. Not recommended change the name for this method, because should create 
+            a specific wizard for each parser that is created. 
+            
+        '''
+        statements = parser.parse(cursor, data, account_number=account_number, local_currency=local_currency, date_from_str=date_from_str, date_to_str=date_to_str)
+  
         if any([x for x in statements if not x.is_valid()]):
             raise osv.except_osv(
                 _('ERROR!'),
@@ -410,12 +449,11 @@
                 },
             ),
         'parser': fields.selection(
-            parser_types, 'File Format', required=True,
+            parser_types, 'File Format', 
             states={
                 'ready': [('readonly', True)],
                 'error': [('readonly', True)],
-                },
-            ),
+                }),
         'log': fields.text('Log', readonly=True),
         'state': fields.selection(
             [('init', 'init'),
@@ -424,26 +462,52 @@
              ],
             'State', readonly=True),
         'import_id': fields.many2one(
-            'account.banking.imported.file', 'Import File'),
-        # osv_memory does not seem to support one2many
+            'account.banking.imported.file', 'Import File'),        
         'statement_ids': fields.many2many(
             'account.bank.statement', 'rel_wiz_statements', 'wizard_id',
             'statement_id', 'Imported Bank Statements'),
         'line_ids': fields.one2many(
             'banking.import.line', 'banking_import_id', 'Transactions',
             ),
+        'account_bank': fields.many2one('res.partner.bank', 'Account',states={
+                'ready': [('readonly', True)],
+                'error': [('readonly', True)],
+                },),
+        'date_from':fields.date('Date from', 
+                                states={
+                                'ready': [('readonly', True)],
+                                'error': [('readonly', True)],}, 
+                            help="Date from the staments apply for the bank extract"),
+        'date_to':fields.date('Date to', 
+                              states={
+                              'ready': [('readonly', True)],
+                              'error': [('readonly', True)],}, 
+                              help="Date to the staments apply for the bank extract"),         
         }
-
+    
+    def onchange_account_parser(self, cr, uid, ids, account_bank=False, context=None):
+        vals = {}
+        list = []
+        if account_bank:
+            account_parser = self.pool.get('res.partner.bank').browse(cr, uid, account_bank, context=context).parser            
+        return {'value':{'parser': account_parser}}
+            
     def _default_parser_type(self, cr, uid, context=None):
         types = models.parser_type.get_parser_types()
         return types and types[0][0] or False
+    
+    def extract_number( self, account_number ):
+        cad = ''
+        result = re.findall(r'[0-9]+', account_number)
+               
+        for character in result:
+            cad = cad + character
+        return cad
 
     _defaults = {
         'state': 'init',
         'company': lambda s,cr,uid,c:
-            s.pool.get('res.company')._company_default_get(
-            cr, uid, 'bank.import.transaction', context=c),
-        'parser': _default_parser_type,
+            s.pool.get('res.company')._company_default_get(cr, uid, 'bank.import.transaction', context=c),
         }
 
 banking_import()

=== modified file 'account_banking/wizard/bank_import_view.xml'
--- account_banking/wizard/bank_import_view.xml	2012-05-02 15:09:49 +0000
+++ account_banking/wizard/bank_import_view.xml	2013-02-25 14:52:29 +0000
@@ -9,10 +9,13 @@
 		<form string="Import Bank Transactions File">
 		    <group colspan="4" states="init,ready,error">
 			<separator colspan="4" string="Select the processing details:"/>
-			<field name="company" colspan="1"/>
-			<field name="file"/>
-			<newline />
-			<field name="parser"/>
+			<field name="company" colspan="4"/>
+			<field name="account_bank" colspan="4" required="True" on_change="onchange_account_parser(account_bank, context)"/>
+			<field name="parser" colspan="4" invisible="True" required="True"/>
+		    <field name="date_from" attrs="{'invisible':[('parser','!=','Davivienda-Parser')], 'required':[('parser','=','Davivienda-Parser')]}"/>
+		    <newline/>
+		    <field name="date_to" attrs="{'invisible':[('parser','!=','Davivienda-Parser')], 'required':[('parser','=','Davivienda-Parser')]}"/>   
+			<field name="file" colspan="4"/>
 			<field name="state" invisible="1"/>
 		    </group>
                     <notebook colspan="4">
@@ -45,7 +48,7 @@
 				string="Cancel"/>
 			<button icon="gtk-ok"
 				string="Import"
-                                states="init" 
+                states="init" 
 				name="import_statements_file"
 				type="object"/>
                         <button icon="gtk-close"

=== modified file 'account_banking/wizard/banktools.py'
--- account_banking/wizard/banktools.py	2013-02-07 09:38:41 +0000
+++ account_banking/wizard/banktools.py	2013-02-25 14:52:29 +0000
@@ -92,23 +92,33 @@
         return False
 
     partner_bank_obj = pool.get('res.partner.bank')
-    bank_account_ids = partner_bank_obj.search(cursor, uid, [
-        ('acc_number', '=', account_number)
-    ])
-    if not bank_account_ids:
-        # SR 2012-02-19 does the search() override in res_partner_bank
-        # provides this result on the previous query?
-        bank_account_ids = partner_bank_obj.search(cursor, uid, [
-            ('acc_number_domestic', '=', account_number)
-        ])
-    if not bank_account_ids:
+    bank_account_ids = partner_bank_obj.search(cursor, uid, [])
+    all_bank_accounts = partner_bank_obj.browse(cursor, uid, bank_account_ids)
+    
+    reg_exp = ''
+    for char in account_number:
+            reg_exp += char + '[ \t\n\r\f\v-_]*'
+    reg_exp += '.*'
+    exp = re.compile(reg_exp)
+    bank_accounts = []
+
+    for bank_account in all_bank_accounts:
+        if exp.match(bank_account.acc_number):
+            bank_accounts.append(bank_account)
+
+    if not bank_accounts:
+        for bank_account in all_bank_accounts:
+            if exp.match(bank_account.acc_number_domestic):
+                bank_accounts.append(bank_account)
+    if not bank_accounts:
         if not fail:
             log.append(
                 _('Bank account %(account_no)s was not found in the database')
                 % dict(account_no=account_number)
             )
         return False
-    return partner_bank_obj.browse(cursor, uid, bank_account_ids)
+
+    return bank_accounts
 
 def _has_attr(obj, attr):
     # Needed for dangling addresses and a weird exception scheme in