Merge lp:~pedro.baeza/openerp-spain/7.0-l10n_es_bank_statement into lp:~openerp-spain-team/openerp-spain/7.0

Proposed by Pedro Manuel Baeza on 2014-01-31
Status: Merged
Merged at revision: 479
Proposed branch: lp:~pedro.baeza/openerp-spain/7.0-l10n_es_bank_statement
Merge into: lp:~openerp-spain-team/openerp-spain/7.0
Diff against target: 4783 lines (+1115/-3435)
24 files modified
___unported__/l10n_es_bank_statement/account_bank_statement.py (+0/-241)
___unported__/l10n_es_bank_statement/concepto.py (+0/-64)
___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml (+0/-100)
___unported__/l10n_es_bank_statement/extractos_view.xml (+0/-123)
___unported__/l10n_es_bank_statement/i18n/ca.po (+0/-547)
___unported__/l10n_es_bank_statement/i18n/gl.po (+0/-573)
___unported__/l10n_es_bank_statement/import_c43_file.py (+0/-492)
___unported__/l10n_es_bank_statement/import_c43_file_view.xml (+0/-47)
___unported__/l10n_es_bank_statement/import_conceptos.py (+0/-161)
___unported__/l10n_es_bank_statement/security/concepto_security.xml (+0/-14)
___unported__/l10n_es_bank_statement/security/ir.model.access.csv (+0/-3)
l10n_es_bank_statement/__init__.py (+6/-21)
l10n_es_bank_statement/__openerp__.py (+29/-47)
l10n_es_bank_statement/data/account_statement_completion_rule_data.xml (+18/-0)
l10n_es_bank_statement/i18n/es.po (+191/-551)
l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot (+181/-451)
l10n_es_bank_statement/models/__init__.py (+26/-0)
l10n_es_bank_statement/models/account_bank_statement.py (+53/-0)
l10n_es_bank_statement/models/account_statement_completion_rule.py (+136/-0)
l10n_es_bank_statement/models/account_statement_profile.py (+68/-0)
l10n_es_bank_statement/models/c43_account_statement_profile.py (+35/-0)
l10n_es_bank_statement/models/c43_parser.py (+241/-0)
l10n_es_bank_statement/static/src/img/icon.svg (+111/-0)
l10n_es_bank_statement/views/account_bank_statement_view.xml (+20/-0)
To merge this branch: bzr merge lp:~pedro.baeza/openerp-spain/7.0-l10n_es_bank_statement
Reviewer Review Type Date Requested Status
OpenERP Spain Team 2014-01-31 Pending
Review via email: mp+204138@code.launchpad.net

Description of the change

Adaptación de la importación de los extractos bancarios C43 a la versión 7 utilizando los banking-addons.

To post a comment you must log in.
Pedro Manuel Baeza (pedro.baeza) wrote :

Ya he completado el módulo, por lo que se puede pasar a revisar.

Un saludo.

418. By Pedro Manuel Baeza on 2014-06-09

[IMP] Icono y traducciones.

419. By Pedro Manuel Baeza on 2014-06-10

[IMP] Reglas cambiadas y actualizada traducción.

420. By Pedro Manuel Baeza on 2014-06-10

MERGE de los cambios en el repositorio.

421. By Pedro Manuel Baeza on 2014-06-10

[FIX] Reglas de auto-completado corregidas

422. By Pedro Manuel Baeza on 2014-06-11

[FIX] XML-ID de la regla genérica.

Pedro Manuel Baeza (pedro.baeza) wrote :

Procedo a hacer el merge, dado el tiempo transcurrido.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file '___unported__/l10n_es_bank_statement/account_bank_statement.py'
2--- ___unported__/l10n_es_bank_statement/account_bank_statement.py 2014-02-24 14:45:52 +0000
3+++ ___unported__/l10n_es_bank_statement/account_bank_statement.py 1970-01-01 00:00:00 +0000
4@@ -1,241 +0,0 @@
5-# -*- coding: utf-8 -*-
6-##############################################################################
7-#
8-# OpenERP, Open Source Management Solution
9-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
10-# Jordi Esteve <jesteve@zikzakmedia.com>
11-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
12-# Borja López Soilán <borjals@pexego.es>
13-# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
14-# Alberto Luengo Cabanillas <alberto@pexego.es>
15-# Copyright (c) 2011 Acysos S.L. All Rights Reserved
16-# Ignacio Ibeas Izquierdo <ignacio@acysos.com>
17-# $Id$
18-#
19-# This program is free software: you can redistribute it and/or modify
20-# it under the terms of the GNU Affero General Public License as published by
21-# the Free Software Foundation, either version 3 of the License, or
22-# (at your option) any later version.
23-#
24-# This program is distributed in the hope that it will be useful,
25-# but WITHOUT ANY WARRANTY; without even the implied warranty of
26-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27-# GNU Affero General Public License for more details.
28-#
29-# You should have received a copy of the GNU Affero General Public License
30-# along with this program. If not, see <http://www.gnu.org/licenses/>.
31-#
32-##############################################################################
33-
34-"""
35-C43 format concepts and extension of the bank statement lines.
36-"""
37-
38-from osv import osv
39-from openerp.tools.translate import _
40-
41-class account_bank_statement_line(osv.osv):
42- """
43- Extends the bank statement lines to try to set the right reconciliation
44- for lines edited by hand.
45- """
46-
47- _inherit = "account.bank.statement.line"
48-
49- def generate_voucher_from_import_wizard(self, cr, uid, statement_id, statement_line, line_ids, context):
50- """
51- Generate a voucher when conciling lines from an AEB43 extract statement
52- """
53- line_obj = self.pool.get('account.move.line')
54- statement_obj = self.pool.get('account.bank.statement')
55- currency_obj = self.pool.get('res.currency')
56- voucher_obj = self.pool.get('account.voucher')
57- voucher_line_obj = self.pool.get('account.voucher.line')
58- statement = statement_obj.browse(cr, uid, statement_id, context=context)
59-
60- # for each selected move lines
61- for line in line_obj.browse(cr, uid, line_ids, context=context):
62- ctx = context.copy()
63- # take the date for computation of currency => use payment date
64- ctx['date'] = statement_line.date or line.date
65- amount = 0.0
66-
67- if line.debit > 0:
68- amount = line.debit
69- elif line.credit > 0:
70- amount = -line.credit
71-
72- if line.amount_currency:
73- amount = currency_obj.compute(cr, uid, line.currency_id.id,
74- statement.currency.id, line.amount_currency, context=ctx)
75- elif (line.invoice and line.invoice.currency_id.id <> statement.currency.id):
76- amount = currency_obj.compute(cr, uid, line.invoice.currency_id.id,
77- statement.currency.id, amount, context=ctx)
78-
79- context.update({'move_line_ids': [line.id]})
80- result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, amount=abs(amount), currency_id= statement.currency.id, ttype=(amount < 0 and 'payment' or 'receipt'), date=line.date, context=context)
81- voucher_res = { 'type':(amount < 0 and 'payment' or 'receipt'),
82- 'name': line.name,
83- 'partner_id': line.partner_id.id,
84- 'journal_id': statement.journal_id.id,
85- 'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id), # improve me: statement.journal_id.default_credit_account_id.id
86- 'company_id':statement.company_id.id,
87- 'currency_id':statement.currency.id,
88- 'date':line.date,
89- 'amount':abs(amount),
90- 'period_id':statement.period_id.id}
91- voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
92-
93- voucher_line_dict = {}
94- if result['value']['line_ids']:
95- for line_dict in result['value']['line_ids']:
96- move_line = line_obj.browse(cr, uid, line_dict['move_line_id'], context)
97- if line.move_id.id == move_line.move_id.id:
98- voucher_line_dict = line_dict
99- if voucher_line_dict:
100- voucher_line_dict.update({'voucher_id': voucher_id})
101- voucher_line_obj.create(cr, uid, voucher_line_dict, context=context)
102-
103- return voucher_id
104-
105-
106- def onchange_partner_id(self, cr, uid, line_ids, context=None, partner_id=None, ptype=None, amount=None, voucher_id=None, form_date=None):
107- """Elimina el precálculo del importe de la línea del extracto bancario
108- y propone una conciliación automática si encuentra una."""
109-
110- move_line_obj = self.pool.get('account.move.line')
111- voucher_obj = self.pool.get('account.voucher')
112- partner_obj = self.pool.get('res.partner')
113- bank_st_line_obj = self.pool.get('account.bank.statement.line')
114- if bank_st_line_obj.browse(cr, uid, line_ids):
115- current_st_line = bank_st_line_obj.browse(cr, uid, line_ids)[0]
116- statement_id = current_st_line.statement_id.id
117- res = super(account_bank_statement_line, self).onchange_type(cr, uid, line_ids, partner_id, ptype)
118- # devuelve res = {'value': {'amount': balance, 'account_id': account_id}}
119- if 'value' in res and 'amount' in res['value']:
120- del res['value']['amount']
121-
122- # Busqueda del apunte por importe con partner
123- if partner_id and amount:
124- #Actualizamos la cuenta del partner...
125- current_partner = partner_obj.browse(cr, uid, partner_id)
126- if ptype == 'supplier':
127- res['value']['account_id'] = current_partner.property_account_payable.id
128- else:
129- res['value']['account_id'] = current_partner.property_account_receivable.id
130-
131- domain = [
132- ('reconcile_id', '=', False),
133- ('account_id.type', 'in', ['receivable', 'payable']),
134- ('partner_id', '=', partner_id),
135- ('date', '=', current_st_line.date)
136- ]
137- if amount >= 0:
138- domain.append( ('debit', '=', '%.2f' % amount) )
139- else:
140- domain.append( ('credit', '=', '%.2f' % -amount) )
141- line_ids = move_line_obj.search(cr, uid, domain, context=context)
142- # Solamente crearemos la conciliacion automatica cuando exista un solo apunte
143- # que coincida. Si hay mas de uno el usuario tendra que conciliar manualmente y
144- # seleccionar cual de ellos es el correcto.
145- res['value']['voucher_id'] = ""
146- if len(line_ids) == 1:
147- #Miro si existe ya una propuesta de pago para esa fecha, cantidad, proveedor y estado...
148- saved_voucher_id_list = voucher_obj.search(cr, uid, [('date','=',current_st_line.date), ('amount','=',current_st_line.amount), ('partner_id','=',partner_id), ('state','in', ['draft', 'proforma'])])
149- saved_voucher_id = saved_voucher_id_list and saved_voucher_id_list[0] or None
150- if saved_voucher_id:
151- voucher_id = saved_voucher_id
152- form_voucher_id_list = voucher_obj.search(cr, uid, [('date','=', form_date), ('amount','=',amount), ('partner_id','=',partner_id), ('state','in', ['draft', 'proforma'])])
153- form_voucher_id = form_voucher_id_list and form_voucher_id_list[0] or None
154- if form_voucher_id:
155- voucher_id = form_voucher_id
156- if not saved_voucher_id and not form_voucher_id:
157- voucher_id = bank_st_line_obj.generate_voucher_from_import_wizard(cr, uid, statement_id, current_st_line, line_ids, context)
158- res['value']['voucher_id'] = voucher_id
159- elif len(line_ids) > 1:
160- move_lines = move_line_obj.browse(cr, uid, line_ids)
161- str_list = []
162- for line in move_lines:
163- str_list.append("'%s'"%(line.ref or line.name))
164- raise osv.except_osv(_('Beware!'), _("%s moves (%s) found for this date and partner. You'll have to concile this line manually...") %(len(line_ids), ', '.join(str_list)))
165- return res
166-
167-
168- def _get_references( self, cr, uid, line, data, context ):
169- """
170- Override function in nan_account_statement_module.
171- """
172-
173- if not 'conceptos' in data or not 'referencia2' in data:
174- if line.search_by != 'all':
175- raise osv.except_osv(_('Search by references'), _('You cannot search by reference because it seems this line has not been imported from a bank statement file. The system expected "conceptos" and "referencia2" keys in line of amount %(amount).2f in statement %(statement)s.') % {
176- 'amount': line.amount,
177- 'statement': line.statement_id.name
178- })
179- return []
180- return [ data['conceptos'], data['referencia2'] ]
181-
182- def _get_vats( self, cr, uid, line, data, context ):
183- """
184- Override function in nan_account_statement_module.
185- """
186-
187- if not 'referencia1' in data or not 'conceptos' in data:
188- if line.search_by != 'all':
189- raise osv.except_osv(_('Search by VAT error'), _('You cannot search by VAT because it seems this line has not been imported from a bank statement file. The system expected "referencia1" and "conceptos" keys in line of amount %(amount).2f in statement %(statement)s.') % {
190- 'amount': line.amount,
191- 'statement': line.statement_id.name
192- })
193- return []
194- return [ data['referencia1'][:9] , data['conceptos'][:9], data['conceptos'][21:30] ]
195-
196-account_bank_statement_line()
197-
198-class account_bank_statement(osv.osv):
199-
200- _inherit = "account.bank.statement"
201-
202- _defaults = {
203- 'name': lambda self, cr, uid, context=None: \
204- self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement'),
205- }
206-
207-
208- def button_confirm_bank(self, cr, uid, ids, context=None):
209- done = []
210- obj_seq = self.pool.get('ir.sequence')
211- if context is None:
212- context = {}
213-
214- for st in self.browse(cr, uid, ids, context=context):
215- j_type = st.journal_id.type
216- company_currency_id = st.journal_id.company_id.currency_id.id
217- if not self.check_status_condition(cr, uid, st.state, journal_type=j_type):
218- continue
219-
220- self.balance_check(cr, uid, st.id, journal_type=j_type, context=context)
221- if (not st.journal_id.default_credit_account_id) \
222- or (not st.journal_id.default_debit_account_id):
223- raise osv.except_osv(_('Configuration Error !'),
224- _('Please verify that an account is defined in the journal.'))
225-
226- for line in st.move_line_ids:
227- if line.state <> 'valid':
228- raise osv.except_osv(_('Error !'),
229- _('The account entries lines are not in valid state.'))
230- for st_line in st.line_ids:
231- if st_line.analytic_account_id:
232- if not st.journal_id.analytic_journal_id:
233- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (st.journal_id.name,))
234- if not st_line.amount:
235- continue
236- c = {'fiscalyear_id': st.period_id.fiscalyear_id.id}
237- st_line_number = obj_seq.get_id(cr, uid, st.journal_id.sequence_id.id, context=c)
238- self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
239-
240- done.append(st.id)
241- return self.write(cr, uid, ids, {'state':'confirm'}, context=context)
242-
243-account_bank_statement()
244-
245-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
246
247=== removed file '___unported__/l10n_es_bank_statement/concepto.py'
248--- ___unported__/l10n_es_bank_statement/concepto.py 2011-08-29 15:11:11 +0000
249+++ ___unported__/l10n_es_bank_statement/concepto.py 1970-01-01 00:00:00 +0000
250@@ -1,64 +0,0 @@
251-# -*- coding: utf-8 -*-
252-##############################################################################
253-#
254-# OpenERP, Open Source Management Solution
255-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
256-# Jordi Esteve <jesteve@zikzakmedia.com>
257-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
258-# Borja López Soilán <borjals@pexego.es>
259-# $Id$
260-#
261-# This program is free software: you can redistribute it and/or modify
262-# it under the terms of the GNU Affero General Public License as published by
263-# the Free Software Foundation, either version 3 of the License, or
264-# (at your option) any later version.
265-#
266-# This program is distributed in the hope that it will be useful,
267-# but WITHOUT ANY WARRANTY; without even the implied warranty of
268-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
269-# GNU Affero General Public License for more details.
270-#
271-# You should have received a copy of the GNU Affero General Public License
272-# along with this program. If not, see <http://www.gnu.org/licenses/>.
273-#
274-##############################################################################
275-
276-"""
277-C43 format (bank statement file) concepts
278-"""
279-
280-from osv import osv, fields
281-
282-
283-class l10n_es_extractos_concepto(osv.osv):
284- """
285- C43 format concepts, used to map codes from the C43 bank statement file
286- to OpenERP accounts.
287- """
288-
289- _name = 'l10n.es.extractos.concepto'
290- _description = 'C43 codes'
291-
292- _columns = {
293- 'code': fields.char('Concept code', size=2, select=True, required=True, help='2 digits code of the concept defined in the file of C43 bank statements'),
294- 'name': fields.char('Concept name', size=64, select=True, required=True),
295- 'account_id': fields.many2one('account.account', 'Account associated to the concept', domain=[('type','<>','view'), ('type', '<>', 'closed')], select=True, required=True,
296- help='Default account to be associated with the concept when the file of C43 bank statements is imported'),
297- 'company_id': fields.many2one('res.company', 'Company', required=True),
298- }
299-
300- def _default_company_id(self, cr, uid, context={}):
301- """
302- Gets the default company id
303- """
304- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
305- if user.company_id:
306- return user.company_id.id
307- return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
308-
309- _defaults = {
310- 'company_id': _default_company_id,
311- }
312-
313-l10n_es_extractos_concepto()
314-
315
316=== removed file '___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml'
317--- ___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml 2011-03-27 01:51:59 +0000
318+++ ___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml 1970-01-01 00:00:00 +0000
319@@ -1,100 +0,0 @@
320-<?xml version='1.0' encoding='UTF-8'?>
321-<openerp>
322- <data noupdate='1'>
323- <record model='l10n.es.extractos.concepto' id='01'>
324- <field name='code'>01</field>
325- <field name='name'>Reintegro/Talón</field>
326- <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
327- </record>
328- <record model='l10n.es.extractos.concepto' id='02'>
329- <field name='code'>02</field>
330- <field name='name'>Ingreso/Abonaré</field>
331- <field search="[('code','like','4100%00')]" model='account.account' name='account_id'/>
332- </record>
333- <record model='l10n.es.extractos.concepto' id='03'>
334- <field name='code'>03</field>
335- <field name='name'>Recibo/Letra domiciliado</field>
336- <field search="[('code','like','4100%00')]" model='account.account' name='account_id'/>
337- </record>
338- <record model='l10n.es.extractos.concepto' id='04'>
339- <field name='code'>04</field>
340- <field name='name'>Transf./Giro/Cheque</field>
341- <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
342- </record>
343- <record model='l10n.es.extractos.concepto' id='05'>
344- <field name='code'>05</field>
345- <field name='name'>Amortización préstamo</field>
346- <field search="[('code','like','6800%00')]" model='account.account' name='account_id'/>
347- </record>
348- <record model='l10n.es.extractos.concepto' id='06'>
349- <field name='code'>06</field>
350- <field name='name'>Remesa efectos</field>
351- <field search="[('code','like','4010%00')]" model='account.account' name='account_id'/>
352- </record>
353- <record model='l10n.es.extractos.concepto' id='07'>
354- <field name='code'>07</field>
355- <field name='name'>Subscripción/Canje</field>
356- <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
357- </record>
358- <record model='l10n.es.extractos.concepto' id='08'>
359- <field name='code'>08</field>
360- <field name='name'>Amortización</field>
361- <field search="[('code','like','6800%00')]" model='account.account' name='account_id'/>
362- </record>
363- <record model='l10n.es.extractos.concepto' id='09'>
364- <field name='code'>09</field>
365- <field name='name'>Compra/Venta valores</field>
366- <field search="[('code','like','2510%00')]" model='account.account' name='account_id'/>
367- </record>
368- <record model='l10n.es.extractos.concepto' id='10'>
369- <field name='code'>10</field>
370- <field name='name'>Cheque gasolina</field>
371- <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
372- </record>
373- <record model='l10n.es.extractos.concepto' id='11'>
374- <field name='code'>11</field>
375- <field name='name'>Cajero automático</field>
376- <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
377- </record>
378- <record model='l10n.es.extractos.concepto' id='12'>
379- <field name='code'>12</field>
380- <field name='name'>Tarjeta crédito/débito</field>
381- <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
382- </record>
383- <record model='l10n.es.extractos.concepto' id='13'>
384- <field name='code'>13</field>
385- <field name='name'>Operaciones extranjero</field>
386- <field search="[('code','like','5730%00')]" model='account.account' name='account_id'/>
387- </record>
388- <record model='l10n.es.extractos.concepto' id='14'>
389- <field name='code'>14</field>
390- <field name='name'>Devolución/Impagado</field>
391- <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
392- </record>
393- <record model='l10n.es.extractos.concepto' id='15'>
394- <field name='code'>15</field>
395- <field name='name'>Nómina/Seg. social</field>
396- <field search="[('code','like','6400%00')]" model='account.account' name='account_id'/>
397- </record>
398- <record model='l10n.es.extractos.concepto' id='16'>
399- <field name='code'>16</field>
400- <field name='name'>Timbre/Corretaje/Póliza</field>
401- <field search="[('code','like','6690%00')]" model='account.account' name='account_id'/>
402- </record>
403- <record model='l10n.es.extractos.concepto' id='17'>
404- <field name='code'>17</field>
405- <field name='name'>Intereses/Comisión/Gastos/Custodia</field>
406- <field search="[('code','like','6690%00')]" model='account.account' name='account_id'/>
407- </record>
408- <record model='l10n.es.extractos.concepto' id='98'>
409- <field name='code'>98</field>
410- <field name='name'>Anulación/Corrección</field>
411- <field search="[('code','like','5720%00')]" model='account.account' name='account_id'/>
412- </record>
413- <record model='l10n.es.extractos.concepto' id='99'>
414- <field name='code'>99</field>
415- <field name='name'>Varios</field>
416- <field search="[('code','like','5720%00')]" model='account.account' name='account_id'/>
417- </record>
418- </data>
419-</openerp>
420
421=== removed file '___unported__/l10n_es_bank_statement/extractos_view.xml'
422--- ___unported__/l10n_es_bank_statement/extractos_view.xml 2013-01-11 14:06:10 +0000
423+++ ___unported__/l10n_es_bank_statement/extractos_view.xml 1970-01-01 00:00:00 +0000
424@@ -1,123 +0,0 @@
425-<?xml version="1.0" encoding="utf-8"?>
426-<openerp>
427- <data>
428-
429- <!--****************************** CUENTAS POR DEFECTO PARA LOS EXTRACTOS BANCARIOS ***********************************-->
430- <!-- FORMULARIO -->
431- <record model="ir.ui.view" id="view_extractos_concepto">
432- <field name="name">l10n.es.extractos.concepto.form</field>
433- <field name="model">l10n.es.extractos.concepto</field>
434- <field name="type">form</field>
435- <field name="arch" type="xml">
436- <form string="C43 default accounts">
437- <field name="code"/>
438- <field name="name"/>
439- <field name="account_id"/>
440- <field name="company_id"/>
441- </form>
442- </field>
443- </record>
444-
445- <!-- LISTA -->
446- <record model="ir.ui.view" id="view_extractos_concepto_tree">
447- <field name="name">l10n.es.extractos.concepto.tree</field>
448- <field name="model">l10n.es.extractos.concepto</field>
449- <field name="type">tree</field>
450- <field name="arch" type="xml">
451- <tree string="C43 default accounts">
452- <field name="code"/>
453- <field name="name"/>
454- <field name="account_id"/>
455- <field name="company_id" select="1"/>
456- </tree>
457- </field>
458- </record>
459-
460- <record model="ir.actions.act_window" id="action_extractos_concepto">
461- <field name="name">C43 default accounts</field>
462- <field name="res_model">l10n.es.extractos.concepto</field>
463- </record>
464-
465- <!-- menu -->
466- <menuitem id="menu_extractos_bancarios" name="C43 bank statements" parent="account.menu_finance_accounting"/>
467- <menuitem id="menu_extractos_bancarios_concepto" name="Default accounts associated to C43 codes" parent="menu_extractos_bancarios" action="action_extractos_concepto"/>
468-
469- <!--************************** Redefinición on_change de las líneas de extracto bancario *******************************-->
470- <record id="view_bank_statement_form_ES1" model="ir.ui.view">
471- <field name="name">account.bank.statement.form.ES1</field>
472- <field name="model">account.bank.statement</field>
473- <field name="type">form</field>
474- <field name="inherit_id" ref="account.view_bank_statement_form"/>
475- <field name="arch" type="xml">
476- <xpath expr="/form/notebook/page[@string='Transaction']/field/tree/field[@name='partner_id']" position="replace">
477- <field name="partner_id" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
478- </xpath>
479- </field>
480- </record>
481-
482- <record id="view_bank_statement_form_ES2" model="ir.ui.view">
483- <field name="name">account.bank.statement.form.ES2</field>
484- <field name="model">account.bank.statement</field>
485- <field name="type">form</field>
486- <field name="inherit_id" ref="account.view_bank_statement_form"/>
487- <field name="arch" type="xml">
488- <xpath expr="/form/notebook/page/field/form/field[@name='partner_id']" position="replace">
489- <field name="partner_id" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
490- </xpath>
491- </field>
492- </record>
493-
494- <record id="view_bank_statement_form_ES3" model="ir.ui.view">
495- <field name="name">account.bank.statement.form.ES3</field>
496- <field name="model">account.bank.statement</field>
497- <field name="type">form</field>
498- <field name="inherit_id" ref="account.view_bank_statement_form"/>
499- <field name="arch" type="xml">
500- <xpath expr="/form/notebook/page/field/tree/field[@name='amount']" position="replace">
501- <field name="amount" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
502- </xpath>
503- </field>
504- </record>
505-
506- <record id="view_bank_statement_form_ES4" model="ir.ui.view">
507- <field name="name">account.bank.statement.form.ES4</field>
508- <field name="model">account.bank.statement</field>
509- <field name="type">form</field>
510- <field name="inherit_id" ref="account.view_bank_statement_form"/>
511- <field name="arch" type="xml">
512- <xpath expr="/form/notebook/page/field/form/field[@name='amount']" position="replace">
513- <field name="amount" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
514- </xpath>
515- </field>
516- </record>
517-
518-
519- <!-- Import wizard -->
520- <record model="ir.ui.view" id="extractos_import_wizard">
521- <field name="name">l10n.es.extractos.import.form</field>
522- <field name="model">l10n.es.extractos.import.wizard</field>
523- <field name="type">form</field>
524- <field name="arch" type="xml">
525- <form string="Import Wizard">
526- <label colspan="4" string="This wizard will import default concepts related to standard accounts of spanish charts."/>
527- <field name="company_id" colspan="4" widget="selection"/>
528- <button icon="gtk-cancel" special="cancel" string="Cancel" type="object"/>
529- <button icon="gtk-ok" name="action_import" string="Import" type="object"/>
530- </form>
531- </field>
532- </record>
533-
534- <record id="action_extractos_import_wizard" model="ir.actions.act_window">
535- <field name="name">Import Statement Concepts Wizard</field>
536- <field name="type">ir.actions.act_window</field>
537- <field name="res_model">l10n.es.extractos.import.wizard</field>
538- <field name="view_type">form</field>
539- <field name="view_mode">form</field>
540- <field name="target">new</field>
541- </record>
542-
543- <menuitem id="menu_import_wizard" parent="menu_extractos_bancarios" action="action_extractos_import_wizard" groups="account.group_account_manager"/>
544-
545- </data>
546-</openerp>
547-
548
549=== removed file '___unported__/l10n_es_bank_statement/i18n/ca.po'
550--- ___unported__/l10n_es_bank_statement/i18n/ca.po 2014-03-04 08:27:58 +0000
551+++ ___unported__/l10n_es_bank_statement/i18n/ca.po 1970-01-01 00:00:00 +0000
552@@ -1,547 +0,0 @@
553-# Translation of OpenERP Server.
554-# This file containt the translation of the following modules:
555-# * l10n_es_bank_statement
556-#
557-# Albert Cervera i Areny <albert@nan-tic.com>, 2009, 2010, 2011.
558-msgid ""
559-msgstr ""
560-"Project-Id-Version: OpenERP Server 5.0.0-rc1\n"
561-"Report-Msgid-Bugs-To: support@openerp.com\n"
562-"POT-Creation-Date: 2011-03-27 02:13+0000\n"
563-"PO-Revision-Date: 2013-10-11 22:39+0000\n"
564-"Last-Translator: Albert Cervera i Areny - http://www.NaN-tic.com <albert@nan-"
565-"tic.com>\n"
566-"Language-Team: American English <kde-i18n-ca@kde.org>\n"
567-"MIME-Version: 1.0\n"
568-"Content-Type: text/plain; charset=UTF-8\n"
569-"Content-Transfer-Encoding: 8bit\n"
570-"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"
571-"X-Generator: Launchpad (build 16948)\n"
572-"Language: \n"
573-
574-#. module: l10n_es_bank_statement
575-#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
576-#, python-format
577-msgid "Intereses/Comisión/Gastos/Custodia"
578-msgstr "Intereses/Comisión/Gastos/Custodia"
579-
580-#. module: l10n_es_bank_statement
581-#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
582-#, python-format
583-msgid "Compra/Venta valores"
584-msgstr "Compra/Venta valores"
585-
586-#. module: l10n_es_bank_statement
587-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
588-msgid "C43 codes"
589-msgstr "Codis C43"
590-
591-#. module: l10n_es_bank_statement
592-#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
593-msgid "Reconcile by amount"
594-msgstr "Concilia per quantitat"
595-
596-#. module: l10n_es_bank_statement
597-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
598-#, python-format
599-msgid "bank-statement.txt"
600-msgstr "extracte-bancari.txt"
601-
602-#. module: l10n_es_bank_statement
603-#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
604-#, python-format
605-msgid "Nómina/Seg. social"
606-msgstr "Nómina/Seg. social"
607-
608-#. module: l10n_es_bank_statement
609-#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
610-msgid "Reconcile by VAT number and amount"
611-msgstr "Concilia per NIF i quantitat"
612-
613-#. module: l10n_es_bank_statement
614-#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
615-#, python-format
616-msgid "Ingreso/Abonaré"
617-msgstr "Ingreso/Abonaré"
618-
619-#. module: l10n_es_bank_statement
620-#: field:l10n.es.extractos.concepto,account_id:0
621-msgid "Account associated to the concept"
622-msgstr "Compte associat al concepte"
623-
624-#. module: l10n_es_bank_statement
625-#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
626-#, python-format
627-msgid "Amortización préstamo"
628-msgstr "Amortización préstamo"
629-
630-#. module: l10n_es_bank_statement
631-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
632-#, python-format
633-msgid "Search by references"
634-msgstr "Search by references"
635-
636-#. module: l10n_es_bank_statement
637-#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
638-msgid "Spanish Bank Statements Importation"
639-msgstr "Importación de Extractos Bancarios Españoles"
640-
641-#. module: l10n_es_bank_statement
642-#: field:l10n.es.bank.statement.import.c43.wizard,file:0
643-#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
644-msgid "Bank Statements File"
645-msgstr "Fitxer extracte"
646-
647-#. module: l10n_es_bank_statement
648-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
649-msgid "Import Bank Statement"
650-msgstr "Importació d'extracte bancari"
651-
652-#. module: l10n_es_bank_statement
653-#: view:l10n.es.bank.statement.import.c43.wizard:0
654-#: view:l10n.es.extractos.import.wizard:0
655-msgid "Import"
656-msgstr "Importa"
657-
658-#. module: l10n_es_bank_statement
659-#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
660-#, python-format
661-msgid "Devolución/Impagado"
662-msgstr "Devolución/Impagado"
663-
664-#. module: l10n_es_bank_statement
665-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
666-#, python-format
667-msgid "Search by VAT error"
668-msgstr "Search by VAT error"
669-
670-#. module: l10n_es_bank_statement
671-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
672-#, python-format
673-msgid "Record type %s is not valid."
674-msgstr "Record type %s is not valid."
675-
676-#. module: l10n_es_bank_statement
677-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
678-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
679-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
680-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
681-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
682-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
683-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
684-#, python-format
685-msgid "Error in C43 file"
686-msgstr "Error al fitxer C43"
687-
688-#. module: l10n_es_bank_statement
689-#: help:l10n.es.extractos.concepto,account_id:0
690-msgid ""
691-"Default account to be associated with the concept when the file of C43 bank "
692-"statements is imported"
693-msgstr ""
694-"Compte per defecte que s'associarà al concepte en importar el fitxer "
695-"d'extractes bancaris C43"
696-
697-#. module: l10n_es_bank_statement
698-#: view:l10n.es.bank.statement.import.c43.wizard:0
699-msgid "Bank statements import according to norm C43"
700-msgstr "Importació extracte bancari segons norma C43"
701-
702-#. module: l10n_es_bank_statement
703-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
704-msgid "l10n.es.extractos.import.wizard"
705-msgstr "l10n.es.extractos.import.wizard"
706-
707-#. module: l10n_es_bank_statement
708-#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
709-#, python-format
710-msgid "Amortización"
711-msgstr "Amortización"
712-
713-#. module: l10n_es_bank_statement
714-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
715-#, python-format
716-msgid ""
717-"You cannot search by VAT because it seems this line has not been imported "
718-"from a bank statement file. The system expected \"referencia1\" and "
719-"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
720-msgstr ""
721-"You cannot search by VAT because it seems this line has not been imported "
722-"from a bank statement file. The system expected \"referencia1\" and "
723-"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
724-
725-#. module: l10n_es_bank_statement
726-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
727-#, python-format
728-msgid ""
729-"Number of debit records does not agree with the defined in the last record "
730-"of account."
731-msgstr ""
732-"Nombre de registres deure no coincideix amb el definit en el registre final "
733-"de compte."
734-
735-#. module: l10n_es_bank_statement
736-#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
737-#, python-format
738-msgid "Subscripción/Canje"
739-msgstr "Subscripción/Canje"
740-
741-#. module: l10n_es_bank_statement
742-#: view:l10n.es.bank.statement.import.c43.wizard:0
743-msgid "Bank Statements File:"
744-msgstr "Fitxer extracte bancari:"
745-
746-#. module: l10n_es_bank_statement
747-#: view:l10n.es.bank.statement.import.c43.wizard:0
748-msgid "Automatic reconciliation options"
749-msgstr "Opcions de conciliació automàtica"
750-
751-#. module: l10n_es_bank_statement
752-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
753-#, python-format
754-msgid ""
755-"%s moves (%s) found for this date and partner. You'll have to concile this "
756-"line manually..."
757-msgstr ""
758-"%s moves (%s) found for this date and partner. You'll have to concile this "
759-"line manually..."
760-
761-#. module: l10n_es_bank_statement
762-#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
763-msgid "Max. days from statement date"
764-msgstr "Dies màx. des de data extracte"
765-
766-#. module: l10n_es_bank_statement
767-#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
768-msgid ""
769-"Maximum difference in days, between the maturity date of the entry to "
770-"reconcile and the bank statement entry"
771-msgstr ""
772-"Diferencia màxima en dies, entre la data de venciment de l'assentament a "
773-"conciliar i la línia de l'extracte bancari"
774-
775-#. module: l10n_es_bank_statement
776-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
777-#, python-format
778-msgid ""
779-"Number of credit records does not agree with the defined in the last record "
780-"of account."
781-msgstr ""
782-"Nombre de registres haver no coincideix amb el definit en el registre final "
783-"de compte."
784-
785-#. module: l10n_es_bank_statement
786-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
787-#, python-format
788-msgid ""
789-"Final balance amount = (initial balance + credit - debit) does not agree "
790-"with the defined in the last record of account."
791-msgstr ""
792-"Importi saldo final = (saldo inicial + haver - deure) no coincideix amb el "
793-"definit en el registre final de compte."
794-
795-#. module: l10n_es_bank_statement
796-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
797-msgid "Default accounts associated to C43 codes"
798-msgstr "Comptes per defecte associats als codis C43"
799-
800-#. module: l10n_es_bank_statement
801-#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
802-#, python-format
803-msgid "Tarjeta crédito/débito"
804-msgstr "Tarjeta crédito/débito"
805-
806-#. module: l10n_es_bank_statement
807-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
808-#, python-format
809-msgid "A default account has not been defined for the C43 concept "
810-msgstr "No s'ha definit un compte comptable per defecte per al concepte C43 "
811-
812-#. module: l10n_es_bank_statement
813-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
814-msgid "l10n.es.bank.statement.import.c43.wizard"
815-msgstr "l10n.es.bank.statement.import.c43.wizard"
816-
817-#. module: l10n_es_bank_statement
818-#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
819-#, python-format
820-msgid "Reintegro/Talón"
821-msgstr "Reintegro/Talón"
822-
823-#. module: l10n_es_bank_statement
824-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
825-#, python-format
826-msgid "Concepts for this company already imported..."
827-msgstr "Concepts for this company already imported..."
828-
829-#. module: l10n_es_bank_statement
830-#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
831-#, python-format
832-msgid "Transf./Giro/Cheque"
833-msgstr "Transf./Giro/Cheque"
834-
835-#. module: l10n_es_bank_statement
836-#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
837-#, python-format
838-msgid "Timbre/Corretaje/Póliza"
839-msgstr "Timbre/Corretaje/Póliza"
840-
841-#. module: l10n_es_bank_statement
842-#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
843-#, python-format
844-msgid "Varios"
845-msgstr "Varios"
846-
847-#. module: l10n_es_bank_statement
848-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
849-#, python-format
850-msgid ""
851-"Could not import concept %(concept)s because no matching account was found "
852-"for expression %(expression)s."
853-msgstr ""
854-"Could not import concept %(concept)s because no matching account was found "
855-"for expression %(expression)s."
856-
857-#. module: l10n_es_bank_statement
858-#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
859-msgid "Statement Line Rules"
860-msgstr "Regles de línies d'extracte"
861-
862-#. module: l10n_es_bank_statement
863-#: help:l10n.es.extractos.concepto,code:0
864-msgid ""
865-"2 digits code of the concept defined in the file of C43 bank statements"
866-msgstr ""
867-"Codi de 2 dígits del concepte definit al fitxer d'extractes bancaris C43"
868-
869-#. module: l10n_es_bank_statement
870-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
871-#, python-format
872-msgid ""
873-"Debit amount does not agree with the defined in the last record of account."
874-msgstr ""
875-"Import deure no coincideix amb el definit en el registre final de compte."
876-
877-#. module: l10n_es_bank_statement
878-#: field:l10n.es.extractos.concepto,code:0
879-msgid "Concept code"
880-msgstr "Codi concepte"
881-
882-#. module: l10n_es_bank_statement
883-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
884-#, python-format
885-msgid "Number of records does not agree with the defined in the last record."
886-msgstr ""
887-"Nombre de registres no coincideix amb el definit en el registre final de "
888-"fitxer."
889-
890-#. module: l10n_es_bank_statement
891-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
892-#, python-format
893-msgid "Beware!"
894-msgstr "Beware!"
895-
896-#. module: l10n_es_bank_statement
897-#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
898-#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
899-#, python-format
900-msgid "C43 Created Concepts"
901-msgstr "S'han creat els conceptes C43"
902-
903-#. module: l10n_es_bank_statement
904-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
905-#, python-format
906-msgid "Error!"
907-msgstr "Error!"
908-
909-#. module: l10n_es_bank_statement
910-#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
911-#, python-format
912-msgid "Operaciones extranjero"
913-msgstr "Operaciones extranjero"
914-
915-#. module: l10n_es_bank_statement
916-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
917-#, python-format
918-msgid ""
919-"The bank statement is alredy confirmed. It can not be imported from file."
920-msgstr ""
921-"L'extracte bancari ja està confirmat. No es pot importar des de fitxer."
922-
923-#. module: l10n_es_bank_statement
924-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
925-#, python-format
926-msgid "Error"
927-msgstr "Error"
928-
929-#. module: l10n_es_bank_statement
930-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
931-#, python-format
932-msgid ""
933-"You cannot search by reference because it seems this line has not been "
934-"imported from a bank statement file. The system expected \"conceptos\" and "
935-"\"referencia2\" keys in line of amount %(amount).2f in statement "
936-"%(statement)s."
937-msgstr ""
938-"You cannot search by reference because it seems this line has not been "
939-"imported from a bank statement file. The system expected \"conceptos\" and "
940-"\"referencia2\" keys in line of amount %(amount).2f in statement "
941-"%(statement)s."
942-
943-#. module: l10n_es_bank_statement
944-#: field:l10n.es.extractos.concepto,name:0
945-msgid "Concept name"
946-msgstr "Nom concepte"
947-
948-#. module: l10n_es_bank_statement
949-#: constraint:account.bank.statement.line:0
950-msgid ""
951-"The amount of the voucher must be the same amount as the one on the "
952-"statement line"
953-msgstr ""
954-"The amount of the voucher must be the same amount as the one on the "
955-"statement line"
956-
957-#. module: l10n_es_bank_statement
958-#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
959-#, python-format
960-msgid "Cajero automático"
961-msgstr "Cajero automático"
962-
963-#. module: l10n_es_bank_statement
964-#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
965-#, python-format
966-msgid "Recibo/Letra domiciliado"
967-msgstr "Recibo/Letra domiciliado"
968-
969-#. module: l10n_es_bank_statement
970-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
971-#, python-format
972-msgid ""
973-"Credit amount does not agree with the defined in the last record of account."
974-msgstr ""
975-"Import haver no coincideix amb el definit en el registre final de compte."
976-
977-#. module: l10n_es_bank_statement
978-#: view:l10n.es.extractos.import.wizard:0
979-msgid ""
980-"This wizard will import default concepts related to standard accounts of "
981-"spanish charts."
982-msgstr ""
983-"Aquest assistent importarà els conceptes per defecte relacionats amb els "
984-"comptes comptables estàndards del pla de comptes espanyol."
985-
986-#. module: l10n_es_bank_statement
987-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
988-#, python-format
989-msgid "Import Error"
990-msgstr "Error d'importació"
991-
992-#. module: l10n_es_bank_statement
993-#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
994-msgid "Bank Statement Line"
995-msgstr "Línia d'extracte bancari"
996-
997-#. module: l10n_es_bank_statement
998-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
999-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
1000-msgid "Import Statement Concepts Wizard"
1001-msgstr "Assistent d'importació de conceptes d'extractes"
1002-
1003-#. module: l10n_es_bank_statement
1004-#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
1005-msgid "Reconcile payment orders by total amount"
1006-msgstr "Concilia ordres de pagament per total"
1007-
1008-#. module: l10n_es_bank_statement
1009-#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
1010-msgid ""
1011-"\n"
1012-"Module for the importation of Spanish bank statements following the C43 "
1013-"normative of the 'Asociación Española de la Banca'.\n"
1014-" \n"
1015-" Adds a wizard to the bank statements to perform the importation. The "
1016-"imported file gets attached to the given bank statement.\n"
1017-" It allows to define default accounting codes for the concepts defined in "
1018-"the C43 bank statement file.\n"
1019-"\n"
1020-" The search of the entries to reconcile (and partner) is done like this:\n"
1021-" 1) Unreconciled entries with the given reference and amount. The "
1022-"reference is taken from the 'conceptos' or 'referencia2' fields of the "
1023-"statement.\n"
1024-" 2) Unreconciled entries with (a partner with) the given VAT number "
1025-"and amount.\n"
1026-" These fields are tested to find a valid spanish VAT:\n"
1027-" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
1028-" - First 9 characters of 'conceptos' (La Caixa)\n"
1029-" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
1030-" 3) Unreconciled entries with the given amount.\n"
1031-"\n"
1032-" If no partner is found, the default account defined for the concept is "
1033-"used.\n"
1034-"\n"
1035-" The module also adds a wizard in Financial Management/Configuration/C43 "
1036-"bank statements to import the default statement concepts, that must be run "
1037-"after creating the spanish chart of accounts (l10n_es module).\n"
1038-" "
1039-msgstr ""
1040-
1041-#. module: l10n_es_bank_statement
1042-#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
1043-#, python-format
1044-msgid "Anulación/Corrección"
1045-msgstr "Anulación/Corrección"
1046-
1047-#. module: l10n_es_bank_statement
1048-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
1049-#, python-format
1050-msgid "Bank Statement"
1051-msgstr "Extracte Bancari"
1052-
1053-#. module: l10n_es_bank_statement
1054-#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
1055-#, python-format
1056-msgid "Cheque gasolina"
1057-msgstr "Cheque gasolina"
1058-
1059-#. module: l10n_es_bank_statement
1060-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
1061-#, python-format
1062-msgid "Info:"
1063-msgstr "Info:"
1064-
1065-#. module: l10n_es_bank_statement
1066-#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
1067-msgid "Reconcile by reference and amount"
1068-msgstr "Concilia per referència i quantitat"
1069-
1070-#. module: l10n_es_bank_statement
1071-#: view:l10n.es.extractos.import.wizard:0
1072-msgid "Import Wizard"
1073-msgstr "Assistent d'importació"
1074-
1075-#. module: l10n_es_bank_statement
1076-#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
1077-#, python-format
1078-msgid "Remesa efectos"
1079-msgstr "Remesa efectos"
1080-
1081-#. module: l10n_es_bank_statement
1082-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
1083-#: view:l10n.es.extractos.concepto:0
1084-msgid "C43 default accounts"
1085-msgstr "Comptes per defecte C43"
1086-
1087-#. module: l10n_es_bank_statement
1088-#: view:l10n.es.bank.statement.import.c43.wizard:0
1089-#: view:l10n.es.extractos.import.wizard:0
1090-msgid "Cancel"
1091-msgstr "Cancel·la"
1092-
1093-#. module: l10n_es_bank_statement
1094-#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
1095-#: field:l10n.es.extractos.concepto,company_id:0
1096-#: field:l10n.es.extractos.import.wizard,company_id:0
1097-#, python-format
1098-msgid "Company"
1099-msgstr "Companyia"
1100
1101=== removed file '___unported__/l10n_es_bank_statement/i18n/gl.po'
1102--- ___unported__/l10n_es_bank_statement/i18n/gl.po 2014-03-04 08:27:58 +0000
1103+++ ___unported__/l10n_es_bank_statement/i18n/gl.po 1970-01-01 00:00:00 +0000
1104@@ -1,573 +0,0 @@
1105-# Galician translation for openerp-spain
1106-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
1107-# This file is distributed under the same license as the openerp-spain package.
1108-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
1109-#
1110-msgid ""
1111-msgstr ""
1112-"Project-Id-Version: openerp-spain\n"
1113-"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1114-"POT-Creation-Date: 2011-03-27 02:13+0000\n"
1115-"PO-Revision-Date: 2013-10-28 03:03+0000\n"
1116-"Last-Translator: Alejandro Santana <alejandrosantana@anubia.es>\n"
1117-"Language-Team: Galician <gl@li.org>\n"
1118-"MIME-Version: 1.0\n"
1119-"Content-Type: text/plain; charset=UTF-8\n"
1120-"Content-Transfer-Encoding: 8bit\n"
1121-"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"
1122-"X-Generator: Launchpad (build 16948)\n"
1123-
1124-#. module: l10n_es_bank_statement
1125-#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
1126-#, python-format
1127-msgid "Intereses/Comisión/Gastos/Custodia"
1128-msgstr "Intereses/Comisión/Gastos/Custodia"
1129-
1130-#. module: l10n_es_bank_statement
1131-#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
1132-#, python-format
1133-msgid "Compra/Venta valores"
1134-msgstr "Compra/Venta valores"
1135-
1136-#. module: l10n_es_bank_statement
1137-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
1138-msgid "C43 codes"
1139-msgstr "Códigos C43"
1140-
1141-#. module: l10n_es_bank_statement
1142-#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
1143-msgid "Reconcile by amount"
1144-msgstr "Conciliar por cantidade"
1145-
1146-#. module: l10n_es_bank_statement
1147-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
1148-#, python-format
1149-msgid "bank-statement.txt"
1150-msgstr "bank-statement.txt"
1151-
1152-#. module: l10n_es_bank_statement
1153-#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
1154-#, python-format
1155-msgid "Nómina/Seg. social"
1156-msgstr "Nómina/Seg. social"
1157-
1158-#. module: l10n_es_bank_statement
1159-#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
1160-msgid "Reconcile by VAT number and amount"
1161-msgstr "Conciliar por NIF e cantidade"
1162-
1163-#. module: l10n_es_bank_statement
1164-#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
1165-#, python-format
1166-msgid "Ingreso/Abonaré"
1167-msgstr "Ingreso/Obriga de aboamento"
1168-
1169-#. module: l10n_es_bank_statement
1170-#: field:l10n.es.extractos.concepto,account_id:0
1171-msgid "Account associated to the concept"
1172-msgstr "Conta asociada ó concepto"
1173-
1174-#. module: l10n_es_bank_statement
1175-#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
1176-#, python-format
1177-msgid "Amortización préstamo"
1178-msgstr "Amortización préstamo"
1179-
1180-#. module: l10n_es_bank_statement
1181-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
1182-#, python-format
1183-msgid "Search by references"
1184-msgstr "Procurar por referencias"
1185-
1186-#. module: l10n_es_bank_statement
1187-#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
1188-msgid "Spanish Bank Statements Importation"
1189-msgstr "Importación de extractos bancarios españois"
1190-
1191-#. module: l10n_es_bank_statement
1192-#: field:l10n.es.bank.statement.import.c43.wizard,file:0
1193-#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
1194-msgid "Bank Statements File"
1195-msgstr "Extracto bancario"
1196-
1197-#. module: l10n_es_bank_statement
1198-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
1199-msgid "Import Bank Statement"
1200-msgstr "Importar extracto bancario"
1201-
1202-#. module: l10n_es_bank_statement
1203-#: view:l10n.es.bank.statement.import.c43.wizard:0
1204-#: view:l10n.es.extractos.import.wizard:0
1205-msgid "Import"
1206-msgstr "Importar"
1207-
1208-#. module: l10n_es_bank_statement
1209-#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
1210-#, python-format
1211-msgid "Devolución/Impagado"
1212-msgstr "Devolución/Non pago"
1213-
1214-#. module: l10n_es_bank_statement
1215-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
1216-#, python-format
1217-msgid "Search by VAT error"
1218-msgstr "Erro na procura por NIF"
1219-
1220-#. module: l10n_es_bank_statement
1221-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
1222-#, python-format
1223-msgid "Record type %s is not valid."
1224-msgstr "O tipo de rexistro %s non é válido."
1225-
1226-#. module: l10n_es_bank_statement
1227-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
1228-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
1229-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
1230-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
1231-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
1232-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
1233-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
1234-#, python-format
1235-msgid "Error in C43 file"
1236-msgstr "Erro no ficheiro da Norma C43"
1237-
1238-#. module: l10n_es_bank_statement
1239-#: help:l10n.es.extractos.concepto,account_id:0
1240-msgid ""
1241-"Default account to be associated with the concept when the file of C43 bank "
1242-"statements is imported"
1243-msgstr ""
1244-"Conta contable por defecto que se asociará ó concepto ó importa-lo ficheiro "
1245-"de extractos bancarios C43"
1246-
1247-#. module: l10n_es_bank_statement
1248-#: view:l10n.es.bank.statement.import.c43.wizard:0
1249-msgid "Bank statements import according to norm C43"
1250-msgstr "Importar extracto bancario segundo a norma C43"
1251-
1252-#. module: l10n_es_bank_statement
1253-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
1254-msgid "l10n.es.extractos.import.wizard"
1255-msgstr "l10n.es.extractos.import.wizard"
1256-
1257-#. module: l10n_es_bank_statement
1258-#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
1259-#, python-format
1260-msgid "Amortización"
1261-msgstr "Amortización"
1262-
1263-#. module: l10n_es_bank_statement
1264-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
1265-#, python-format
1266-msgid ""
1267-"You cannot search by VAT because it seems this line has not been imported "
1268-"from a bank statement file. The system expected \"referencia1\" and "
1269-"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
1270-msgstr ""
1271-"Non pode procurar por NIF porque semella que este apunte non se importou "
1272-"desde un extracto bancario. O sistema agardaba polas chaves \"referencia1\" "
1273-"e \"conceptos\" na liña de cantidade %(amount).2f no extracto %(statement)s."
1274-
1275-#. module: l10n_es_bank_statement
1276-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
1277-#, python-format
1278-msgid ""
1279-"Number of debit records does not agree with the defined in the last record "
1280-"of account."
1281-msgstr ""
1282-"O número de rexistros de débito non coincide co definido no último rexistro "
1283-"da conta."
1284-
1285-#. module: l10n_es_bank_statement
1286-#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
1287-#, python-format
1288-msgid "Subscripción/Canje"
1289-msgstr "Subscripción/Cambio"
1290-
1291-#. module: l10n_es_bank_statement
1292-#: view:l10n.es.bank.statement.import.c43.wizard:0
1293-msgid "Bank Statements File:"
1294-msgstr "Extracto bancario:"
1295-
1296-#. module: l10n_es_bank_statement
1297-#: view:l10n.es.bank.statement.import.c43.wizard:0
1298-msgid "Automatic reconciliation options"
1299-msgstr "Opciones de conciliación automática"
1300-
1301-#. module: l10n_es_bank_statement
1302-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
1303-#, python-format
1304-msgid ""
1305-"%s moves (%s) found for this date and partner. You'll have to concile this "
1306-"line manually..."
1307-msgstr ""
1308-"%s movementos (%s) atopados para esta data e empresa. Terá que conciliar "
1309-"esta líña manualmente..."
1310-
1311-#. module: l10n_es_bank_statement
1312-#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
1313-msgid "Max. days from statement date"
1314-msgstr "Máximo de días desde a data do extracto"
1315-
1316-#. module: l10n_es_bank_statement
1317-#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
1318-msgid ""
1319-"Maximum difference in days, between the maturity date of the entry to "
1320-"reconcile and the bank statement entry"
1321-msgstr ""
1322-"Diferencia máxima en días, entre a data de vencimento da entrada a conciliar "
1323-"e a entrada do extracto bancario"
1324-
1325-#. module: l10n_es_bank_statement
1326-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
1327-#, python-format
1328-msgid ""
1329-"Number of credit records does not agree with the defined in the last record "
1330-"of account."
1331-msgstr ""
1332-"O número de rexistros de crédito non cadra cos definidos no derradeiro "
1333-"rexistro da conta."
1334-
1335-#. module: l10n_es_bank_statement
1336-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
1337-#, python-format
1338-msgid ""
1339-"Final balance amount = (initial balance + credit - debit) does not agree "
1340-"with the defined in the last record of account."
1341-msgstr ""
1342-"O importe do saldo final = (balance inicial + crédito - débito) non cadra co "
1343-"definido no derradeiro rexistro da conta."
1344-
1345-#. module: l10n_es_bank_statement
1346-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
1347-msgid "Default accounts associated to C43 codes"
1348-msgstr "Contas por defecto asociadas ós códigos C43"
1349-
1350-#. module: l10n_es_bank_statement
1351-#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
1352-#, python-format
1353-msgid "Tarjeta crédito/débito"
1354-msgstr "Tarxeta crédito/débito"
1355-
1356-#. module: l10n_es_bank_statement
1357-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
1358-#, python-format
1359-msgid "A default account has not been defined for the C43 concept "
1360-msgstr "Non se definiu unha conta contable por defecto para o concepto C43 "
1361-
1362-#. module: l10n_es_bank_statement
1363-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
1364-msgid "l10n.es.bank.statement.import.c43.wizard"
1365-msgstr "l10n.es.bank.statement.import.c43.wizard"
1366-
1367-#. module: l10n_es_bank_statement
1368-#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
1369-#, python-format
1370-msgid "Reintegro/Talón"
1371-msgstr "Reintegro/Talón"
1372-
1373-#. module: l10n_es_bank_statement
1374-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
1375-#, python-format
1376-msgid "Concepts for this company already imported..."
1377-msgstr "Os conceptos para esta compañía xa foran importados..."
1378-
1379-#. module: l10n_es_bank_statement
1380-#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
1381-#, python-format
1382-msgid "Transf./Giro/Cheque"
1383-msgstr "Transf./Xiro/Cheque"
1384-
1385-#. module: l10n_es_bank_statement
1386-#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
1387-#, python-format
1388-msgid "Timbre/Corretaje/Póliza"
1389-msgstr "Timbre/Corretaxe/Póliza"
1390-
1391-#. module: l10n_es_bank_statement
1392-#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
1393-#, python-format
1394-msgid "Varios"
1395-msgstr "Varios"
1396-
1397-#. module: l10n_es_bank_statement
1398-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
1399-#, python-format
1400-msgid ""
1401-"Could not import concept %(concept)s because no matching account was found "
1402-"for expression %(expression)s."
1403-msgstr ""
1404-"Non se puido importa-lo concepto %(concept)s porque non se atopou ningunha "
1405-"conta que cadrara coa expresión %(expression)s."
1406-
1407-#. module: l10n_es_bank_statement
1408-#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
1409-msgid "Statement Line Rules"
1410-msgstr "Regras de liña de extracto"
1411-
1412-#. module: l10n_es_bank_statement
1413-#: help:l10n.es.extractos.concepto,code:0
1414-msgid ""
1415-"2 digits code of the concept defined in the file of C43 bank statements"
1416-msgstr ""
1417-"Código de 2 díxitos do concepto definido no ficheiro de extractos bancarios "
1418-"C43"
1419-
1420-#. module: l10n_es_bank_statement
1421-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
1422-#, python-format
1423-msgid ""
1424-"Debit amount does not agree with the defined in the last record of account."
1425-msgstr ""
1426-"A cantidade do débito non cadra co definido no derradeiro rexistro da conta."
1427-
1428-#. module: l10n_es_bank_statement
1429-#: field:l10n.es.extractos.concepto,code:0
1430-msgid "Concept code"
1431-msgstr "Código concepto"
1432-
1433-#. module: l10n_es_bank_statement
1434-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
1435-#, python-format
1436-msgid "Number of records does not agree with the defined in the last record."
1437-msgstr "O número de rexistros non cadra co definido no derradeiro rexistro."
1438-
1439-#. module: l10n_es_bank_statement
1440-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
1441-#, python-format
1442-msgid "Beware!"
1443-msgstr "¡Atención!"
1444-
1445-#. module: l10n_es_bank_statement
1446-#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
1447-#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
1448-#, python-format
1449-msgid "C43 Created Concepts"
1450-msgstr "Conceptos C43 creados"
1451-
1452-#. module: l10n_es_bank_statement
1453-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
1454-#, python-format
1455-msgid "Error!"
1456-msgstr "¡Erro!"
1457-
1458-#. module: l10n_es_bank_statement
1459-#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
1460-#, python-format
1461-msgid "Operaciones extranjero"
1462-msgstr "Operaciones extranxeiro"
1463-
1464-#. module: l10n_es_bank_statement
1465-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
1466-#, python-format
1467-msgid ""
1468-"The bank statement is alredy confirmed. It can not be imported from file."
1469-msgstr ""
1470-"O extracto bancario xa se confirmou. Non se pode importar desde ficheiro."
1471-
1472-#. module: l10n_es_bank_statement
1473-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
1474-#, python-format
1475-msgid "Error"
1476-msgstr "Erro"
1477-
1478-#. module: l10n_es_bank_statement
1479-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
1480-#, python-format
1481-msgid ""
1482-"You cannot search by reference because it seems this line has not been "
1483-"imported from a bank statement file. The system expected \"conceptos\" and "
1484-"\"referencia2\" keys in line of amount %(amount).2f in statement "
1485-"%(statement)s."
1486-msgstr ""
1487-"Non pode procurar por referencia porque semella que este apunte non se "
1488-"importou desde un extracto bancario. O sistema agardaba polas chaves "
1489-"\"conceptos\" e \"referencia2\" na liña de cantidade %(amount).2f no "
1490-"extracto %(statement)s."
1491-
1492-#. module: l10n_es_bank_statement
1493-#: field:l10n.es.extractos.concepto,name:0
1494-msgid "Concept name"
1495-msgstr "Nome do concepto"
1496-
1497-#. module: l10n_es_bank_statement
1498-#: constraint:account.bank.statement.line:0
1499-msgid ""
1500-"The amount of the voucher must be the same amount as the one on the "
1501-"statement line"
1502-msgstr "O importe do recibo debe se-lo mesmo có importe da liña do extracto"
1503-
1504-#. module: l10n_es_bank_statement
1505-#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
1506-#, python-format
1507-msgid "Cajero automático"
1508-msgstr "Caixeiro automático"
1509-
1510-#. module: l10n_es_bank_statement
1511-#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
1512-#, python-format
1513-msgid "Recibo/Letra domiciliado"
1514-msgstr "Recibo/Letra domiciliado"
1515-
1516-#. module: l10n_es_bank_statement
1517-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
1518-#, python-format
1519-msgid ""
1520-"Credit amount does not agree with the defined in the last record of account."
1521-msgstr ""
1522-"A cantidade do crédito non cadra co definido no derradeiro rexistro da conta."
1523-
1524-#. module: l10n_es_bank_statement
1525-#: view:l10n.es.extractos.import.wizard:0
1526-msgid ""
1527-"This wizard will import default concepts related to standard accounts of "
1528-"spanish charts."
1529-msgstr ""
1530-"Este asistente importará conceptos por defecto relacionados coas contas "
1531-"contables estándar do plan de contas español."
1532-
1533-#. module: l10n_es_bank_statement
1534-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
1535-#, python-format
1536-msgid "Import Error"
1537-msgstr "Erro de importación"
1538-
1539-#. module: l10n_es_bank_statement
1540-#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
1541-msgid "Bank Statement Line"
1542-msgstr "Liña de extracto bancario"
1543-
1544-#. module: l10n_es_bank_statement
1545-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
1546-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
1547-msgid "Import Statement Concepts Wizard"
1548-msgstr "Asistente de importación de conceptos de extractos"
1549-
1550-#. module: l10n_es_bank_statement
1551-#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
1552-msgid "Reconcile payment orders by total amount"
1553-msgstr "Conciliar ordes de pagamento por importe total"
1554-
1555-#. module: l10n_es_bank_statement
1556-#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
1557-msgid ""
1558-"\n"
1559-"Module for the importation of Spanish bank statements following the C43 "
1560-"normative of the 'Asociación Española de la Banca'.\n"
1561-" \n"
1562-" Adds a wizard to the bank statements to perform the importation. The "
1563-"imported file gets attached to the given bank statement.\n"
1564-" It allows to define default accounting codes for the concepts defined in "
1565-"the C43 bank statement file.\n"
1566-"\n"
1567-" The search of the entries to reconcile (and partner) is done like this:\n"
1568-" 1) Unreconciled entries with the given reference and amount. The "
1569-"reference is taken from the 'conceptos' or 'referencia2' fields of the "
1570-"statement.\n"
1571-" 2) Unreconciled entries with (a partner with) the given VAT number "
1572-"and amount.\n"
1573-" These fields are tested to find a valid spanish VAT:\n"
1574-" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
1575-" - First 9 characters of 'conceptos' (La Caixa)\n"
1576-" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
1577-" 3) Unreconciled entries with the given amount.\n"
1578-"\n"
1579-" If no partner is found, the default account defined for the concept is "
1580-"used.\n"
1581-"\n"
1582-" The module also adds a wizard in Financial Management/Configuration/C43 "
1583-"bank statements to import the default statement concepts, that must be run "
1584-"after creating the spanish chart of accounts (l10n_es module).\n"
1585-" "
1586-msgstr ""
1587-"\n"
1588-"Módulo para a importación de extractos bancarios españois segundo a norma "
1589-"C43 da \"Asociación Española de la Banca\".\n"
1590-" \n"
1591-" Engade un asistente ós extractos bancarios para realiza-la importación. "
1592-"O ficheiro importado queda adxunto ó extracto bancario activo.\n"
1593-" Permite definir códigos contables por defecto para os conceptos "
1594-"definidos no ficheiro de extracto bancario C43.\n"
1595-"\n"
1596-" A procura de entradas a conciliar realízase da seguinte forma:\n"
1597-" 1) Entradas sen conciliar cunha cantidade e referencia "
1598-"especificadas. A referencia obtense dos campos 'concepto' ou 'referencia2' "
1599-"do extracto.\n"
1600-" 2) Entradas sen conciliar nas que figure o NIF da empresa e a "
1601-"cantidade.\n"
1602-" Para atopar un NIF español válido búscase nos seguintes campos:\n"
1603-" - Os primeiros 9 caracteres do campo 'referencia1' (Banc "
1604-"Sabadell)\n"
1605-" - Os primeiros 9 caracteres do campo 'conceptos' (La Caixa)\n"
1606-" - Os caracteres [21:30] do campo 'conceptos' (Caja Rural del "
1607-"Jalón)\n"
1608-" 3) Entradas sen conciliar nas que figure a cantidade.\n"
1609-"\n"
1610-" Se non se atopa ningunha empresa, emprégase a conta por defecto definida "
1611-"para o concepto.\n"
1612-"\n"
1613-" O módulo tamén engade un asistente en "
1614-"'Contabilidade/Configuración/Extractos bancarios C43' para importa-los "
1615-"conceptos por defecto dos extractos; isto débese executar despois de crea-lo "
1616-"plan español de contas (módulo 'l10n_es').\n"
1617-" "
1618-
1619-#. module: l10n_es_bank_statement
1620-#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
1621-#, python-format
1622-msgid "Anulación/Corrección"
1623-msgstr "Anulación/Corrección"
1624-
1625-#. module: l10n_es_bank_statement
1626-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
1627-#, python-format
1628-msgid "Bank Statement"
1629-msgstr "Extracto bancario"
1630-
1631-#. module: l10n_es_bank_statement
1632-#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
1633-#, python-format
1634-msgid "Cheque gasolina"
1635-msgstr "Cheque gasolina"
1636-
1637-#. module: l10n_es_bank_statement
1638-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
1639-#, python-format
1640-msgid "Info:"
1641-msgstr "Información:"
1642-
1643-#. module: l10n_es_bank_statement
1644-#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
1645-msgid "Reconcile by reference and amount"
1646-msgstr "Conciliar por referencia e cantidade"
1647-
1648-#. module: l10n_es_bank_statement
1649-#: view:l10n.es.extractos.import.wizard:0
1650-msgid "Import Wizard"
1651-msgstr "Asistente de importación"
1652-
1653-#. module: l10n_es_bank_statement
1654-#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
1655-#, python-format
1656-msgid "Remesa efectos"
1657-msgstr "Remesa efectos"
1658-
1659-#. module: l10n_es_bank_statement
1660-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
1661-#: view:l10n.es.extractos.concepto:0
1662-msgid "C43 default accounts"
1663-msgstr "Contas por defecto C43"
1664-
1665-#. module: l10n_es_bank_statement
1666-#: view:l10n.es.bank.statement.import.c43.wizard:0
1667-#: view:l10n.es.extractos.import.wizard:0
1668-msgid "Cancel"
1669-msgstr "Cancelar"
1670-
1671-#. module: l10n_es_bank_statement
1672-#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
1673-#: field:l10n.es.extractos.concepto,company_id:0
1674-#: field:l10n.es.extractos.import.wizard,company_id:0
1675-#, python-format
1676-msgid "Company"
1677-msgstr "Compañía"
1678
1679=== removed file '___unported__/l10n_es_bank_statement/import_c43_file.py'
1680--- ___unported__/l10n_es_bank_statement/import_c43_file.py 2014-02-24 14:45:52 +0000
1681+++ ___unported__/l10n_es_bank_statement/import_c43_file.py 1970-01-01 00:00:00 +0000
1682@@ -1,492 +0,0 @@
1683-# -*- coding: utf-8 -*-
1684-##############################################################################
1685-#
1686-# OpenERP, Open Source Management Solution
1687-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
1688-# Jordi Esteve <jesteve@zikzakmedia.com>
1689-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
1690-# Borja López Soilán <borjals@pexego.es>
1691-# Alberto Luengo Cabanillas <alberto@pexego.es>
1692-#
1693-#
1694-# This program is free software: you can redistribute it and/or modify
1695-# it under the terms of the GNU Affero General Public License as published by
1696-# the Free Software Foundation, either version 3 of the License, or
1697-# (at your option) any later version.
1698-#
1699-# This program is distributed in the hope that it will be useful,
1700-# but WITHOUT ANY WARRANTY; without even the implied warranty of
1701-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1702-# GNU Affero General Public License for more details.
1703-#
1704-# You should have received a copy of the GNU Affero General Public License
1705-# along with this program. If not, see <http://www.gnu.org/licenses/>.
1706-#
1707-##############################################################################
1708-
1709-"""
1710-C43 file importation wizard for bank statements.
1711-"""
1712-from osv import fields,osv
1713-import wizard
1714-from openerp import pooler
1715-import base64
1716-import time
1717-import re
1718-from openerp.tools.translate import _
1719-
1720-class l10n_es_bank_statement_import_c43_wizard(osv.osv_memory):
1721- """
1722- C43 file importation wizard for bank statements.
1723- """
1724-
1725- def _process_record_11(self, cr, uid, st_data, line, context):
1726- """
1727- 11 - Registro cabecera de cuenta (obligatorio)
1728- """
1729- #
1730- # Add a new group to the statement groups
1731- #
1732- st_group = {}
1733- st_data['groups'] = st_data.get('groups', [])
1734- st_data['groups'].append(st_group)
1735-
1736- #
1737- # Set the group values
1738- #
1739- st_group.update({
1740- 'entidad':line[2:6],
1741- 'oficina': line[6:10],
1742- 'cuenta': line[10:20],
1743- 'fecha_ini': time.strftime('%Y-%m-%d', time.strptime(line[20:26], '%y%m%d')),
1744- 'fecha_fin': time.strftime('%Y-%m-%d', time.strptime(line[26:32], '%y%m%d')),
1745- 'divisa': line[47:50],
1746- 'modalidad': line[50:51], # 1,2 o 3
1747- 'nombre_propietario': line[51:77], # Nombre abreviado propietario cuenta
1748- 'saldo_ini': (float(line[33:45]) + (float(line[45:47]) / 100)) * (line[32:33] == '1' and -1 or 1),
1749- 'saldo_fin': 0,
1750- 'num_debe': 0,
1751- 'debe': 0,
1752- 'num_haber': 0,
1753- 'haber': 0,
1754- '_debit_count': 0,
1755- '_debit': 0,
1756- '_credit_count': 0,
1757- '_credit': 0,
1758- '_balance': 0,
1759- })
1760-
1761- #
1762- # Use the first group initial balance and date, as initial
1763- # balance and date for the full statement.
1764- #
1765- if st_data.get('saldo_ini', None) is None:
1766- st_data['saldo_ini'] = st_group['saldo_ini']
1767- st_data['fecha_ini'] = st_group['fecha_ini']
1768-
1769- # Update the record counter
1770- st_data['_num_records'] = st_data.get('_num_records', 0) + 1
1771-
1772- return st_group
1773-
1774-
1775- def _process_record_22(self, cr, uid, st_data, line, context):
1776- """
1777- 22 - Registro principal de movimiento (obligatorio)
1778- """
1779-
1780- #
1781- # Add a new line to the statement lines
1782- #
1783- st_line = {}
1784- st_data['lines'] = st_data.get('lines', [])
1785- st_data['lines'].append(st_line)
1786-
1787- #
1788- # Set the line values
1789- #
1790- st_line.update({
1791- 'of_origen': line[6:10],
1792- 'fecha_opera': time.strftime('%Y-%m-%d', time.strptime(line[10:16], '%y%m%d')),
1793- 'fecha_valor': time.strftime('%Y-%m-%d', time.strptime(line[16:22], '%y%m%d')),
1794- 'concepto_c': line[22:24],
1795- 'concepto_p': line[24:27],
1796- 'importe': (float(line[28:40]) + (float(line[40:42]) / 100)) * (line[27:28] == '1' and -1 or 1),
1797- 'num_documento': line[41:52],
1798- 'referencia1': line[52:64],
1799- 'referencia2': line[64:],
1800- 'conceptos': '',
1801- })
1802-
1803- #
1804- # Update the (last) group totals
1805- #
1806- st_group = st_data['groups'][-1]
1807- if st_line['importe'] < 0:
1808- st_group['_debit_count'] += 1
1809- st_group['_debit'] -= st_line['importe']
1810- else:
1811- st_group['_credit_count'] += 1
1812- st_group['_credit'] += st_line['importe']
1813-
1814- # Update the record counter
1815- st_data['_num_records'] += 1
1816-
1817- return st_line
1818-
1819-
1820- def _process_record_23(self, cr, uid, st_data, line, context):
1821- """
1822- 23 - Registros complementarios de concepto (opcionales y hasta un máximo de 5)
1823- """
1824- #
1825- # Update the current (last) line
1826- #
1827- st_line = st_data['lines'][-1]
1828- st_line['conceptos'] += line[4:] # Se han unido los dos conceptos line[4:42]+line[42:] en uno
1829-
1830- # Update the record counter
1831- st_data['_num_records'] += 1
1832-
1833- return st_line
1834-
1835-
1836- def _process_record_24(self, cr, uid, st_data, line, context):
1837- """
1838- 24 - Registro complementario de información de equivalencia del importe (opcional y sin valor contable)
1839- """
1840- #
1841- # Update the current (last) line
1842- #
1843- st_line = st_data['lines'][-1]
1844- st_line['divisa_eq'] = line[4:7]
1845- st_line['importe_eq'] = float(line[7:19]) + (float(line[19:21]) / 100)
1846-
1847- # Update the record counter
1848- st_data['_num_records'] += 1
1849-
1850- return st_line
1851-
1852-
1853- def _process_record_33(self, cr, uid, st_data, line, context):
1854- """
1855- 33 - Registro final de cuenta
1856- """
1857- #
1858- # Update the (last) group
1859- #
1860- st_group = st_data['groups'][-1]
1861- st_group.update({
1862- 'num_debe': st_group['num_debe'] + int(line[20:25]),
1863- 'debe': st_group['debe'] + float(line[25:37]) + (float(line[37:39]) / 100),
1864- 'num_haber': st_group['num_haber'] + int(line[39:44]),
1865- 'haber': st_group['haber'] + float(line[44:56]) + (float(line[56:58]) / 100),
1866- 'saldo_fin': st_group['saldo_fin'] + (float(line[59:71]) + (float(line[71:73]) / 100)) * (line[58:59] == '1' and -1 or 1),
1867- '_balance': st_group['saldo_ini'] + st_group['_credit'] - st_group['_debit']
1868- })
1869-
1870- # Update the record counter
1871- st_data['_num_records'] += 1
1872-
1873- #
1874- # Group level checks
1875- #
1876- if st_group['num_debe'] != st_group['_debit_count']:
1877- raise osv.except_osv(_('Error in C43 file'), _('Number of debit records does not agree with the defined in the last record of account.'))
1878- if st_group['num_haber'] != st_group['_credit_count']:
1879- raise osv.except_osv(_('Error in C43 file'), _('Number of credit records does not agree with the defined in the last record of account.'))
1880- if abs(st_group['debe'] - st_group['_debit']) > 0.005:
1881- raise osv.except_osv(_('Error in C43 file'), _('Debit amount does not agree with the defined in the last record of account.'))
1882- if abs(st_group['haber'] - st_group['_credit']) > 0.005:
1883- raise osv.except_osv(_('Error in C43 file'), _('Credit amount does not agree with the defined in the last record of account.'))
1884- # Note: Only perform this check if the balance defined on the file record,
1885- # as some banks may leave it empty (zero) on some circunstances
1886- # (like CaixaNova extracts for VISA credit cards).
1887- if st_group['saldo_fin'] != 0.0 \
1888- and abs(st_group['saldo_fin'] - st_group['_balance']) > 0.005:
1889- raise osv.except_osv(_('Error in C43 file'), _('Final balance amount = (initial balance + credit - debit) does not agree with the defined in the last record of account.'))
1890-
1891- return st_group
1892-
1893-
1894- def _process_record_88(self, cr, uid, st_data, line, context):
1895- """
1896- 88 - Registro de fin de archivo
1897- """
1898- # We will use the last group final balance and date, as final
1899- # balance and date for the full statement.
1900- st_group = st_data['groups'][-1]
1901-
1902- # Update the statement
1903- st_data.update({
1904- 'num_registros': int(line[20:26]),
1905- 'fecha_fin': st_group['fecha_fin'],
1906- 'saldo_fin': st_group['saldo_fin'],
1907- })
1908-
1909- #
1910- # File level checks
1911- #
1912- if st_data['num_registros'] != st_data['_num_records']:
1913- raise osv.except_osv(_('Error in C43 file'), _('Number of records does not agree with the defined in the last record.'))
1914-
1915- return st_data
1916-
1917-
1918- def _load_c43_file(self, cr, uid, file_contents, context=None):
1919- """
1920- Reads a c43 file and returns a dictionary containing the file data:
1921-
1922- _num_records: Number of records really counted
1923- num_registros: Number of records declared on the file
1924- fecha_fin: Final date (as the last record group)
1925- saldo_fin: Final balance (from the last record group)
1926- groups: Info about each of the groups (account groups):
1927- _debit_count
1928- _debit
1929- _credit_count
1930- _credit
1931- entidad
1932- oficina
1933- cuenta
1934- fecha_ini
1935- fecha_fin
1936- saldo_ini
1937- saldo_fin
1938- divisa
1939- modalidad
1940- nombre_propietario
1941- lines: Info about each of the moves
1942- of_origen
1943- fecha_opera
1944- fecha_valor
1945- concepto_c
1946- concepto_p
1947- importe
1948- num_documento
1949- referencia1
1950- referencia2
1951- conceptos
1952- divisa_eq
1953- importe_eq
1954- """
1955- if context is None:
1956- context = {}
1957-
1958- #
1959- # st_data will contain the data read from the file, plus the internal
1960- # counters used for checking.
1961- #
1962- st_data = {
1963- '_num_records': 0, # Number of records really counted
1964- 'num_registros': 0, # Number of records declared on the file
1965- 'fecha_fin': None, # Final date (as the last record group)
1966- 'saldo_fin': None, # Final balance (from the last record group)
1967- 'groups': [], # Info about each of the groups (account groups)
1968- 'lines': [], # Info about each of the moves
1969- }
1970-
1971- #
1972- # Read the C43 file
1973- #
1974- decoded_file_contents = base64.decodestring(file_contents)
1975- try:
1976- unicode(decoded_file_contents, 'utf8')
1977- except Exception, ex: # Si no puede convertir a UTF-8 es que debe estar en ISO-8859-1: Lo convertimos
1978- decoded_file_contents = unicode(decoded_file_contents, 'iso-8859-1').encode('utf-8')
1979-
1980- #
1981- # Process the file lines
1982- #
1983- for line in decoded_file_contents.split("\n"):
1984- if len(line) == 0:
1985- continue
1986- if line[0:2] == '11': # Registro cabecera de cuenta (obligatorio)
1987- self._process_record_11(cr, uid, st_data, line, context)
1988- elif line[0:2] == '22': # Registro principal de movimiento (obligatorio)
1989- self._process_record_22(cr, uid, st_data, line, context)
1990- elif line[0:2] == '23': # Registros complementarios de concepto (opcionales y hasta un máximo de 5)
1991- self._process_record_23(cr, uid, st_data, line, context)
1992- elif line[0:2] == '24': # Registro complementario de información de equivalencia del importe (opcional y sin valor contable)
1993- self._process_record_24(cr, uid, st_data, line, context)
1994- elif line[0:2] == '33': # Registro final de cuenta
1995- self._process_record_33(cr, uid, st_data, line, context)
1996- elif line[0:2] == '88': # Registro de fin de archivo
1997- self._process_record_88(cr, uid, st_data, line, context)
1998- elif ord(line[0]) == 26: # CTRL-Z (^Z), is often used as an end-of-file marker in DOS
1999- pass
2000- else:
2001- raise osv.except_osv(_('Error in C43 file'), _('Record type %s is not valid.') % line[0:2])
2002-
2003- return st_data
2004-
2005- #
2006- # Main action --------------------------------------------------------------
2007- #
2008- def import_action(self, cr, uid, ids, context=None):
2009- """
2010- Imports the C43 file selected by the user on the wizard form,
2011- into the current bank statement statement.
2012- """
2013- if context is None:
2014- context = {}
2015-
2016- pool = pooler.get_pool(cr.dbname)
2017- statement_facade = pool.get('account.bank.statement')
2018- statement_line_facade = pool.get('account.bank.statement.line')
2019- concepto_facade = pool.get('l10n.es.extractos.concepto')
2020-
2021- for c43_wizard in self.browse(cr,uid,ids,context):
2022- statement_id = context['active_id']
2023-
2024- statement = statement_facade.browse(cr, uid, statement_id)
2025- if statement.state == 'confirm':
2026- raise osv.except_osv(_('Error!'), _('The bank statement is alredy confirmed. It can not be imported from file.'))
2027-
2028- # Load the file data into the st_data dictionary
2029- st_data = self._load_c43_file(cr, uid, c43_wizard.file, context=context)
2030-
2031- #
2032- # Process each movement line from the statement data
2033- #
2034- reconciled_move_lines_ids = []
2035- for st_line in st_data['lines']:
2036- #
2037- # Search the 'concepto' for this line
2038- #
2039- concepto_ids = concepto_facade.search(cr, uid, [
2040- ('code', '=', st_line['concepto_c']),
2041- ('company_id', '=',statement.company_id.id),
2042- ], context=context)
2043- concepto = None
2044- if concepto_ids:
2045- concepto = concepto_facade.browse(cr, uid, concepto_ids[0], context=context)
2046-
2047- #
2048- # Basic statement line values
2049- #
2050- note = st_line['conceptos'].strip()
2051- ref = re.sub(' +', ' ', note).strip()
2052- values = {
2053- 'statement_id': statement_id,
2054- 'name': concepto and concepto.name or '-',
2055- 'date': st_line['fecha_opera'],
2056- 'amount': st_line['importe'],
2057- 'ref': ref,
2058- 'note': note,
2059- }
2060-
2061- if st_line['concepto_c'] in ['03']: # Recibo/Letra domiciliado
2062- values['type'] = 'supplier'
2063- elif st_line['concepto_c'] in ['14']: # Devolución/Impagado
2064- values['type'] = 'customer'
2065- elif st_line['concepto_c'] in ['05', '06', '07', '08', '09', '10', '11', '12', '13', '15', '16', '17', '98', '99']:
2066- values['type'] = 'general'
2067- else:
2068- values['type'] = (st_line['importe'] >= 0 and 'customer') or 'supplier'
2069-
2070- #
2071- # Search for lines or payment orders to reconcile against this line
2072- #
2073- line2reconcile = None
2074-
2075- maturity_date = st_line['fecha_valor']
2076- max_date_diff = c43_wizard.reco_max_days * 3600*24
2077-
2078- account_id = concepto and concepto.account_id.id
2079- partner = None
2080-
2081- if values['type'] in ['customer', 'supplier']:
2082- #
2083- # Use partner accounts
2084- #
2085- partner = statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia1'][:9], context) or \
2086- statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia1'][-9:], context) or \
2087- statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia2'][:9], context) or \
2088- statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia2'][-9:], context)
2089- if partner:
2090- # Use the partner accounts
2091- if values['type'] == 'customer':
2092- account_id = partner.property_account_receivable and partner.property_account_receivable.id or account_id
2093- else:
2094- account_id = partner.property_account_payable and partner.property_account_payable.id or account_id
2095- else:
2096- # Use the generic partner accounts
2097- default_account_receivable_id, default_account_payable_id = statement_line_facade._get_default_partner_account_ids(cr, uid, context)
2098- if values['type'] == 'customer':
2099- account_id = default_account_receivable_id or account_id
2100- else:
2101- account_id = default_account_payable_id or account_id
2102-
2103- if not account_id:
2104- raise osv.except_osv(_('Error'), _('A default account has not been defined for the C43 concept ') + st_line['concepto_c'] )
2105-
2106- values.update({
2107- 'account_id': account_id,
2108- 'partner_id': partner and partner.id or None,
2109- 'voucher_id': None,
2110- })
2111-
2112- line_id = statement_line_facade.create(cr, uid, values, context=context)
2113-
2114- # Store extra information needed to search possible move lines to reconcile
2115- info = {}
2116- for key in ('conceptos', 'referencia1', 'referencia2'):
2117- info[key] = st_line[key]
2118- pool.get('account.bank.statement.line.data').create_from_dictionary(cr, uid, line_id, info, context)
2119-
2120- # It's a bit slow doing this process by storing 'search_by' in the database each time
2121- # but simplifies the API and at the same time makes 'search_by' to be stored as the
2122- # last search type. The one that found the move line to reconcile.
2123- found = False
2124- for search_by in ('reference_and_amount','vat_and_amount','amount','payment_order','rules'):
2125- # Check if the 'search_by' type of search should be applied.
2126- if not getattr(c43_wizard, 'reco_%s' % search_by):
2127- continue
2128- pool.get('account.bank.statement.line').write(cr, uid, [line_id], {
2129- 'search_by': search_by,
2130- }, context)
2131- result = pool.get('account.bank.statement.line').reconcile_search(cr, uid, [line_id], context, maturity_date, max_date_diff)
2132- if result[line_id] or search_by == 'payment_order':
2133- found = True
2134- break
2135-
2136- if not found:
2137- # If no move line was found, set 'search_by' field to 'none'
2138- pool.get('account.bank.statement.line').write(cr, uid, [line_id], {
2139- 'search_by': 'none',
2140- }, context)
2141-
2142-
2143- #
2144- # Update the statement
2145- #
2146- statement_facade.write(cr, uid, [statement_id], {
2147- 'date': st_data['fecha_fin'],
2148- 'balance_start': st_data['saldo_ini'],
2149- 'balance_end_real': st_data['saldo_fin'],
2150- }, context=context)
2151-
2152- # Attach the C43 file to the current statement
2153- data = base64.encodestring( c43_wizard.file )
2154- res = statement_facade._attach_file_to_statement(cr, uid, data, statement_id, _('Bank Statement'), _('bank-statement.txt') )
2155-
2156- return {}
2157-
2158-
2159- _name = 'l10n.es.bank.statement.import.c43.wizard'
2160-
2161- _columns = {
2162- 'file': fields.binary('Bank Statements File', required=True, filename='file_name'),
2163- 'file_name': fields.char('Bank Statements File', size=64, readonly=True),
2164- 'reco_reference_and_amount': fields.boolean('Reconcile by reference and amount'),
2165- 'reco_vat_and_amount' : fields.boolean('Reconcile by VAT number and amount'),
2166- 'reco_amount' : fields.boolean('Reconcile by amount'),
2167- 'reco_rules' : fields.boolean('Statement Line Rules'),
2168- 'reco_payment_order': fields.boolean('Reconcile payment orders by total amount'),
2169- 'reco_max_days' : fields.integer('Max. days from statement date',help='Maximum difference in days, between the maturity date of the entry to reconcile and the bank statement entry')
2170- }
2171-
2172-l10n_es_bank_statement_import_c43_wizard()
2173-
2174-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2175
2176=== removed file '___unported__/l10n_es_bank_statement/import_c43_file_view.xml'
2177--- ___unported__/l10n_es_bank_statement/import_c43_file_view.xml 2011-03-27 01:51:59 +0000
2178+++ ___unported__/l10n_es_bank_statement/import_c43_file_view.xml 1970-01-01 00:00:00 +0000
2179@@ -1,47 +0,0 @@
2180-<?xml version="1.0" encoding="utf-8"?>
2181-<openerp>
2182- <data>
2183-
2184- <!-- Import C43 file wizard -->
2185- <record model="ir.ui.view" id="c43_file_import_wizard">
2186- <field name="name">l10n.es.bank.statement.c43.import.form</field>
2187- <field name="model">l10n.es.bank.statement.import.c43.wizard</field>
2188- <field name="type">form</field>
2189- <field name="arch" type="xml">
2190- <form string="Bank statements import according to norm C43">
2191- <group colspan="4">
2192- <label string="Bank Statements File:"/>
2193- <newline/>
2194- <field name="file_name" nolabel="1"/>
2195- <field name="file" filename="file_name" nolabel="1"/>
2196- </group>
2197- <group colspan="4" col="1">
2198- <separator string="Automatic reconciliation options"/>
2199- <field name="reco_reference_and_amount"/>
2200- <field name="reco_vat_and_amount"/>
2201- <field name="reco_amount"/>
2202- <field name="reco_payment_order"/>
2203- <field name="reco_rules"/>
2204- <field name="reco_max_days"/>
2205- </group>
2206- <button icon="gtk-cancel" special="cancel" string="Cancel" type="object"/>
2207- <button icon="gtk-ok" name="import_action" string="Import" type="object"/>
2208- </form>
2209- </field>
2210- </record>
2211-
2212- <record id="action_c43_file_import_wizard" model="ir.actions.act_window">
2213- <field name="name">Import C43 Files Wizard</field>
2214- <field name="type">ir.actions.act_window</field>
2215- <field name="res_model">l10n.es.bank.statement.import.c43.wizard</field>
2216- <field name="view_type">form</field>
2217- <field name="view_mode">form</field>
2218- <field name="target">new</field>
2219- </record>
2220-
2221- <act_window id="action_c43_file_import_wizard"
2222- key2="client_action_multi" name="Import Bank Statement"
2223- res_model="l10n.es.bank.statement.import.c43.wizard" src_model="account.bank.statement"
2224- view_mode="form" target="new" view_type="form" groups="account.group_account_manager"/>
2225- </data>
2226-</openerp>
2227
2228=== removed file '___unported__/l10n_es_bank_statement/import_conceptos.py'
2229--- ___unported__/l10n_es_bank_statement/import_conceptos.py 2014-02-24 14:45:52 +0000
2230+++ ___unported__/l10n_es_bank_statement/import_conceptos.py 1970-01-01 00:00:00 +0000
2231@@ -1,161 +0,0 @@
2232-# -*- coding: utf-8 -*-
2233-##############################################################################
2234-#
2235-# OpenERP, Open Source Management Solution
2236-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
2237-# Jordi Esteve <jesteve@zikzakmedia.com>
2238-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
2239-# Borja López Soilán <borjals@pexego.es>
2240-# $Id$
2241-#
2242-# This program is free software: you can redistribute it and/or modify
2243-# it under the terms of the GNU Affero General Public License as published by
2244-# the Free Software Foundation, either version 3 of the License, or
2245-# (at your option) any later version.
2246-#
2247-# This program is distributed in the hope that it will be useful,
2248-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2249-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2250-# GNU Affero General Public License for more details.
2251-#
2252-# You should have received a copy of the GNU Affero General Public License
2253-# along with this program. If not, see <http://www.gnu.org/licenses/>.
2254-#
2255-##############################################################################
2256-
2257-"""
2258-C43 format concepts and extension of the bank statement lines.
2259-"""
2260-
2261-from osv import osv, fields
2262-from openerp import tools
2263-import os
2264-from openerp.tools.translate import _
2265-from xml.dom import minidom
2266-
2267-
2268-
2269-class l10n_es_extractos_import_wizard(osv.osv_memory):
2270- """
2271- Wizard to import the XML file defining the statement concepts (concepto)
2272- """
2273-
2274- def _get_available_user_companies(self, cr, uid, context={}):
2275- """
2276- Obtiene la compañía del usuario activo
2277- """
2278- current_user = self.pool.get('res.users').browse(cr,uid,uid)
2279- result = [x.id for x in current_user.company_ids]
2280- return result
2281-
2282- def action_import(self, cr, uid, ids, context=None):
2283- for wiz in self.browse(cr, uid, ids, context):
2284- concept_obj = self.pool.get('l10n.es.extractos.concepto')
2285- account_obj = self.pool.get('account.account')
2286- concept_ids_list = []
2287- root_uid = 1
2288- company_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid, [('company_id','=', wiz.company_id.id)]))
2289- all_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid, []))
2290- if company_concepts:
2291- raise osv.except_osv(_("Info:"), _("Concepts for this company already imported..."))
2292- elif all_concepts:
2293- #Duplicamos los de una compañia (controlando que los planes contables no tengan el mismo numero de digitos) y asignamos nueva compañía
2294- any_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid,[('company_id','=', all_concepts[0].company_id.id)]))
2295- for concept in any_concepts:
2296- account_code = "%s%%00"%(concept.account_id.code[0:4])
2297- company_account_id = account_obj.search(cr, root_uid, [('company_id','=',wiz.company_id.id), ('code','like',account_code)])
2298- company_account_id = company_account_id and company_account_id[0] or False
2299- vals_concept = {
2300- 'name': concept.name,
2301- 'code': concept.code,
2302- 'account_id': company_account_id,
2303- 'company_id': wiz.company_id.id
2304- }
2305- concept_id = concept_obj.create(cr,uid, vals_concept)
2306- concept_ids_list.append(concept_id)
2307-
2308- #Devolvemos la vista lista de los conceptos creados...
2309- concept_view_list_id = self.pool.get('ir.ui.view').search(cr, root_uid, [('name', '=', 'l10n.es.extractos.concepto.tree')])[0]
2310- return {
2311- 'name' : _('C43 Created Concepts'),
2312- 'type' : 'ir.actions.act_window',
2313- 'res_model' : 'l10n.es.extractos.concepto',
2314- 'view_type' : 'form',
2315- 'view_mode' : 'tree,form',
2316- 'domain' : "[('id', 'in', %s)]" % concept_ids_list,
2317- 'view_id' : False,
2318- 'views': [(concept_view_list_id, 'tree'), (False, 'form'), (False, 'calendar'), (False, 'graph')],
2319- }
2320-
2321- else:
2322- #Creamos nuevos registros...
2323- data = [
2324- ('01', _('Reintegro/Talón'), '4300%00'),
2325- ('02', _('Ingreso/Abonaré'), '4100%00'),
2326- ('03', _('Recibo/Letra domiciliado'), '4100%00'),
2327- ('04', _('Transf./Giro/Cheque'), '4300%00'),
2328- ('05', _('Amortización préstamo'), '6800%00'),
2329- ('06', _('Remesa efectos'), '4010%00'),
2330- ('07', _('Subscripción/Canje'), '5700%00'),
2331- ('08', _('Amortización'), '6800%00'),
2332- ('09', _('Compra/Venta valores'), '2510%00'),
2333- ('10', _('Cheque gasolina'), '5700%00'),
2334- ('11', _('Cajero automático'), '5700%00'),
2335- ('12', _('Tarjeta crédito/débito'), '5700%00'),
2336- ('13', _('Operaciones extranjero'), '5730%00'),
2337- ('14', _('Devolución/Impagado'), '4300%00'),
2338- ('15', _('Nómina/Seg. social'), '6400%00'),
2339- ('16', _('Timbre/Corretaje/Póliza'), '6690%00'),
2340- ('17', _('Intereses/Comisión/Gastos/Custodia'), '6690%00'),
2341- ('98', _('Anulación/Corrección'), '5720%00'),
2342- ('99', _('Varios'), '5720%00'),
2343- ]
2344- concept_ids = []
2345- for item in data:
2346-
2347- account_ids = self.pool.get('account.account').search(cr, uid, [
2348- ('company_id', '=', wiz.company_id.id),
2349- ('code', 'like', item[2]),
2350- ], context=context)
2351- if not account_ids:
2352- raise osv.except_osv(_('Import Error'), _('Could not import concept %(concept)s because no matching account was found for expression %(expression)s.') % {
2353- 'concept': item[0],
2354- 'expression': item[2],
2355- })
2356-
2357- concept_id = self.pool.get('l10n.es.extractos.concepto').create(cr, uid, {
2358- 'code': item[0],
2359- 'name': item[1],
2360- 'account_id': account_ids[0],
2361- 'company_id': wiz.company_id.id,
2362- }, context)
2363-
2364- concept_ids.append( concept_id )
2365-
2366-
2367- #Devolvemos la vista lista de los usuarios modificados...
2368- concept_view_list_id = self.pool.get('ir.ui.view').search(cr, root_uid, [('name', '=', 'l10n.es.extractos.concepto.tree')])[0]
2369- return {
2370- 'name' : _('C43 Created Concepts'),
2371- 'type' : 'ir.actions.act_window',
2372- 'res_model' : 'l10n.es.extractos.concepto',
2373- 'view_type' : 'form',
2374- 'view_mode' : 'tree,form',
2375- 'view_id' : False,
2376- 'views': [(concept_view_list_id, 'tree'), (False, 'form'), (False, 'calendar'), (False, 'graph')],
2377- 'domain': [('id', 'in', concept_ids)]
2378- }
2379-
2380- _name = 'l10n.es.extractos.import.wizard'
2381-
2382- _columns = {
2383- 'company_id': fields.many2one('res.company', _('Company'), required=True, context={'user_preference': True})
2384- }
2385-
2386- _defaults = {
2387- 'company_id': lambda self, cr, uid, context: self._get_available_user_companies(cr, uid, context),
2388- }
2389-
2390-l10n_es_extractos_import_wizard()
2391-
2392-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2393
2394=== removed directory '___unported__/l10n_es_bank_statement/security'
2395=== removed file '___unported__/l10n_es_bank_statement/security/concepto_security.xml'
2396--- ___unported__/l10n_es_bank_statement/security/concepto_security.xml 2011-03-27 02:15:48 +0000
2397+++ ___unported__/l10n_es_bank_statement/security/concepto_security.xml 1970-01-01 00:00:00 +0000
2398@@ -1,14 +0,0 @@
2399-<?xml version="1.0" encoding="utf-8"?>
2400-<openerp>
2401-<data noupdate="1">
2402-
2403- <!-- Multi - Company Rules -->
2404- <record model="ir.rule" id="c43_concept_comp_rule">
2405- <field name="name">C43 File Concepts multi-company</field>
2406- <field name="model_id" ref="model_l10n_es_extractos_concepto"/>
2407- <field name="global" eval="True"/>
2408- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
2409- </record>
2410-
2411-</data>
2412-</openerp>
2413
2414=== removed file '___unported__/l10n_es_bank_statement/security/ir.model.access.csv'
2415--- ___unported__/l10n_es_bank_statement/security/ir.model.access.csv 2011-03-27 01:51:59 +0000
2416+++ ___unported__/l10n_es_bank_statement/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
2417@@ -1,3 +0,0 @@
2418-"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2419-"access_extracto_bancario_concepto","extracto_bancario_concepto","model_l10n_es_extractos_concepto","account.group_account_user",1,0,0,0
2420-"access_extracto_bancario_concepto_manager","extracto_bancario_concepto manager","model_l10n_es_extractos_concepto","account.group_account_manager",1,1,1,1
2421
2422=== renamed directory '___unported__/l10n_es_bank_statement' => 'l10n_es_bank_statement'
2423=== modified file 'l10n_es_bank_statement/__init__.py'
2424--- ___unported__/l10n_es_bank_statement/__init__.py 2011-08-29 15:11:11 +0000
2425+++ l10n_es_bank_statement/__init__.py 2014-06-11 10:49:43 +0000
2426@@ -1,18 +1,13 @@
2427 # -*- coding: utf-8 -*-
2428 ##############################################################################
2429 #
2430-# OpenERP, Open Source Management Solution
2431-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
2432-# Jordi Esteve <jesteve@zikzakmedia.com>
2433-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
2434-# Borja López Soilán <borjals@pexego.es>
2435-# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
2436-# Alberto Luengo Cabanillas <alberto@pexego.es>
2437-# $Id$
2438+# Copyright (c) All rights reserved:
2439+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
2440+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
2441 #
2442 # This program is free software: you can redistribute it and/or modify
2443-# it under the terms of the GNU Affero General Public License as published by
2444-# the Free Software Foundation, either version 3 of the License, or
2445+# it under the terms of the GNU Affero General Public License as published
2446+# by the Free Software Foundation, either version 3 of the License, or
2447 # (at your option) any later version.
2448 #
2449 # This program is distributed in the hope that it will be useful,
2450@@ -24,14 +19,4 @@
2451 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2452 #
2453 ##############################################################################
2454-
2455-"""
2456-Spanish localization of the bank statements.
2457-"""
2458-
2459-import concepto
2460-import account_bank_statement
2461-import import_conceptos
2462-import import_c43_file
2463-
2464-
2465+from . import models
2466
2467=== modified file 'l10n_es_bank_statement/__openerp__.py'
2468--- ___unported__/l10n_es_bank_statement/__openerp__.py 2013-01-28 10:29:06 +0000
2469+++ l10n_es_bank_statement/__openerp__.py 2014-06-11 10:49:43 +0000
2470@@ -1,18 +1,13 @@
2471 # -*- coding: utf-8 -*-
2472 ##############################################################################
2473 #
2474-# OpenERP, Open Source Management Solution
2475-# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
2476-# Jordi Esteve <jesteve@zikzakmedia.com>
2477-# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
2478-# Borja López Soilán <borjals@pexego.es>
2479-# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
2480-# Alberto Luengo Cabanillas <alberto@pexego.es>
2481-# $Id$
2482+# Copyright (c) All rights reserved:
2483+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
2484+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
2485 #
2486 # This program is free software: you can redistribute it and/or modify
2487-# it under the terms of the GNU Affero General Public License as published by
2488-# the Free Software Foundation, either version 3 of the License, or
2489+# it under the terms of the GNU Affero General Public License as published
2490+# by the Free Software Foundation, either version 3 of the License, or
2491 # (at your option) any later version.
2492 #
2493 # This program is distributed in the hope that it will be useful,
2494@@ -26,47 +21,34 @@
2495 ##############################################################################
2496
2497 {
2498- "name" : "Spanish Bank Statements Importation",
2499- "version" : "2.0",
2500- "author" : "Zikzakmedia, Pexego, Acysos, NaN·tic",
2501+ "name" : "Extractos bancarios españoles (Norma 43)",
2502+ "version" : "3.0",
2503+ "author" : "Spanish localization team",
2504+ "website" : "https://launchpad.net/openerp-spain",
2505 "category" : "Localisation/Accounting",
2506 "description" : """
2507-Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.
2508-
2509- Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.
2510- It allows to define default accounting codes for the concepts defined in the C43 bank statement file.
2511-
2512- The search of the entries to reconcile (and partner) is done like this:
2513- 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.
2514- 2) Unreconciled entries with (a partner with) the given VAT number and amount.
2515- These fields are tested to find a valid spanish VAT:
2516- - First 9 characters of 'referencia1' (Banc Sabadell)
2517- - First 9 characters of 'conceptos' (La Caixa)
2518- - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)
2519- 3) Unreconciled entries with the given amount.
2520-
2521- If no partner is found, the default account defined for the concept is used.
2522-
2523- The module also adds a wizard in Financial Management/Configuration/C43 bank statements to import the default statement concepts, that must be run after creating the spanish chart of accounts (l10n_es module).
2524+Extractos bancarios españoles (Norma 43)
2525+========================================
2526+
2527+Importación y tratamiento de los extractos bancarios españoles que siguen la
2528+norma/cuaderno 43 de la 'Asociación Española de la Banca'. Puede consultarse la
2529+especificación del formato aquí_.
2530+
2531+.. _aquí: https://docs.bankinter.com/stf/plataformas/empresas/gestion/ficheros/formatos_fichero/norma_43_castellano.pdf
2532+
2533+**AVISO:** Este módulo requiere de varios módulos del repositorio de código:
2534+
2535+https://code.launchpad.net/~banking-addons-team/banking-addons/bank-statement-reconcile-70
2536 """,
2537- "website" : "www.zikzakmedia.com / www.pexego.es / www.acysos.com / www.nan-tic.com",
2538 "license" : "AGPL-3",
2539 "depends" : [
2540- "account",
2541- "account_voucher",
2542 "l10n_es",
2543- "nan_account_bank_statement",
2544- ],
2545- "init_xml" : [],
2546- "demo_xml" : [],
2547- "update_xml" : [
2548- "extractos_view.xml",
2549- "import_c43_file_view.xml",
2550- "security/ir.model.access.csv",
2551- "security/concepto_security.xml"
2552- ],
2553- "installable" : False,
2554- "active" : False,
2555+ 'account_statement_base_import',
2556+ 'account_statement_base_completion',
2557+ ],
2558+ "data" : [
2559+ "views/account_bank_statement_view.xml",
2560+ "data/account_statement_completion_rule_data.xml",
2561+ ],
2562+ "installable" : True,
2563 }
2564-
2565-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2566
2567=== added file 'l10n_es_bank_statement/data/account_statement_completion_rule_data.xml'
2568--- l10n_es_bank_statement/data/account_statement_completion_rule_data.xml 1970-01-01 00:00:00 +0000
2569+++ l10n_es_bank_statement/data/account_statement_completion_rule_data.xml 2014-06-11 10:49:43 +0000
2570@@ -0,0 +1,18 @@
2571+<?xml version="1.0" encoding="utf-8"?>
2572+<openerp>
2573+<data noupdate="1">
2574+
2575+ <record id="bank_statement_completion_rule_caixabank" model="account.statement.completion.rule">
2576+ <field name="name">Casar acorde a las reglas C43 de CaixaBank</field>
2577+ <field name="sequence">10</field>
2578+ <field name="function_to_call">get_from_caixabank_rules</field>
2579+ </record>
2580+
2581+ <record id="bank_statement_completion_rule_generic" model="account.statement.completion.rule">
2582+ <field name="name">Casar acorde a las reglas genéricas C43</field>
2583+ <field name="sequence">99</field>
2584+ <field name="function_to_call">get_from_generic_c43_rules</field>
2585+ </record>
2586+
2587+</data>
2588+</openerp>
2589
2590=== added directory 'l10n_es_bank_statement/doc'
2591=== added file 'l10n_es_bank_statement/doc/norma_43_castellano.pdf'
2592Binary files l10n_es_bank_statement/doc/norma_43_castellano.pdf 1970-01-01 00:00:00 +0000 and l10n_es_bank_statement/doc/norma_43_castellano.pdf 2014-06-11 10:49:43 +0000 differ
2593=== modified file 'l10n_es_bank_statement/i18n/es.po'
2594--- ___unported__/l10n_es_bank_statement/i18n/es.po 2014-03-04 08:27:58 +0000
2595+++ l10n_es_bank_statement/i18n/es.po 2014-06-11 10:49:43 +0000
2596@@ -2,581 +2,221 @@
2597 # This file contains the translation of the following modules:
2598 # * l10n_es_bank_statement
2599 #
2600-# Albert Cervera i Areny <albert@nan-tic.com>, 2011.
2601 msgid ""
2602 msgstr ""
2603-"Project-Id-Version: OpenERP Server 6.1-dev\n"
2604-"Report-Msgid-Bugs-To: support@openerp.com\n"
2605-"POT-Creation-Date: 2011-03-27 02:13+0000\n"
2606-"PO-Revision-Date: 2013-10-11 23:33+0000\n"
2607-"Last-Translator: Albert Cervera i Areny - http://www.NaN-tic.com <albert@nan-"
2608-"tic.com>\n"
2609-"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
2610+"Project-Id-Version: OpenERP Server 7.0\n"
2611+"Report-Msgid-Bugs-To: \n"
2612+"POT-Creation-Date: 2014-06-09 22:44+0000\n"
2613+"PO-Revision-Date: 2014-06-10 01:00+0100\n"
2614+"Last-Translator: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>\n"
2615+"Language-Team: \n"
2616 "MIME-Version: 1.0\n"
2617 "Content-Type: text/plain; charset=UTF-8\n"
2618 "Content-Transfer-Encoding: 8bit\n"
2619-"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"
2620-"X-Generator: Launchpad (build 16948)\n"
2621-"Language: \n"
2622-
2623-#. module: l10n_es_bank_statement
2624-#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
2625-#, python-format
2626-msgid "Intereses/Comisión/Gastos/Custodia"
2627-msgstr "Intereses/Comisión/Gastos/Custodia"
2628-
2629-#. module: l10n_es_bank_statement
2630-#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
2631-#, python-format
2632+"Plural-Forms: \n"
2633+"X-Generator: Poedit 1.5.4\n"
2634+
2635+#. module: l10n_es_bank_statement
2636+#: code:addons/l10n_es_bank_statement/models/c43_account_statement_profile.py:33
2637+#, python-format
2638+msgid "AEB C43 standard"
2639+msgstr "Estándar AEB C43"
2640+
2641+#. module: l10n_es_bank_statement
2642+#: selection:account.bank.statement.line,c43_concept:0
2643+msgid "Amortización préstamo"
2644+msgstr "Amortización préstamo"
2645+
2646+#. module: l10n_es_bank_statement
2647+#: selection:account.bank.statement.line,c43_concept:0
2648+msgid "Anulación/Corrección"
2649+msgstr "Anulación/Corrección"
2650+
2651+#. module: l10n_es_bank_statement
2652+#: code:_description:0
2653+#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
2654+#, python-format
2655+msgid "Bank Statement Line"
2656+msgstr "Línea de extracto bancario"
2657+
2658+#. module: l10n_es_bank_statement
2659+#: field:account.bank.statement.line,c43_concept:0
2660+msgid "C43 concept"
2661+msgstr "Concepto C43"
2662+
2663+#. module: l10n_es_bank_statement
2664+#: selection:account.bank.statement.line,c43_concept:0
2665+msgid "Cajero automático"
2666+msgstr "Cajero automático"
2667+
2668+#. module: l10n_es_bank_statement
2669+#: selection:account.bank.statement.line,c43_concept:0
2670+msgid "Cheque gasolina"
2671+msgstr "Cheque gasolina"
2672+
2673+#. module: l10n_es_bank_statement
2674+#: selection:account.bank.statement.line,c43_concept:0
2675 msgid "Compra/Venta valores"
2676 msgstr "Compra/Venta valores"
2677
2678 #. module: l10n_es_bank_statement
2679-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
2680-msgid "C43 codes"
2681-msgstr "Códigos C43"
2682-
2683-#. module: l10n_es_bank_statement
2684-#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
2685-msgid "Reconcile by amount"
2686-msgstr "Conciliar por cantidad"
2687-
2688-#. module: l10n_es_bank_statement
2689-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
2690-#, python-format
2691-msgid "bank-statement.txt"
2692-msgstr "bank-statement.txt"
2693-
2694-#. module: l10n_es_bank_statement
2695-#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
2696-#, python-format
2697-msgid "Nómina/Seg. social"
2698-msgstr "Nómina/Seg. social"
2699-
2700-#. module: l10n_es_bank_statement
2701-#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
2702-msgid "Reconcile by VAT number and amount"
2703-msgstr "Conciliar por número de CIF y cantidad"
2704-
2705-#. module: l10n_es_bank_statement
2706-#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
2707-#, python-format
2708-msgid "Ingreso/Abonaré"
2709-msgstr "Ingreso/Abonaré"
2710-
2711-#. module: l10n_es_bank_statement
2712-#: field:l10n.es.extractos.concepto,account_id:0
2713-msgid "Account associated to the concept"
2714-msgstr "Cuenta asociada al concepto"
2715-
2716-#. module: l10n_es_bank_statement
2717-#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
2718-#, python-format
2719-msgid "Amortización préstamo"
2720-msgstr "Amortización préstamo"
2721-
2722-#. module: l10n_es_bank_statement
2723-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
2724-#, python-format
2725-msgid "Search by references"
2726-msgstr "Search by references"
2727-
2728-#. module: l10n_es_bank_statement
2729-#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
2730-msgid "Spanish Bank Statements Importation"
2731-msgstr "Importación de Extractos Bancarios Españoles"
2732-
2733-#. module: l10n_es_bank_statement
2734-#: field:l10n.es.bank.statement.import.c43.wizard,file:0
2735-#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
2736-msgid "Bank Statements File"
2737-msgstr "Extracto bancario"
2738-
2739-#. module: l10n_es_bank_statement
2740-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
2741-msgid "Import Bank Statement"
2742-msgstr "Importar Extracto Bancario"
2743-
2744-#. module: l10n_es_bank_statement
2745-#: view:l10n.es.bank.statement.import.c43.wizard:0
2746-#: view:l10n.es.extractos.import.wizard:0
2747-msgid "Import"
2748-msgstr "Importar"
2749-
2750-#. module: l10n_es_bank_statement
2751-#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
2752-#, python-format
2753+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:128
2754+#, python-format
2755+msgid "Credit amount doesn't match with the defined in the last record of account."
2756+msgstr "El importe del haber no casa con el definido con el definido en el último registro de la cuenta."
2757+
2758+#. module: l10n_es_bank_statement
2759+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:124
2760+#, python-format
2761+msgid "Debit amount doesn't match with the defined in the last record of account."
2762+msgstr "El importe del debe no casa con el definido con el definido en el último registro de la cuenta."
2763+
2764+#. module: l10n_es_bank_statement
2765+#: selection:account.bank.statement.line,c43_concept:0
2766 msgid "Devolución/Impagado"
2767 msgstr "Devolución/Impagado"
2768
2769 #. module: l10n_es_bank_statement
2770-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
2771-#, python-format
2772-msgid "Search by VAT error"
2773-msgstr "Search by VAT error"
2774-
2775-#. module: l10n_es_bank_statement
2776-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
2777+#: selection:account.bank.statement.line,c43_concept:0
2778+msgid "Div. cupones/Prima junta/Amortización"
2779+msgstr "Div. cupones/Prima junta/Amortización"
2780+
2781+#. module: l10n_es_bank_statement
2782+#: selection:account.bank.statement.line,c43_concept:0
2783+msgid "Docimiliado/Recibo/Letra/Pago por su cta."
2784+msgstr "Docimiliado/Recibo/Letra/Pago por su cta."
2785+
2786+#. module: l10n_es_bank_statement
2787+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:115
2788+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:119
2789+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:123
2790+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:127
2791+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:136
2792+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:147
2793+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:194
2794+#, python-format
2795+msgid "Error in C43 file"
2796+msgstr "Error en archivo C43"
2797+
2798+#. module: l10n_es_bank_statement
2799+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:137
2800+#, python-format
2801+msgid "Final balance amount = (initial balance + credit - debit) doesn't match with the defined in the last record of account."
2802+msgstr "Saldo final = (saldo inicial + haber - debe) no cuadra con el definido en el último registro de la cuenta."
2803+
2804+#. module: l10n_es_bank_statement
2805+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:33
2806+#, python-format
2807+msgid "From CaixaBank C43 rules"
2808+msgstr "Desde las reglas C43 de CaixaBank"
2809+
2810+#. module: l10n_es_bank_statement
2811+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:34
2812+#, python-format
2813+msgid "From generic C43 rules"
2814+msgstr "Desde las reglas genéricas C43"
2815+
2816+#. module: l10n_es_bank_statement
2817+#: selection:account.bank.statement.line,c43_concept:0
2818+msgid "Giro/Transferencia/Traspaso/Cheque"
2819+msgstr "Giro/Transferencia/Traspaso/Cheque"
2820+
2821+#. module: l10n_es_bank_statement
2822+#: selection:account.bank.statement.line,c43_concept:0
2823+msgid "Ingreso/Entrega/Abonaré"
2824+msgstr "Ingreso/Entrega/Abonaré"
2825+
2826+#. module: l10n_es_bank_statement
2827+#: selection:account.bank.statement.line,c43_concept:0
2828+msgid "Intereses/Comisión/Custodia/Gastos/Impuestos"
2829+msgstr "Intereses/Comisión/Custodia/Gastos/Impuestos"
2830+
2831+#. module: l10n_es_bank_statement
2832+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:68
2833+#, python-format
2834+msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for VAT number \"%s\"."
2835+msgstr "La línea llamada \"%s\" (Ref: %s) se casó con más de una empresa para el NIF \"%s\"."
2836+
2837+#. module: l10n_es_bank_statement
2838+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:123
2839+#, python-format
2840+msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for invoice amount \"%s\"."
2841+msgstr "La línea llamada \"%s\" (Ref: %s) se casó con más de una empresa para el importe de la factura \"%s\"."
2842+
2843+#. module: l10n_es_bank_statement
2844+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:120
2845+#, python-format
2846+msgid "Number of credit records doesn't match with the defined in the last record of account."
2847+msgstr "El número de registros del haber no casa con el definido en el último registro de la cuenta."
2848+
2849+#. module: l10n_es_bank_statement
2850+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:116
2851+#, python-format
2852+msgid "Number of debit records doesn't match with the defined in the last record of account."
2853+msgstr "El número de registros del debe no casa con el definido en el último registro de la cuenta."
2854+
2855+#. module: l10n_es_bank_statement
2856+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:148
2857+#, python-format
2858+msgid "Number of records doesn't match with the defined in the last record."
2859+msgstr "El número de registros no casa con el definido en el último registro de la cuenta."
2860+
2861+#. module: l10n_es_bank_statement
2862+#: selection:account.bank.statement.line,c43_concept:0
2863+msgid "Nómina/Seguro social"
2864+msgstr "Nómina/Seguro social"
2865+
2866+#. module: l10n_es_bank_statement
2867+#: selection:account.bank.statement.line,c43_concept:0
2868+msgid "Operaciones extranjero"
2869+msgstr "Operaciones extranjero"
2870+
2871+#. module: l10n_es_bank_statement
2872+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:195
2873 #, python-format
2874 msgid "Record type %s is not valid."
2875-msgstr "Record type %s is not valid."
2876-
2877-#. module: l10n_es_bank_statement
2878-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
2879-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
2880-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
2881-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
2882-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
2883-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
2884-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
2885-#, python-format
2886-msgid "Error in C43 file"
2887-msgstr "Error en fichero C43"
2888-
2889-#. module: l10n_es_bank_statement
2890-#: help:l10n.es.extractos.concepto,account_id:0
2891-msgid ""
2892-"Default account to be associated with the concept when the file of C43 bank "
2893-"statements is imported"
2894-msgstr ""
2895-"Cuenta contable por defecto que se asociará al concepto al importar el "
2896-"archivo de extractos bancarios C43"
2897-
2898-#. module: l10n_es_bank_statement
2899-#: view:l10n.es.bank.statement.import.c43.wizard:0
2900-msgid "Bank statements import according to norm C43"
2901-msgstr "Importación de extractos bancarios de acuerdo a la norma C43"
2902-
2903-#. module: l10n_es_bank_statement
2904-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
2905-msgid "l10n.es.extractos.import.wizard"
2906-msgstr "l10n.es.extractos.import.wizard"
2907-
2908-#. module: l10n_es_bank_statement
2909-#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
2910-#, python-format
2911-msgid "Amortización"
2912-msgstr "Amortización"
2913-
2914-#. module: l10n_es_bank_statement
2915-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
2916-#, python-format
2917-msgid ""
2918-"You cannot search by VAT because it seems this line has not been imported "
2919-"from a bank statement file. The system expected \"referencia1\" and "
2920-"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
2921-msgstr ""
2922-"You cannot search by VAT because it seems this line has not been imported "
2923-"from a bank statement file. The system expected \"referencia1\" and "
2924-"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
2925-
2926-#. module: l10n_es_bank_statement
2927-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
2928-#, python-format
2929-msgid ""
2930-"Number of debit records does not agree with the defined in the last record "
2931-"of account."
2932-msgstr ""
2933-"El número de registros de débito no coincide con los definidos en el último "
2934-"registro de la cuenta."
2935-
2936-#. module: l10n_es_bank_statement
2937-#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
2938-#, python-format
2939-msgid "Subscripción/Canje"
2940-msgstr "Subscripción/Canje"
2941-
2942-#. module: l10n_es_bank_statement
2943-#: view:l10n.es.bank.statement.import.c43.wizard:0
2944-msgid "Bank Statements File:"
2945-msgstr "Fichero de extracto bancario:"
2946-
2947-#. module: l10n_es_bank_statement
2948-#: view:l10n.es.bank.statement.import.c43.wizard:0
2949-msgid "Automatic reconciliation options"
2950-msgstr "Opciones de conciliación automática"
2951-
2952-#. module: l10n_es_bank_statement
2953-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
2954-#, python-format
2955-msgid ""
2956-"%s moves (%s) found for this date and partner. You'll have to concile this "
2957-"line manually..."
2958-msgstr ""
2959-"%s movimientos (%s) encontrados para esta fecha y partner. Tendrá que "
2960-"conciliar esta línea manualmente..."
2961-
2962-#. module: l10n_es_bank_statement
2963-#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
2964-msgid "Max. days from statement date"
2965-msgstr "Tope de días desde la fecha del extracto"
2966-
2967-#. module: l10n_es_bank_statement
2968-#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
2969-msgid ""
2970-"Maximum difference in days, between the maturity date of the entry to "
2971-"reconcile and the bank statement entry"
2972-msgstr ""
2973-"Diferencia máxima en días, entre la fecha de vencimiento de la entrada a "
2974-"conciliar y la entrada del extracto bancario"
2975-
2976-#. module: l10n_es_bank_statement
2977-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
2978-#, python-format
2979-msgid ""
2980-"Number of credit records does not agree with the defined in the last record "
2981-"of account."
2982-msgstr ""
2983-"El número de registros de crédito no coincide con los definidos en el último "
2984-"registro de la cuenta."
2985-
2986-#. module: l10n_es_bank_statement
2987-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
2988-#, python-format
2989-msgid ""
2990-"Final balance amount = (initial balance + credit - debit) does not agree "
2991-"with the defined in the last record of account."
2992-msgstr ""
2993-"La cantidad del balance final (=balance inicial + crédito - débito) no "
2994-"coincide con la definida en el último registro de la cuenta."
2995-
2996-#. module: l10n_es_bank_statement
2997-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
2998-msgid "Default accounts associated to C43 codes"
2999-msgstr "Cuentas por defecto asociadas a los códigos C43"
3000-
3001-#. module: l10n_es_bank_statement
3002-#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
3003-#, python-format
3004+msgstr "El registro de tipo %s no es válido."
3005+
3006+#. module: l10n_es_bank_statement
3007+#: selection:account.bank.statement.line,c43_concept:0
3008+msgid "Reintegro/Talón"
3009+msgstr "Reintegro/Talón"
3010+
3011+#. module: l10n_es_bank_statement
3012+#: selection:account.bank.statement.line,c43_concept:0
3013+msgid "Remesa efectos"
3014+msgstr "Remesa efectos"
3015+
3016+#. module: l10n_es_bank_statement
3017+#: code:_description:0
3018+#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_profile
3019+#, python-format
3020+msgid "Statement Profile"
3021+msgstr "Perfil de extracto"
3022+
3023+#. module: l10n_es_bank_statement
3024+#: selection:account.bank.statement.line,c43_concept:0
3025+msgid "Subscripción/Div. pasivos/Canje"
3026+msgstr "Subscripción/Div. pasivos/Canje"
3027+
3028+#. module: l10n_es_bank_statement
3029+#: selection:account.bank.statement.line,c43_concept:0
3030 msgid "Tarjeta crédito/débito"
3031 msgstr "Tarjeta crédito/débito"
3032
3033 #. module: l10n_es_bank_statement
3034-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
3035-#, python-format
3036-msgid "A default account has not been defined for the C43 concept "
3037-msgstr "No ha sido definida una cuenta por defecto para el concepto C43 "
3038-
3039-#. module: l10n_es_bank_statement
3040-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
3041-msgid "l10n.es.bank.statement.import.c43.wizard"
3042-msgstr "l10n.es.bank.statement.import.c43.wizard"
3043-
3044-#. module: l10n_es_bank_statement
3045-#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
3046-#, python-format
3047-msgid "Reintegro/Talón"
3048-msgstr "Reintegro/Talón"
3049-
3050-#. module: l10n_es_bank_statement
3051-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
3052-#, python-format
3053-msgid "Concepts for this company already imported..."
3054-msgstr "Los conceptos para esta compañía ya han sido importados..."
3055-
3056-#. module: l10n_es_bank_statement
3057-#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
3058-#, python-format
3059-msgid "Transf./Giro/Cheque"
3060-msgstr "Transf./Giro/Cheque"
3061-
3062-#. module: l10n_es_bank_statement
3063-#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
3064-#, python-format
3065+#: selection:account.bank.statement.line,c43_concept:0
3066 msgid "Timbre/Corretaje/Póliza"
3067 msgstr "Timbre/Corretaje/Póliza"
3068
3069 #. module: l10n_es_bank_statement
3070-#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
3071-#, python-format
3072+#: selection:account.bank.statement.line,c43_concept:0
3073 msgid "Varios"
3074 msgstr "Varios"
3075
3076 #. module: l10n_es_bank_statement
3077-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
3078-#, python-format
3079-msgid ""
3080-"Could not import concept %(concept)s because no matching account was found "
3081-"for expression %(expression)s."
3082-msgstr ""
3083-"Could not import concept %(concept)s because no matching account was found "
3084-"for expression %(expression)s."
3085-
3086-#. module: l10n_es_bank_statement
3087-#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
3088-msgid "Statement Line Rules"
3089-msgstr "Reglas de líneas de extracto"
3090-
3091-#. module: l10n_es_bank_statement
3092-#: help:l10n.es.extractos.concepto,code:0
3093-msgid ""
3094-"2 digits code of the concept defined in the file of C43 bank statements"
3095-msgstr ""
3096-"Código de 2 dígitos del concepto definido en el archivo de extractos "
3097-"bancarios C43"
3098-
3099-#. module: l10n_es_bank_statement
3100-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
3101-#, python-format
3102-msgid ""
3103-"Debit amount does not agree with the defined in the last record of account."
3104-msgstr ""
3105-"La cantidad del débito no coincide con lo definido en el último registro de "
3106-"la cuenta."
3107-
3108-#. module: l10n_es_bank_statement
3109-#: field:l10n.es.extractos.concepto,code:0
3110-msgid "Concept code"
3111-msgstr "Código concepto C43"
3112-
3113-#. module: l10n_es_bank_statement
3114-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
3115-#, python-format
3116-msgid "Number of records does not agree with the defined in the last record."
3117-msgstr ""
3118-"El número de registros no coincide con lo definido en el último registro."
3119-
3120-#. module: l10n_es_bank_statement
3121-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
3122-#, python-format
3123-msgid "Beware!"
3124-msgstr "Atención!"
3125-
3126-#. module: l10n_es_bank_statement
3127-#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
3128-#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
3129-#, python-format
3130-msgid "C43 Created Concepts"
3131-msgstr "Conceptos C43 Creados"
3132-
3133-#. module: l10n_es_bank_statement
3134-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
3135-#, python-format
3136-msgid "Error!"
3137-msgstr "Error!"
3138-
3139-#. module: l10n_es_bank_statement
3140-#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
3141-#, python-format
3142-msgid "Operaciones extranjero"
3143-msgstr "Operaciones extranjero"
3144-
3145-#. module: l10n_es_bank_statement
3146-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
3147-#, python-format
3148-msgid ""
3149-"The bank statement is alredy confirmed. It can not be imported from file."
3150-msgstr ""
3151-"El extracto bancario ya está confirmado. No se puede importar desde fichero."
3152-
3153-#. module: l10n_es_bank_statement
3154-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
3155-#, python-format
3156-msgid "Error"
3157-msgstr "Error"
3158-
3159-#. module: l10n_es_bank_statement
3160-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
3161-#, python-format
3162-msgid ""
3163-"You cannot search by reference because it seems this line has not been "
3164-"imported from a bank statement file. The system expected \"conceptos\" and "
3165-"\"referencia2\" keys in line of amount %(amount).2f in statement "
3166-"%(statement)s."
3167-msgstr ""
3168-"You cannot search by reference because it seems this line has not been "
3169-"imported from a bank statement file. The system expected \"conceptos\" and "
3170-"\"referencia2\" keys in line of amount %(amount).2f in statement "
3171-"%(statement)s."
3172-
3173-#. module: l10n_es_bank_statement
3174-#: field:l10n.es.extractos.concepto,name:0
3175-msgid "Concept name"
3176-msgstr "Nombre concepto"
3177-
3178-#. module: l10n_es_bank_statement
3179-#: constraint:account.bank.statement.line:0
3180-msgid ""
3181-"The amount of the voucher must be the same amount as the one on the "
3182-"statement line"
3183-msgstr ""
3184-"El importe del recibo debe ser el mismo importe que el de la línea del "
3185-"extracto"
3186-
3187-#. module: l10n_es_bank_statement
3188-#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
3189-#, python-format
3190-msgid "Cajero automático"
3191-msgstr "Cajero automático"
3192-
3193-#. module: l10n_es_bank_statement
3194-#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
3195-#, python-format
3196-msgid "Recibo/Letra domiciliado"
3197-msgstr "Recibo/Letra domiciliado"
3198-
3199-#. module: l10n_es_bank_statement
3200-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
3201-#, python-format
3202-msgid ""
3203-"Credit amount does not agree with the defined in the last record of account."
3204-msgstr ""
3205-"La cantidad del crédito no coincide con lo definido en el último registro de "
3206-"la cuenta."
3207-
3208-#. module: l10n_es_bank_statement
3209-#: view:l10n.es.extractos.import.wizard:0
3210-msgid ""
3211-"This wizard will import default concepts related to standard accounts of "
3212-"spanish charts."
3213-msgstr ""
3214-"Este asistente importará conceptos por defecto relacionados con las cuentas "
3215-"contables estándar del plan de cuentas español."
3216-
3217-#. module: l10n_es_bank_statement
3218-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
3219-#, python-format
3220-msgid "Import Error"
3221-msgstr "Error de importación"
3222-
3223-#. module: l10n_es_bank_statement
3224-#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
3225-msgid "Bank Statement Line"
3226-msgstr "Línea de extracto bancario"
3227-
3228-#. module: l10n_es_bank_statement
3229-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
3230-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
3231-msgid "Import Statement Concepts Wizard"
3232-msgstr "Asistente de importación de conceptos de extractos"
3233-
3234-#. module: l10n_es_bank_statement
3235-#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
3236-msgid "Reconcile payment orders by total amount"
3237-msgstr "Conciliar órdenes de pago por importe total"
3238-
3239-#. module: l10n_es_bank_statement
3240-#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
3241-msgid ""
3242-"\n"
3243-"Module for the importation of Spanish bank statements following the C43 "
3244-"normative of the 'Asociación Española de la Banca'.\n"
3245-" \n"
3246-" Adds a wizard to the bank statements to perform the importation. The "
3247-"imported file gets attached to the given bank statement.\n"
3248-" It allows to define default accounting codes for the concepts defined in "
3249-"the C43 bank statement file.\n"
3250-"\n"
3251-" The search of the entries to reconcile (and partner) is done like this:\n"
3252-" 1) Unreconciled entries with the given reference and amount. The "
3253-"reference is taken from the 'conceptos' or 'referencia2' fields of the "
3254-"statement.\n"
3255-" 2) Unreconciled entries with (a partner with) the given VAT number "
3256-"and amount.\n"
3257-" These fields are tested to find a valid spanish VAT:\n"
3258-" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
3259-" - First 9 characters of 'conceptos' (La Caixa)\n"
3260-" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
3261-" 3) Unreconciled entries with the given amount.\n"
3262-"\n"
3263-" If no partner is found, the default account defined for the concept is "
3264-"used.\n"
3265-"\n"
3266-" The module also adds a wizard in Financial Management/Configuration/C43 "
3267-"bank statements to import the default statement concepts, that must be run "
3268-"after creating the spanish chart of accounts (l10n_es module).\n"
3269-" "
3270-msgstr ""
3271-"\n"
3272-"Módulo para la importación de extractos bancarios españoles de acuerdo a la "
3273-"norma C43 de la Asociación Española de la Banca.\n"
3274-" \n"
3275-" Añade un asistente a los extractos bancarios para realizar la "
3276-"importación. El fichero importado queda adjunto al extracto bancario "
3277-"activo.\n"
3278-" Permite definir códigos contables por defecto para los conceptos "
3279-"definidos en el fichero de extracto bancario C43.\n"
3280-"\n"
3281-" La búsqueda de entradas a conciliar se realiza de la siguiente forma:\n"
3282-" 1) Entradas sin conciliar con una cantidad y referencia "
3283-"especificadas. La referencia se obtiene de los campos 'concepto' o "
3284-"'referencia2' del extracto.\n"
3285-" 2) Entradas sin conciliar en las que figure el CIF del partner y la "
3286-"cantidad.\n"
3287-" Para encontrar un CIF español válido se busca en los siguientes "
3288-"campos:\n"
3289-" - Los primeros 9 caracteres del campo 'referencia1' (Banc "
3290-"Sabadell)\n"
3291-" - Los primeros 9 caracteres del campo 'conceptos' (La Caixa)\n"
3292-" - Los caracteres [21:30] del campo 'conceptos' (Caja Rural del "
3293-"Jalón)\n"
3294-" 3) Entradas sin conciliar en las que figure la cantidad.\n"
3295-"\n"
3296-" Si no se encuentra ningún partner, se utiliza la cuenta por defecto "
3297-"definida para el concepto.\n"
3298-"\n"
3299-" El módulo también añade un asistente en "
3300-"'Contabilidad/Configuración/Extractos bancarios C43' para importar los "
3301-"conceptos por defecto de los extractos; esto se debe ejecutar después de "
3302-"crear el plan español de cuentas (módulo 'l10n_es').\n"
3303-" "
3304-
3305-#. module: l10n_es_bank_statement
3306-#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
3307-#, python-format
3308-msgid "Anulación/Corrección"
3309-msgstr "Anulación/Corrección"
3310-
3311-#. module: l10n_es_bank_statement
3312-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
3313-#, python-format
3314-msgid "Bank Statement"
3315-msgstr "Extracto bancario"
3316-
3317-#. module: l10n_es_bank_statement
3318-#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
3319-#, python-format
3320-msgid "Cheque gasolina"
3321-msgstr "Cheque gasolina"
3322-
3323-#. module: l10n_es_bank_statement
3324-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
3325-#, python-format
3326-msgid "Info:"
3327-msgstr "Info:"
3328-
3329-#. module: l10n_es_bank_statement
3330-#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
3331-msgid "Reconcile by reference and amount"
3332-msgstr "Conciliar por referencia y cantidad"
3333-
3334-#. module: l10n_es_bank_statement
3335-#: view:l10n.es.extractos.import.wizard:0
3336-msgid "Import Wizard"
3337-msgstr "Asistente de importación"
3338-
3339-#. module: l10n_es_bank_statement
3340-#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
3341-#, python-format
3342-msgid "Remesa efectos"
3343-msgstr "Remesa efectos"
3344-
3345-#. module: l10n_es_bank_statement
3346-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
3347-#: view:l10n.es.extractos.concepto:0
3348-msgid "C43 default accounts"
3349-msgstr "Cuentas por defecto C43"
3350-
3351-#. module: l10n_es_bank_statement
3352-#: view:l10n.es.bank.statement.import.c43.wizard:0
3353-#: view:l10n.es.extractos.import.wizard:0
3354-msgid "Cancel"
3355-msgstr "Cancelar"
3356-
3357-#. module: l10n_es_bank_statement
3358-#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
3359-#: field:l10n.es.extractos.concepto,company_id:0
3360-#: field:l10n.es.extractos.import.wizard,company_id:0
3361-#, python-format
3362-msgid "Company"
3363-msgstr "Compañía"
3364+#: code:_description:0
3365+#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_completion_rule
3366+#, python-format
3367+msgid "account.statement.completion.rule"
3368+msgstr "account.statement.completion.rule"
3369
3370=== modified file 'l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot'
3371--- ___unported__/l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot 2013-11-22 23:44:11 +0000
3372+++ l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot 2014-06-11 10:49:43 +0000
3373@@ -4,10 +4,10 @@
3374 #
3375 msgid ""
3376 msgstr ""
3377-"Project-Id-Version: OpenERP Server 6.0.1\n"
3378-"Report-Msgid-Bugs-To: support@openerp.com\n"
3379-"POT-Creation-Date: 2011-03-27 02:13+0000\n"
3380-"PO-Revision-Date: 2011-03-27 02:13+0000\n"
3381+"Project-Id-Version: OpenERP Server 7.0\n"
3382+"Report-Msgid-Bugs-To: \n"
3383+"POT-Creation-Date: 2014-06-10 14:31+0000\n"
3384+"PO-Revision-Date: 2014-06-10 14:31+0000\n"
3385 "Last-Translator: <>\n"
3386 "Language-Team: \n"
3387 "MIME-Version: 1.0\n"
3388@@ -16,477 +16,207 @@
3389 "Plural-Forms: \n"
3390
3391 #. module: l10n_es_bank_statement
3392-#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
3393-#, python-format
3394-msgid "Intereses/Comisión/Gastos/Custodia"
3395-msgstr ""
3396-
3397-#. module: l10n_es_bank_statement
3398-#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
3399-#, python-format
3400+#: code:addons/l10n_es_bank_statement/models/c43_account_statement_profile.py:33
3401+#, python-format
3402+msgid "AEB C43 standard"
3403+msgstr ""
3404+
3405+#. module: l10n_es_bank_statement
3406+#: selection:account.bank.statement.line,c43_concept:0
3407+msgid "Amortización préstamo"
3408+msgstr ""
3409+
3410+#. module: l10n_es_bank_statement
3411+#: selection:account.bank.statement.line,c43_concept:0
3412+msgid "Anulación/Corrección"
3413+msgstr ""
3414+
3415+#. module: l10n_es_bank_statement
3416+#: code:_description:0
3417+#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
3418+#, python-format
3419+msgid "Bank Statement Line"
3420+msgstr ""
3421+
3422+#. module: l10n_es_bank_statement
3423+#: field:account.bank.statement.line,c43_concept:0
3424+msgid "C43 concept"
3425+msgstr ""
3426+
3427+#. module: l10n_es_bank_statement
3428+#: selection:account.bank.statement.line,c43_concept:0
3429+msgid "Cajero automático"
3430+msgstr ""
3431+
3432+#. module: l10n_es_bank_statement
3433+#: selection:account.bank.statement.line,c43_concept:0
3434+msgid "Cheque gasolina"
3435+msgstr ""
3436+
3437+#. module: l10n_es_bank_statement
3438+#: selection:account.bank.statement.line,c43_concept:0
3439 msgid "Compra/Venta valores"
3440 msgstr ""
3441
3442 #. module: l10n_es_bank_statement
3443-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
3444-msgid "C43 codes"
3445-msgstr ""
3446-
3447-#. module: l10n_es_bank_statement
3448-#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
3449-msgid "Reconcile by amount"
3450-msgstr ""
3451-
3452-#. module: l10n_es_bank_statement
3453-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
3454-#, python-format
3455-msgid "bank-statement.txt"
3456-msgstr ""
3457-
3458-#. module: l10n_es_bank_statement
3459-#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
3460-#, python-format
3461-msgid "Nómina/Seg. social"
3462-msgstr ""
3463-
3464-#. module: l10n_es_bank_statement
3465-#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
3466-msgid "Reconcile by VAT number and amount"
3467-msgstr ""
3468-
3469-#. module: l10n_es_bank_statement
3470-#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
3471-#, python-format
3472-msgid "Ingreso/Abonaré"
3473-msgstr ""
3474-
3475-#. module: l10n_es_bank_statement
3476-#: field:l10n.es.extractos.concepto,account_id:0
3477-msgid "Account associated to the concept"
3478-msgstr ""
3479-
3480-#. module: l10n_es_bank_statement
3481-#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
3482-#, python-format
3483-msgid "Amortización préstamo"
3484-msgstr ""
3485-
3486-#. module: l10n_es_bank_statement
3487-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
3488-#, python-format
3489-msgid "Search by references"
3490-msgstr ""
3491-
3492-#. module: l10n_es_bank_statement
3493-#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
3494-msgid "Spanish Bank Statements Importation"
3495-msgstr ""
3496-
3497-#. module: l10n_es_bank_statement
3498-#: field:l10n.es.bank.statement.import.c43.wizard,file:0
3499-#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
3500-msgid "Bank Statements File"
3501-msgstr ""
3502-
3503-#. module: l10n_es_bank_statement
3504-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
3505-msgid "Import Bank Statement"
3506-msgstr ""
3507-
3508-#. module: l10n_es_bank_statement
3509-#: view:l10n.es.bank.statement.import.c43.wizard:0
3510-#: view:l10n.es.extractos.import.wizard:0
3511-msgid "Import"
3512-msgstr ""
3513-
3514-#. module: l10n_es_bank_statement
3515-#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
3516-#, python-format
3517+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:128
3518+#, python-format
3519+msgid "Credit amount doesn't match with the defined in the last record of account."
3520+msgstr ""
3521+
3522+#. module: l10n_es_bank_statement
3523+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:124
3524+#, python-format
3525+msgid "Debit amount doesn't match with the defined in the last record of account."
3526+msgstr ""
3527+
3528+#. module: l10n_es_bank_statement
3529+#: selection:account.bank.statement.line,c43_concept:0
3530 msgid "Devolución/Impagado"
3531 msgstr ""
3532
3533 #. module: l10n_es_bank_statement
3534-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
3535-#, python-format
3536-msgid "Search by VAT error"
3537-msgstr ""
3538-
3539-#. module: l10n_es_bank_statement
3540-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
3541+#: selection:account.bank.statement.line,c43_concept:0
3542+msgid "Div. cupones/Prima junta/Amortización"
3543+msgstr ""
3544+
3545+#. module: l10n_es_bank_statement
3546+#: selection:account.bank.statement.line,c43_concept:0
3547+msgid "Docimiliado/Recibo/Letra/Pago por su cta."
3548+msgstr ""
3549+
3550+#. module: l10n_es_bank_statement
3551+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:115
3552+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:119
3553+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:123
3554+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:127
3555+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:136
3556+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:147
3557+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:194
3558+#, python-format
3559+msgid "Error in C43 file"
3560+msgstr ""
3561+
3562+#. module: l10n_es_bank_statement
3563+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:137
3564+#, python-format
3565+msgid "Final balance amount = (initial balance + credit - debit) doesn't match with the defined in the last record of account."
3566+msgstr ""
3567+
3568+#. module: l10n_es_bank_statement
3569+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:33
3570+#, python-format
3571+msgid "From CaixaBank C43 rules"
3572+msgstr ""
3573+
3574+#. module: l10n_es_bank_statement
3575+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:34
3576+#, python-format
3577+msgid "From generic C43 rules"
3578+msgstr ""
3579+
3580+#. module: l10n_es_bank_statement
3581+#: selection:account.bank.statement.line,c43_concept:0
3582+msgid "Giro/Transferencia/Traspaso/Cheque"
3583+msgstr ""
3584+
3585+#. module: l10n_es_bank_statement
3586+#: selection:account.bank.statement.line,c43_concept:0
3587+msgid "Ingreso/Entrega/Abonaré"
3588+msgstr ""
3589+
3590+#. module: l10n_es_bank_statement
3591+#: selection:account.bank.statement.line,c43_concept:0
3592+msgid "Intereses/Comisión/Custodia/Gastos/Impuestos"
3593+msgstr ""
3594+
3595+#. module: l10n_es_bank_statement
3596+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:68
3597+#, python-format
3598+msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for VAT number \"%s\"."
3599+msgstr ""
3600+
3601+#. module: l10n_es_bank_statement
3602+#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:123
3603+#, python-format
3604+msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for invoice amount \"%s\"."
3605+msgstr ""
3606+
3607+#. module: l10n_es_bank_statement
3608+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:120
3609+#, python-format
3610+msgid "Number of credit records doesn't match with the defined in the last record of account."
3611+msgstr ""
3612+
3613+#. module: l10n_es_bank_statement
3614+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:116
3615+#, python-format
3616+msgid "Number of debit records doesn't match with the defined in the last record of account."
3617+msgstr ""
3618+
3619+#. module: l10n_es_bank_statement
3620+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:148
3621+#, python-format
3622+msgid "Number of records doesn't match with the defined in the last record."
3623+msgstr ""
3624+
3625+#. module: l10n_es_bank_statement
3626+#: selection:account.bank.statement.line,c43_concept:0
3627+msgid "Nómina/Seguro social"
3628+msgstr ""
3629+
3630+#. module: l10n_es_bank_statement
3631+#: selection:account.bank.statement.line,c43_concept:0
3632+msgid "Operaciones extranjero"
3633+msgstr ""
3634+
3635+#. module: l10n_es_bank_statement
3636+#: code:addons/l10n_es_bank_statement/models/c43_parser.py:195
3637 #, python-format
3638 msgid "Record type %s is not valid."
3639 msgstr ""
3640
3641 #. module: l10n_es_bank_statement
3642-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
3643-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
3644-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
3645-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
3646-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
3647-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
3648-#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
3649-#, python-format
3650-msgid "Error in C43 file"
3651-msgstr ""
3652-
3653-#. module: l10n_es_bank_statement
3654-#: help:l10n.es.extractos.concepto,account_id:0
3655-msgid "Default account to be associated with the concept when the file of C43 bank statements is imported"
3656-msgstr ""
3657-
3658-#. module: l10n_es_bank_statement
3659-#: view:l10n.es.bank.statement.import.c43.wizard:0
3660-msgid "Bank statements import according to norm C43"
3661-msgstr ""
3662-
3663-#. module: l10n_es_bank_statement
3664-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
3665-msgid "l10n.es.extractos.import.wizard"
3666-msgstr ""
3667-
3668-#. module: l10n_es_bank_statement
3669-#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
3670-#, python-format
3671-msgid "Amortización"
3672-msgstr ""
3673-
3674-#. module: l10n_es_bank_statement
3675-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
3676-#, python-format
3677-msgid "You cannot search by VAT because it seems this line has not been imported from a bank statement file. The system expected \"referencia1\" and \"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
3678-msgstr ""
3679-
3680-#. module: l10n_es_bank_statement
3681-#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
3682-#, python-format
3683-msgid "Number of debit records does not agree with the defined in the last record of account."
3684-msgstr ""
3685-
3686-#. module: l10n_es_bank_statement
3687-#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
3688-#, python-format
3689-msgid "Subscripción/Canje"
3690-msgstr ""
3691-
3692-#. module: l10n_es_bank_statement
3693-#: view:l10n.es.bank.statement.import.c43.wizard:0
3694-msgid "Bank Statements File:"
3695-msgstr ""
3696-
3697-#. module: l10n_es_bank_statement
3698-#: view:l10n.es.bank.statement.import.c43.wizard:0
3699-msgid "Automatic reconciliation options"
3700-msgstr ""
3701-
3702-#. module: l10n_es_bank_statement
3703-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
3704-#, python-format
3705-msgid "%s moves (%s) found for this date and partner. You'll have to concile this line manually..."
3706-msgstr ""
3707-
3708-#. module: l10n_es_bank_statement
3709-#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
3710-msgid "Max. days from statement date"
3711-msgstr ""
3712-
3713-#. module: l10n_es_bank_statement
3714-#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
3715-msgid "Maximum difference in days, between the maturity date of the entry to reconcile and the bank statement entry"
3716-msgstr ""
3717-
3718-#. module: l10n_es_bank_statement
3719-#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
3720-#, python-format
3721-msgid "Number of credit records does not agree with the defined in the last record of account."
3722-msgstr ""
3723-
3724-#. module: l10n_es_bank_statement
3725-#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
3726-#, python-format
3727-msgid "Final balance amount = (initial balance + credit - debit) does not agree with the defined in the last record of account."
3728-msgstr ""
3729-
3730-#. module: l10n_es_bank_statement
3731-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
3732-msgid "Default accounts associated to C43 codes"
3733-msgstr ""
3734-
3735-#. module: l10n_es_bank_statement
3736-#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
3737-#, python-format
3738+#: selection:account.bank.statement.line,c43_concept:0
3739+msgid "Reintegro/Talón"
3740+msgstr ""
3741+
3742+#. module: l10n_es_bank_statement
3743+#: selection:account.bank.statement.line,c43_concept:0
3744+msgid "Remesa efectos"
3745+msgstr ""
3746+
3747+#. module: l10n_es_bank_statement
3748+#: code:_description:0
3749+#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_profile
3750+#, python-format
3751+msgid "Statement Profile"
3752+msgstr ""
3753+
3754+#. module: l10n_es_bank_statement
3755+#: selection:account.bank.statement.line,c43_concept:0
3756+msgid "Subscripción/Div. pasivos/Canje"
3757+msgstr ""
3758+
3759+#. module: l10n_es_bank_statement
3760+#: selection:account.bank.statement.line,c43_concept:0
3761 msgid "Tarjeta crédito/débito"
3762 msgstr ""
3763
3764 #. module: l10n_es_bank_statement
3765-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
3766-#, python-format
3767-msgid "A default account has not been defined for the C43 concept "
3768-msgstr ""
3769-
3770-#. module: l10n_es_bank_statement
3771-#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
3772-msgid "l10n.es.bank.statement.import.c43.wizard"
3773-msgstr ""
3774-
3775-#. module: l10n_es_bank_statement
3776-#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
3777-#, python-format
3778-msgid "Reintegro/Talón"
3779-msgstr ""
3780-
3781-#. module: l10n_es_bank_statement
3782-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
3783-#, python-format
3784-msgid "Concepts for this company already imported..."
3785-msgstr ""
3786-
3787-#. module: l10n_es_bank_statement
3788-#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
3789-#, python-format
3790-msgid "Transf./Giro/Cheque"
3791-msgstr ""
3792-
3793-#. module: l10n_es_bank_statement
3794-#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
3795-#, python-format
3796+#: selection:account.bank.statement.line,c43_concept:0
3797 msgid "Timbre/Corretaje/Póliza"
3798 msgstr ""
3799
3800 #. module: l10n_es_bank_statement
3801-#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
3802-#, python-format
3803+#: selection:account.bank.statement.line,c43_concept:0
3804 msgid "Varios"
3805 msgstr ""
3806
3807 #. module: l10n_es_bank_statement
3808-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
3809-#, python-format
3810-msgid "Could not import concept %(concept)s because no matching account was found for expression %(expression)s."
3811-msgstr ""
3812-
3813-#. module: l10n_es_bank_statement
3814-#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
3815-msgid "Statement Line Rules"
3816-msgstr ""
3817-
3818-#. module: l10n_es_bank_statement
3819-#: help:l10n.es.extractos.concepto,code:0
3820-msgid "2 digits code of the concept defined in the file of C43 bank statements"
3821-msgstr ""
3822-
3823-#. module: l10n_es_bank_statement
3824-#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
3825-#, python-format
3826-msgid "Debit amount does not agree with the defined in the last record of account."
3827-msgstr ""
3828-
3829-#. module: l10n_es_bank_statement
3830-#: field:l10n.es.extractos.concepto,code:0
3831-msgid "Concept code"
3832-msgstr ""
3833-
3834-#. module: l10n_es_bank_statement
3835-#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
3836-#, python-format
3837-msgid "Number of records does not agree with the defined in the last record."
3838-msgstr ""
3839-
3840-#. module: l10n_es_bank_statement
3841-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
3842-#, python-format
3843-msgid "Beware!"
3844-msgstr ""
3845-
3846-#. module: l10n_es_bank_statement
3847-#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
3848-#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
3849-#, python-format
3850-msgid "C43 Created Concepts"
3851-msgstr ""
3852-
3853-#. module: l10n_es_bank_statement
3854-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
3855-#, python-format
3856-msgid "Error!"
3857-msgstr ""
3858-
3859-#. module: l10n_es_bank_statement
3860-#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
3861-#, python-format
3862-msgid "Operaciones extranjero"
3863-msgstr ""
3864-
3865-#. module: l10n_es_bank_statement
3866-#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
3867-#, python-format
3868-msgid "The bank statement is alredy confirmed. It can not be imported from file."
3869-msgstr ""
3870-
3871-#. module: l10n_es_bank_statement
3872-#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
3873-#, python-format
3874-msgid "Error"
3875-msgstr ""
3876-
3877-#. module: l10n_es_bank_statement
3878-#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
3879-#, python-format
3880-msgid "You cannot search by reference because it seems this line has not been imported from a bank statement file. The system expected \"conceptos\" and \"referencia2\" keys in line of amount %(amount).2f in statement %(statement)s."
3881-msgstr ""
3882-
3883-#. module: l10n_es_bank_statement
3884-#: field:l10n.es.extractos.concepto,name:0
3885-msgid "Concept name"
3886-msgstr ""
3887-
3888-#. module: l10n_es_bank_statement
3889-#: constraint:account.bank.statement.line:0
3890-msgid "The amount of the voucher must be the same amount as the one on the statement line"
3891-msgstr ""
3892-
3893-#. module: l10n_es_bank_statement
3894-#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
3895-#, python-format
3896-msgid "Cajero automático"
3897-msgstr ""
3898-
3899-#. module: l10n_es_bank_statement
3900-#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
3901-#, python-format
3902-msgid "Recibo/Letra domiciliado"
3903-msgstr ""
3904-
3905-#. module: l10n_es_bank_statement
3906-#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
3907-#, python-format
3908-msgid "Credit amount does not agree with the defined in the last record of account."
3909-msgstr ""
3910-
3911-#. module: l10n_es_bank_statement
3912-#: view:l10n.es.extractos.import.wizard:0
3913-msgid "This wizard will import default concepts related to standard accounts of spanish charts."
3914-msgstr ""
3915-
3916-#. module: l10n_es_bank_statement
3917-#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
3918-#, python-format
3919-msgid "Import Error"
3920-msgstr ""
3921-
3922-#. module: l10n_es_bank_statement
3923-#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
3924-msgid "Bank Statement Line"
3925-msgstr ""
3926-
3927-#. module: l10n_es_bank_statement
3928-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
3929-#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
3930-msgid "Import Statement Concepts Wizard"
3931-msgstr ""
3932-
3933-#. module: l10n_es_bank_statement
3934-#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
3935-msgid "Reconcile payment orders by total amount"
3936-msgstr ""
3937-
3938-#. module: l10n_es_bank_statement
3939-#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
3940-msgid "\n"
3941-"Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.\n"
3942-" \n"
3943-" Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.\n"
3944-" It allows to define default accounting codes for the concepts defined in the C43 bank statement file.\n"
3945-"\n"
3946-" The search of the entries to reconcile (and partner) is done like this:\n"
3947-" 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.\n"
3948-" 2) Unreconciled entries with (a partner with) the given VAT number and amount.\n"
3949-" These fields are tested to find a valid spanish VAT:\n"
3950-" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
3951-" - First 9 characters of 'conceptos' (La Caixa)\n"
3952-" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
3953-" 3) Unreconciled entries with the given amount.\n"
3954-"\n"
3955-" If no partner is found, the default account defined for the concept is used.\n"
3956-"\n"
3957-" The module also adds a wizard in Financial Management/Configuration/C43 bank statements to import the default statement concepts, that must be run after creating the spanish chart of accounts (l10n_es module).\n"
3958-" "
3959-msgstr ""
3960-"Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.\n"
3961-" \n"
3962-" Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.\n"
3963-" It allows to define default accounting codes for the concepts defined in the C43 bank statement file.\n"
3964-"\n"
3965-" The search of the entries to reconcile (and partner) is done like this:\n"
3966-" 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.\n"
3967-" 2) Unreconciled entries with (a partner with) the given VAT number and amount.\n"
3968-" These fields are tested to find a valid spanish VAT:\n"
3969-" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
3970-" - First 9 characters of 'conceptos' (La Caixa)\n"
3971-" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
3972-" 3) Unreconciled entries with the given amount.\n"
3973-"\n"
3974-" If no partner is found, the default account defined for the concept is used.\n"
3975-"\n"
3976-" The module also adds a wizard in Financial Management/Configuration/C43 bank statements to import the default statement concepts, that must be run after creating the spanish chart of accounts (l10n_es module).\n"
3977-" "
3978-
3979-#. module: l10n_es_bank_statement
3980-#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
3981-#, python-format
3982-msgid "Anulación/Corrección"
3983-msgstr ""
3984-
3985-#. module: l10n_es_bank_statement
3986-#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
3987-#, python-format
3988-msgid "Bank Statement"
3989-msgstr ""
3990-
3991-#. module: l10n_es_bank_statement
3992-#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
3993-#, python-format
3994-msgid "Cheque gasolina"
3995-msgstr ""
3996-
3997-#. module: l10n_es_bank_statement
3998-#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
3999-#, python-format
4000-msgid "Info:"
4001-msgstr ""
4002-
4003-#. module: l10n_es_bank_statement
4004-#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
4005-msgid "Reconcile by reference and amount"
4006-msgstr ""
4007-
4008-#. module: l10n_es_bank_statement
4009-#: view:l10n.es.extractos.import.wizard:0
4010-msgid "Import Wizard"
4011-msgstr ""
4012-
4013-#. module: l10n_es_bank_statement
4014-#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
4015-#, python-format
4016-msgid "Remesa efectos"
4017-msgstr ""
4018-
4019-#. module: l10n_es_bank_statement
4020-#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
4021-#: view:l10n.es.extractos.concepto:0
4022-msgid "C43 default accounts"
4023-msgstr ""
4024-
4025-#. module: l10n_es_bank_statement
4026-#: view:l10n.es.bank.statement.import.c43.wizard:0
4027-#: view:l10n.es.extractos.import.wizard:0
4028-msgid "Cancel"
4029-msgstr ""
4030-
4031-#. module: l10n_es_bank_statement
4032-#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
4033-#: field:l10n.es.extractos.concepto,company_id:0
4034-#: field:l10n.es.extractos.import.wizard,company_id:0
4035-#, python-format
4036-msgid "Company"
4037+#: code:_description:0
4038+#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_completion_rule
4039+#, python-format
4040+msgid "account.statement.completion.rule"
4041 msgstr ""
4042
4043
4044=== added directory 'l10n_es_bank_statement/models'
4045=== added file 'l10n_es_bank_statement/models/__init__.py'
4046--- l10n_es_bank_statement/models/__init__.py 1970-01-01 00:00:00 +0000
4047+++ l10n_es_bank_statement/models/__init__.py 2014-06-11 10:49:43 +0000
4048@@ -0,0 +1,26 @@
4049+# -*- coding: utf-8 -*-
4050+##############################################################################
4051+#
4052+# Copyright (c) All rights reserved:
4053+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4054+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4055+#
4056+# This program is free software: you can redistribute it and/or modify
4057+# it under the terms of the GNU Affero General Public License as published
4058+# by the Free Software Foundation, either version 3 of the License, or
4059+# (at your option) any later version.
4060+#
4061+# This program is distributed in the hope that it will be useful,
4062+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4063+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4064+# GNU Affero General Public License for more details.
4065+#
4066+# You should have received a copy of the GNU Affero General Public License
4067+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4068+#
4069+##############################################################################
4070+from . import account_bank_statement
4071+from . import account_statement_profile
4072+from . import account_statement_completion_rule
4073+from . import c43_parser
4074+from . import c43_account_statement_profile
4075
4076=== added file 'l10n_es_bank_statement/models/account_bank_statement.py'
4077--- l10n_es_bank_statement/models/account_bank_statement.py 1970-01-01 00:00:00 +0000
4078+++ l10n_es_bank_statement/models/account_bank_statement.py 2014-06-11 10:49:43 +0000
4079@@ -0,0 +1,53 @@
4080+# -*- coding: utf-8 -*-
4081+##############################################################################
4082+#
4083+# Copyright (c) All rights reserved:
4084+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4085+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4086+#
4087+# This program is free software: you can redistribute it and/or modify
4088+# it under the terms of the GNU Affero General Public License as published
4089+# by the Free Software Foundation, either version 3 of the License, or
4090+# (at your option) any later version.
4091+#
4092+# This program is distributed in the hope that it will be useful,
4093+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4094+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4095+# GNU Affero General Public License for more details.
4096+#
4097+# You should have received a copy of the GNU Affero General Public License
4098+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4099+#
4100+##############################################################################
4101+from openerp.osv import orm, fields
4102+
4103+class AccountBankStatementLine(orm.Model):
4104+ _inherit = "account.bank.statement.line"
4105+
4106+ _columns = {
4107+ 'c43_concept': fields.selection(
4108+ [('01', 'Reintegro/Talón'),
4109+ ('02', 'Ingreso/Entrega/Abonaré'),
4110+ ('03', 'Docimiliado/Recibo/Letra/Pago por su cta.'),
4111+ ('04', 'Giro/Transferencia/Traspaso/Cheque'),
4112+ ('05', 'Amortización préstamo'),
4113+ ('06', 'Remesa efectos'),
4114+ ('07', 'Subscripción/Div. pasivos/Canje'),
4115+ ('08', 'Div. cupones/Prima junta/Amortización'),
4116+ ('09', 'Compra/Venta valores'),
4117+ ('10', 'Cheque gasolina'),
4118+ ('11', 'Cajero automático'),
4119+ ('12', 'Tarjeta crédito/débito'),
4120+ ('13', 'Operaciones extranjero'),
4121+ ('14', 'Devolución/Impagado'),
4122+ ('15', 'Nómina/Seguro social'),
4123+ ('16', 'Timbre/Corretaje/Póliza'),
4124+ ('17', 'Intereses/Comisión/Custodia/Gastos/Impuestos'),
4125+ ('98', 'Anulación/Corrección'),
4126+ ('99', 'Varios')],
4127+ 'C43 concept', readonly=True),
4128+ }
4129+
4130+ _defaults = {
4131+ 'c43_concept': '99',
4132+ }
4133\ No newline at end of file
4134
4135=== added file 'l10n_es_bank_statement/models/account_statement_completion_rule.py'
4136--- l10n_es_bank_statement/models/account_statement_completion_rule.py 1970-01-01 00:00:00 +0000
4137+++ l10n_es_bank_statement/models/account_statement_completion_rule.py 2014-06-11 10:49:43 +0000
4138@@ -0,0 +1,136 @@
4139+# -*- coding: utf-8 -*-
4140+##############################################################################
4141+#
4142+# Copyright (c) All rights reserved:
4143+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4144+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4145+#
4146+# This program is free software: you can redistribute it and/or modify
4147+# it under the terms of the GNU Affero General Public License as published
4148+# by the Free Software Foundation, either version 3 of the License, or
4149+# (at your option) any later version.
4150+#
4151+# This program is distributed in the hope that it will be useful,
4152+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4153+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4154+# GNU Affero General Public License for more details.
4155+#
4156+# You should have received a copy of the GNU Affero General Public License
4157+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4158+#
4159+##############################################################################
4160+from openerp.osv import orm, fields
4161+from openerp.addons.account_statement_base_completion.statement import ErrorTooManyPartner
4162+from openerp.tools.translate import _
4163+
4164+
4165+class AccountStatementCompletionRule(orm.Model):
4166+ _inherit = "account.statement.completion.rule"
4167+
4168+ def _get_functions(self, cr, uid, context=None):
4169+ res = super(AccountStatementCompletionRule, self)._get_functions(
4170+ cr, uid, context=context)
4171+ res.append(('get_from_caixabank_rules', _('From CaixaBank C43 rules')))
4172+ res.append(('get_from_generic_c43_rules', _('From generic C43 rules')))
4173+ return res
4174+
4175+ _columns = {
4176+ 'function_to_call': fields.selection(_get_functions, 'Method'),
4177+ }
4178+
4179+ def get_from_caixabank_rules(self, cr, uid, st_line, context=None):
4180+ """
4181+ Match the partner based on several criteria extracted from reverse
4182+ engineer of CaixaBank C43 files.
4183+
4184+ If more than one partner is matched, raise the ErrorTooManyPartner
4185+ error.
4186+ :param dict st_line: read of the concerned account.bank.statement.line
4187+ :return:
4188+ A dict of value that can be passed directly to the write method of
4189+ the statement line or {}
4190+ {'partner_id': value,
4191+ 'account_id' : value,
4192+ ...}
4193+ """
4194+ partner_obj = self.pool['res.partner']
4195+ st_line_obj = self.pool['account.bank.statement.line']
4196+ conceptos = eval(st_line['name'])
4197+ ids = []
4198+ res = {}
4199+ # Try to match from VAT included in concept complementary record #02
4200+ if conceptos.get('02'):
4201+ vat = conceptos['02'][0][:2] + conceptos['02'][0][7:]
4202+ ids = partner_obj.search(cr, uid, [('vat', '=', vat)],
4203+ context=context)
4204+ if len(ids) > 1:
4205+ raise ErrorTooManyPartner(
4206+ _('Line named "%s" (Ref: %s) was matched by more than '
4207+ 'one partner for VAT number "%s".') % \
4208+ (st_line['name'], st_line['ref'], vat))
4209+ if not ids:
4210+ # Try to match from partner name
4211+ if conceptos.get('01'):
4212+ name = conceptos['01'][0][4:] + conceptos['01'][1]
4213+ ids = partner_obj.search(cr, uid, [('name', 'ilike', name)],
4214+ context=context)
4215+ if ids:
4216+ res['partner_id'] = ids[0]
4217+ st_vals = st_line_obj.get_values_for_line(
4218+ cr, uid, profile_id=st_line['profile_id'],
4219+ master_account_id=st_line['master_account_id'],
4220+ partner_id=res.get('partner_id', False),
4221+ line_type=st_line['type'],
4222+ amount=st_line['amount'] or 0.0,
4223+ context=context)
4224+ res.update(st_vals)
4225+ return res
4226+
4227+ def get_from_generic_c43_rules(self, cr, uid, st_line, context=None):
4228+ """
4229+ Match the partner based on invoice amount..
4230+
4231+ If more than one partner is matched, raise the ErrorTooManyPartner
4232+ error.
4233+ :param dict st_line: read of the concerned account.bank.statement.line
4234+ :return:
4235+ A dict of value that can be passed directly to the write method of
4236+ the statement line or {}
4237+ {'partner_id': value,
4238+ 'account_id' : value,
4239+ ...}
4240+ """
4241+ st_line_obj = self.pool['account.bank.statement.line']
4242+ invoice_obj = self.pool['account.invoice']
4243+ ids = []
4244+ res = {}
4245+ # Finally, try to match from invoice amount
4246+ if st_line['amount'] > 0.0:
4247+ domain = [('type', 'in', ['out_invoice', 'in_refund'])]
4248+ else:
4249+ domain = [('type', 'in', ['in_invoice', 'out_refund'])]
4250+ domain.append(('amount_total', '=', abs(st_line['amount'])))
4251+ domain.append(('state', '=', 'open'))
4252+ invoice_ids = invoice_obj.search(cr, uid, domain,
4253+ context=context)
4254+ if invoice_ids:
4255+ invoices = invoice_obj.read(cr, uid, invoice_ids,
4256+ ['partner_id'], context=context)
4257+ ids = [x['partner_id'][0] for x in invoices]
4258+ ids = list(set(ids))
4259+ if len(ids) > 1:
4260+ raise ErrorTooManyPartner(
4261+ _('Line named "%s" (Ref: %s) was matched by more than '
4262+ 'one partner for invoice amount "%s".') % \
4263+ (st_line['name'], st_line['ref'], st_line['amount']))
4264+ if ids:
4265+ res['partner_id'] = ids[0]
4266+ st_vals = st_line_obj.get_values_for_line(
4267+ cr, uid, profile_id=st_line['profile_id'],
4268+ master_account_id=st_line['master_account_id'],
4269+ partner_id=res.get('partner_id', False),
4270+ line_type=st_line['type'],
4271+ amount=st_line['amount'] or 0.0,
4272+ context=context)
4273+ res.update(st_vals)
4274+ return res
4275
4276=== added file 'l10n_es_bank_statement/models/account_statement_profile.py'
4277--- l10n_es_bank_statement/models/account_statement_profile.py 1970-01-01 00:00:00 +0000
4278+++ l10n_es_bank_statement/models/account_statement_profile.py 2014-06-11 10:49:43 +0000
4279@@ -0,0 +1,68 @@
4280+# -*- coding: utf-8 -*-
4281+##############################################################################
4282+#
4283+# Copyright (c) All rights reserved:
4284+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4285+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4286+#
4287+# This program is free software: you can redistribute it and/or modify
4288+# it under the terms of the GNU Affero General Public License as published
4289+# by the Free Software Foundation, either version 3 of the License, or
4290+# (at your option) any later version.
4291+#
4292+# This program is distributed in the hope that it will be useful,
4293+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4294+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4295+# GNU Affero General Public License for more details.
4296+#
4297+# You should have received a copy of the GNU Affero General Public License
4298+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4299+#
4300+##############################################################################
4301+from openerp.osv import orm
4302+
4303+
4304+account_concept_mapping = {
4305+ '01': '4300%00',
4306+ '02': '4100%00',
4307+ '03': '4100%00',
4308+ '04': '4300%00',
4309+ '05': '6800%00',
4310+ '06': '4010%00',
4311+ '07': '5700%00',
4312+ '08': '6800%00',
4313+ '09': '2510%00',
4314+ '10': '5700%00',
4315+ '11': '5700%00',
4316+ '12': '5700%00',
4317+ '13': '5730%00',
4318+ '14': '4300%00',
4319+ '15': '6400%00',
4320+ '16': '6690%00',
4321+ '17': '6690%00',
4322+ '98': '5720%00',
4323+ '99': '5720%00',
4324+}
4325+
4326+
4327+class AccountStatementProfile(orm.Model):
4328+ _inherit = "account.statement.profile"
4329+
4330+ def prepare_statement_lines_vals(self, cr, uid, parser_vals, statement_id,
4331+ context):
4332+ """Complete values filling default account for each type of C43
4333+ operation.
4334+ """
4335+ vals = super(AccountStatementProfile, self
4336+ ).prepare_statement_lines_vals(
4337+ cr, uid, parser_vals, statement_id, context)
4338+ if vals.get('c43_concept'):
4339+ account_obj = self.pool['account.account']
4340+ account_ids = account_obj.search(
4341+ cr, uid,
4342+ [('code', 'like',
4343+ account_concept_mapping[vals['c43_concept']])],
4344+ context=context)
4345+ if account_ids:
4346+ vals['account_id'] = account_ids[0]
4347+ return vals
4348\ No newline at end of file
4349
4350=== added file 'l10n_es_bank_statement/models/c43_account_statement_profile.py'
4351--- l10n_es_bank_statement/models/c43_account_statement_profile.py 1970-01-01 00:00:00 +0000
4352+++ l10n_es_bank_statement/models/c43_account_statement_profile.py 2014-06-11 10:49:43 +0000
4353@@ -0,0 +1,35 @@
4354+# -*- coding: utf-8 -*-
4355+##############################################################################
4356+#
4357+# Copyright (c) All rights reserved:
4358+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4359+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4360+#
4361+# This program is free software: you can redistribute it and/or modify
4362+# it under the terms of the GNU Affero General Public License as published
4363+# by the Free Software Foundation, either version 3 of the License, or
4364+# (at your option) any later version.
4365+#
4366+# This program is distributed in the hope that it will be useful,
4367+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4368+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4369+# GNU Affero General Public License for more details.
4370+#
4371+# You should have received a copy of the GNU Affero General Public License
4372+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4373+#
4374+##############################################################################
4375+from openerp.tools.translate import _
4376+from openerp.osv import fields, orm
4377+
4378+class AccountStatementProfil(orm.Model):
4379+ _inherit = "account.statement.profile"
4380+
4381+ def get_import_type_selection(self, cr, uid, context=None):
4382+ """Inherited from parent to add parser."""
4383+ selection = super(AccountStatementProfil, self
4384+ ).get_import_type_selection(cr, uid,
4385+ context=context)
4386+ selection.append(('aeb_c43', _('AEB C43 standard')))
4387+ return selection
4388+
4389
4390=== added file 'l10n_es_bank_statement/models/c43_parser.py'
4391--- l10n_es_bank_statement/models/c43_parser.py 1970-01-01 00:00:00 +0000
4392+++ l10n_es_bank_statement/models/c43_parser.py 2014-06-11 10:49:43 +0000
4393@@ -0,0 +1,241 @@
4394+# -*- coding: utf-8 -*-
4395+##############################################################################
4396+#
4397+# Copyright (c) All rights reserved:
4398+# 2009 Zikzakmedia S.L. (http://zikzakmedia.com)
4399+# Jordi Esteve <jesteve@zikzakmedia.com>
4400+# 2010 Pexego Sistemas Informáticos
4401+# Borja López Soilán <borjals@pexego.es>
4402+# Alberto Luengo Cabanillas <alberto@pexego.es>
4403+# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
4404+# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
4405+#
4406+# This program is free software: you can redistribute it and/or modify
4407+# it under the terms of the GNU Affero General Public License as published
4408+# by the Free Software Foundation, either version 3 of the License, or
4409+# (at your option) any later version.
4410+#
4411+# This program is distributed in the hope that it will be useful,
4412+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4413+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4414+# GNU Affero General Public License for more details.
4415+#
4416+# You should have received a copy of the GNU Affero General Public License
4417+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4418+#
4419+##############################################################################
4420+from openerp.osv import orm
4421+from openerp.tools.translate import _
4422+from account_statement_base_import.parser import BankStatementImportParser
4423+from datetime import datetime
4424+
4425+
4426+class c43_parser(BankStatementImportParser):
4427+ """Class for defining parser for AEB C43 file format."""
4428+
4429+ def _process_record_11(self, line):
4430+ """11 - Registro cabecera de cuenta (obligatorio)"""
4431+ st_group = {
4432+ 'entidad':line[2:6],
4433+ 'oficina': line[6:10],
4434+ 'cuenta': line[10:20],
4435+ 'fecha_ini': datetime.strptime(line[20:26], '%y%m%d'),
4436+ 'fecha_fin': datetime.strptime(line[26:32], '%y%m%d'),
4437+ 'divisa': line[47:50],
4438+ 'modalidad': line[50:51], # 1,2 o 3
4439+ 'nombre_propietario': line[51:77],
4440+ 'saldo_ini': float(line[33:45]) + (float(line[45:47]) / 100),
4441+ 'saldo_fin': 0,
4442+ 'num_debe': 0,
4443+ 'debe': 0,
4444+ 'num_haber': 0,
4445+ 'haber': 0,
4446+ 'lines': [],
4447+ }
4448+ if line[32:33] == '1':
4449+ st_group['saldo_ini'] *= -1
4450+ return st_group
4451+
4452+ def _process_record_22(self, line):
4453+ """22 - Registro principal de movimiento (obligatorio)"""
4454+ st_line = {
4455+ 'of_origen': line[6:10],
4456+ 'fecha_operación': datetime.strptime(line[10:16], '%y%m%d'),
4457+ 'fecha_valor': datetime.strptime(line[16:22], '%y%m%d'),
4458+ 'concepto_c': line[22:24],
4459+ 'concepto_p': line[24:27],
4460+ 'importe': (float(line[28:40]) + (float(line[40:42]) / 100)),
4461+ 'num_documento': line[41:52],
4462+ 'referencia1': line[52:64].strip(),
4463+ 'referencia2': line[64:].strip(),
4464+ 'conceptos': '',
4465+ }
4466+ if line[27:28] == '1':
4467+ st_line['importe'] *= -1
4468+ return st_line
4469+
4470+ def _process_record_23(self, st_line, line):
4471+ """23 - Registros complementarios de concepto (opcionales y hasta un
4472+ máximo de 5)"""
4473+ if not st_line.get('conceptos'):
4474+ st_line['conceptos'] = {}
4475+ st_line['conceptos'][line[2:4]] = (line[4:39].strip(),
4476+ line[39:].strip())
4477+ return st_line
4478+
4479+ def _process_record_24(self, st_line, line):
4480+ """24 - Registro complementario de información de equivalencia del
4481+ importe (opcional y sin valor contable)"""
4482+ st_line['divisa_eq'] = line[4:7]
4483+ st_line['importe_eq'] = float(line[7:19]) + (float(line[19:21]) / 100)
4484+ return st_line
4485+
4486+ def _process_record_33(self, st_group, line):
4487+ """33 - Registro final de cuenta"""
4488+ st_group['num_debe'] += int(line[20:25])
4489+ st_group['debe'] += float(line[25:37]) + float(line[37:39]) / 100
4490+ st_group['num_haber'] += int(line[39:44])
4491+ st_group['haber'] += float(line[44:56]) + float(line[56:58]) / 100
4492+ st_group['saldo_fin'] += float(line[59:71]) + float(line[71:73]) / 100
4493+ if line[58:59] == '1':
4494+ st_group['saldo_fin'] *= -1
4495+ # Group level checks
4496+ debit_count = 0
4497+ debit = 0.0
4498+ credit_count = 0
4499+ credit = 0.0
4500+ for st_line in st_group['lines']:
4501+ if st_line['importe'] < 0:
4502+ debit_count += 1
4503+ debit -= st_line['importe']
4504+ else:
4505+ credit_count += 1
4506+ credit += st_line['importe']
4507+ if st_group['num_debe'] != debit_count:
4508+ raise orm.except_orm(_('Error in C43 file'),
4509+ _("Number of debit records doesn't match with the defined in "
4510+ "the last record of account."))
4511+ if st_group['num_haber'] != credit_count:
4512+ raise orm.except_orm(_('Error in C43 file'),
4513+ _("Number of credit records doesn't match with the defined "
4514+ "in the last record of account."))
4515+ if abs(st_group['debe'] - debit) > 0.005:
4516+ raise orm.except_orm(_('Error in C43 file'),
4517+ _("Debit amount doesn't match with the defined in the last "
4518+ "record of account."))
4519+ if abs(st_group['haber'] - credit) > 0.005:
4520+ raise orm.except_orm(_('Error in C43 file'),
4521+ _("Credit amount doesn't match with the defined in the last "
4522+ "record of account."))
4523+ # Note: Only perform this check if the balance is defined on the file
4524+ # record, as some banks may leave it empty (zero) on some circumstances
4525+ # (like CaixaNova extracts for VISA credit cards).
4526+ if st_group['saldo_fin']:
4527+ balance = st_group['saldo_ini'] + credit - debit
4528+ if abs(st_group['saldo_fin'] - balance) > 0.005:
4529+ raise orm.except_orm(_('Error in C43 file'),
4530+ _("Final balance amount = (initial balance + credit "
4531+ "- debit) doesn't match with the defined in the last "
4532+ "record of account."))
4533+ return st_group
4534+
4535+ def _process_record_88(self, st_data, line):
4536+ """88 - Registro de fin de archivo"""
4537+ st_data['num_registros'] = int(line[20:26])
4538+ # File level checks
4539+ if st_data['num_registros'] != st_data['_num_records']:
4540+ raise orm.except_orm(_('Error in C43 file'),
4541+ _("Number of records doesn't match with the defined in the "
4542+ "last record."))
4543+ return st_data
4544+
4545+ @classmethod
4546+ def parser_for(cls, parser_name):
4547+ """
4548+ Used by the new_bank_statement_parser class factory.
4549+ @return: True if the providen name is 'aeb_c43'.
4550+ """
4551+ return parser_name == 'aeb_c43'
4552+
4553+ def _pre(self, *args, **kwargs):
4554+ """Decode and re-encode to avoid pg errors on string codification."""
4555+ self.filebuffer = self.filebuffer.decode('iso-8859-1').encode('utf-8')
4556+
4557+ def _parse(self, *args, **kwargs):
4558+ """Launch the parsing itself."""
4559+ # st_data will contain data read from the file
4560+ st_data = {
4561+ '_num_records': 0, # Number of records really counted
4562+ 'groups': [], # Info about each of the groups (account groups)
4563+ }
4564+ for raw_line in self.filebuffer.split("\n"):
4565+ if not raw_line:
4566+ continue
4567+ code = raw_line[0:2]
4568+ if code == '11':
4569+ st_group = self._process_record_11(raw_line)
4570+ st_data['groups'].append(st_group)
4571+ elif code == '22':
4572+ st_line = self._process_record_22(raw_line)
4573+ st_group['lines'].append(st_line)
4574+ elif code == '23':
4575+ self._process_record_23(st_line, raw_line)
4576+ elif code == '24':
4577+ self._process_record_24(st_line, raw_line)
4578+ elif code == '33':
4579+ self._process_record_33(st_group, raw_line)
4580+ elif code == '88':
4581+ self._process_record_88(st_data, raw_line)
4582+ elif ord(raw_line[0]) == 26:
4583+ # CTRL-Z (^Z), is often used as an end-of-file marker in DOS
4584+ continue
4585+ else:
4586+ raise orm.except_orm(
4587+ _('Error in C43 file'),
4588+ _('Record type %s is not valid.') % raw_line[0:2])
4589+ # Update the record counter
4590+ st_data['_num_records'] += 1
4591+ self.result_row_list = []
4592+ for st_group in st_data['groups']:
4593+ self.result_row_list += st_group['lines']
4594+ return True
4595+
4596+ def _validate(self, *args, **kwargs):
4597+ """Nothing to do here."""
4598+ return True
4599+
4600+ def get_st_line_vals(self, line, *args, **kwargs):
4601+ """
4602+ This method must return a dict of vals that can be passed to create
4603+ method of statement line in order to record it. It is the
4604+ responsibility of every parser to give this dict of vals, so each one
4605+ can implement his own way of recording the lines.
4606+ :param: line: a dict of vals that represent a line of
4607+ result_row_list
4608+ :return: dict of values to give to the create method of statement
4609+ line
4610+ """
4611+ vals = {
4612+ 'name': line['conceptos'],
4613+ 'date': line['fecha_operación'],
4614+ 'amount': line['importe'],
4615+ 'label': line['concepto_p'],
4616+ 'c43_concept': line['concepto_c'],
4617+ }
4618+ # Discard references like '00000000'
4619+ try:
4620+ ref1 = int(line['referencia1'])
4621+ except:
4622+ ref1 = line['referencia1']
4623+ try:
4624+ ref2 = int(line['referencia2'])
4625+ except:
4626+ ref2 = line['referencia2']
4627+ if not ref1:
4628+ vals['ref'] = line['referencia2'] or '/'
4629+ elif not ref2:
4630+ vals['ref'] = line['referencia1'] or '/'
4631+ else:
4632+ vals['ref'] = "%s / %s" % (line['referencia1'],
4633+ line['referencia2'])
4634+ return vals
4635
4636=== added directory 'l10n_es_bank_statement/static'
4637=== added symlink 'l10n_es_bank_statement/static/description'
4638=== target is u'src/img'
4639=== added directory 'l10n_es_bank_statement/static/src'
4640=== added directory 'l10n_es_bank_statement/static/src/img'
4641=== added file 'l10n_es_bank_statement/static/src/img/icon.png'
4642Binary files l10n_es_bank_statement/static/src/img/icon.png 1970-01-01 00:00:00 +0000 and l10n_es_bank_statement/static/src/img/icon.png 2014-06-11 10:49:43 +0000 differ
4643=== added file 'l10n_es_bank_statement/static/src/img/icon.svg'
4644--- l10n_es_bank_statement/static/src/img/icon.svg 1970-01-01 00:00:00 +0000
4645+++ l10n_es_bank_statement/static/src/img/icon.svg 2014-06-11 10:49:43 +0000
4646@@ -0,0 +1,111 @@
4647+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4648+<!-- Created with Inkscape (http://www.inkscape.org/) -->
4649+
4650+<svg
4651+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4652+ xmlns:cc="http://creativecommons.org/ns#"
4653+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4654+ xmlns:svg="http://www.w3.org/2000/svg"
4655+ xmlns="http://www.w3.org/2000/svg"
4656+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
4657+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
4658+ height="128"
4659+ id="svg1"
4660+ inkscape:export-filename="icon.png"
4661+ inkscape:export-xdpi="90"
4662+ inkscape:export-ydpi="90"
4663+ inkscape:version="0.48.4 r9939"
4664+ sodipodi:docname="icon.svg"
4665+ sodipodi:version="0.32"
4666+ width="128"
4667+ version="1.1">
4668+ <metadata
4669+ id="metadata3">
4670+ <rdf:RDF>
4671+ <cc:Work
4672+ rdf:about="">
4673+ <dc:title>spain_provinces</dc:title>
4674+ <dc:description />
4675+ <dc:subject>
4676+ <rdf:Bag>
4677+ <rdf:li>spain</rdf:li>
4678+ <rdf:li>geography</rdf:li>
4679+ </rdf:Bag>
4680+ </dc:subject>
4681+ <dc:publisher>
4682+ <cc:Agent
4683+ rdf:about="http://www.openclipart.org">
4684+ <dc:title>sherrera</dc:title>
4685+ </cc:Agent>
4686+ </dc:publisher>
4687+ <dc:creator>
4688+ <cc:Agent>
4689+ <dc:title>sherrera</dc:title>
4690+ </cc:Agent>
4691+ </dc:creator>
4692+ <dc:rights>
4693+ <cc:Agent>
4694+ <dc:title>sherrera</dc:title>
4695+ </cc:Agent>
4696+ </dc:rights>
4697+ <dc:date />
4698+ <dc:format>image/svg+xml</dc:format>
4699+ <dc:type
4700+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
4701+ <cc:license
4702+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
4703+ <dc:language>en</dc:language>
4704+ </cc:Work>
4705+ <cc:License
4706+ rdf:about="http://web.resource.org/cc/PublicDomain">
4707+ <cc:permits
4708+ rdf:resource="http://web.resource.org/cc/Reproduction" />
4709+ <cc:permits
4710+ rdf:resource="http://web.resource.org/cc/Distribution" />
4711+ <cc:permits
4712+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
4713+ </cc:License>
4714+ </rdf:RDF>
4715+ </metadata>
4716+ <defs
4717+ id="defs3" />
4718+ <sodipodi:namedview
4719+ bordercolor="#666666"
4720+ borderopacity="1.0"
4721+ id="base"
4722+ inkscape:current-layer="svg1"
4723+ inkscape:cx="52.620802"
4724+ inkscape:cy="47.628061"
4725+ inkscape:pageopacity="0.0"
4726+ inkscape:pageshadow="2"
4727+ inkscape:window-height="1176"
4728+ inkscape:window-width="1861"
4729+ inkscape:window-x="59"
4730+ inkscape:window-y="24"
4731+ inkscape:zoom="3.6235294"
4732+ pagecolor="#ffffff"
4733+ showgrid="false"
4734+ inkscape:window-maximized="1"
4735+ fit-margin-top="0"
4736+ fit-margin-left="0"
4737+ fit-margin-right="0"
4738+ fit-margin-bottom="0" />
4739+ <g
4740+ id="layer1"
4741+ inkscape:groupmode="layer"
4742+ inkscape:label="Layer 1"
4743+ transform="translate(-14.567953,-599.45664)" />
4744+ <g
4745+ id="layer1-9"
4746+ inkscape:label="Layer 1"
4747+ transform="translate(1400.7975,748.89372)" />
4748+ <path
4749+ style="fill:#015f2d"
4750+ d="M 0.6788306,66.922259 C 5.3078975,56.177513 22.745306,15.805061 23.477272,14.137528 l 0.970595,-2.211169 6.373007,0.08829 c 4.127513,0.05719 6.449421,0.164701 6.589878,0.305158 0.274057,0.274057 1.025013,-1.533275 -12.465917,30.001848 l -11.198371,26.176264 -6.8732298,0 -6.8732320232942,0 L 0.6788306,66.922259 z M 42.834019,57.061685 42.781502,45.625453 35.767279,45.511875 c -3.85782,-0.06246 -7.037093,-0.131083 -7.065048,-0.152482 -0.02796,-0.0214 -0.05082,-0.136872 -0.05082,-0.256607 0,-0.285615 4.020337,-9.711356 4.393186,-10.299892 0.282176,-0.445406 0.373855,-0.454703 5.012173,-0.508276 l 4.724741,-0.05456 0.05256,-11.131265 0.05256,-11.131263 18.579449,0 c 16.754475,0 18.59157,0.03158 18.702855,0.321595 0.06787,0.176875 0.123408,2.502383 0.123408,5.167794 0,2.66541 -0.05553,4.990918 -0.123408,5.167795 -0.110665,0.288392 -1.417308,0.321917 -12.656096,0.324707 -6.892977,0.0016 -12.648576,0.07668 -12.790217,0.166578 -0.199654,0.12673 -0.245344,1.393916 -0.203311,5.638761 l 0.05422,5.475298 12.695886,0.05238 c 9.846774,0.04062 12.731884,0.109066 12.856293,0.304966 0.2094,0.32973 0.2094,10.340981 0,10.67071 -0.124409,0.195901 -3.009519,0.264338 -12.856293,0.304968 l -12.695886,0.05238 0,5.794358 0,5.794357 12.695886,0.05238 c 9.84466,0.04061 12.732637,0.109105 12.859529,0.304965 0.09,0.138922 0.158008,2.654194 0.151126,5.589494 l -0.01252,5.336907 -18.690507,0 -18.690506,0 -0.05252,-11.436231 z m 42.13447,5.846725 0,-5.589508 12.656096,-0.05237 12.656105,-0.05237 0,-5.794358 0,-5.794358 -12.60528,-0.10165 -12.605267,-0.10165 -0.05409,-5.538677 -0.0541,-5.53868 12.659357,-0.05237 12.65937,-0.05237 0.0541,-5.540218 c 0.0297,-3.04712 0.0297,-5.561383 0,-5.587253 -0.0297,-0.02587 -5.8637,-0.09449 -12.964332,-0.152483 l -12.910227,-0.105435 -0.05414,-5.56539 -0.05414,-5.565388 14.184239,0.111887 c 8.74753,0.069 14.80766,0.199351 15.81072,0.340076 1.3103,0.183831 2.07187,0.453521 3.91754,1.38729 3.17342,1.605498 5.13692,3.100576 6.49225,4.943418 1.91255,2.600451 2.73344,4.537589 3.13287,7.392894 0.39574,2.828888 -0.41856,6.564089 -1.95448,8.965119 -0.81424,1.272859 -3.44577,4.089749 -4.47641,4.791701 -0.38745,0.263895 -0.68227,0.546219 -0.65514,0.627384 0.0272,0.08117 0.77778,0.752839 1.66812,1.492614 0.89034,0.739776 1.88811,1.725501 2.21728,2.190503 0.32916,0.465004 0.85624,1.180135 1.17128,1.589186 0.75798,0.984143 1.11984,2.017167 1.7336,4.948974 0.57632,2.752933 0.54679,4.253167 -0.13624,6.923803 -0.5854,2.288884 -1.63822,4.107331 -3.55485,6.139955 -1.86054,1.973151 -4.13896,3.484131 -6.27841,4.163672 -1.67187,0.53102 -7.86576,0.744686 -21.931163,0.75654 l -10.724647,0.0091 0,-5.589506 z"
4751+ id="path2996"
4752+ inkscape:connector-curvature="0" />
4753+ <path
4754+ style="font-size:45.37296295px;font-style:normal;font-weight:bold;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
4755+ d="M 97.0625 81.96875 C 95.467344 81.968784 93.841712 82.076216 92.1875 82.3125 C 90.53327 82.548851 88.871256 82.902398 87.1875 83.375 L 87.1875 89.625 C 88.575859 89.019463 89.971857 88.560194 91.375 88.25 C 92.778125 87.939861 94.157643 87.781277 95.53125 87.78125 C 97.392236 87.781277 98.824615 88.118344 99.84375 88.8125 C 100.86286 89.506709 101.37498 90.511068 101.375 91.78125 C 101.37498 93.154868 100.86114 94.164359 99.8125 94.84375 C 98.763825 95.508413 97.172863 95.84377 95.03125 95.84375 L 91.4375 95.84375 L 91.4375 101.34375 L 94.84375 101.34375 C 97.25122 101.34377 99.055336 101.74846 100.28125 102.53125 C 101.5219 103.29929 102.15623 104.43099 102.15625 105.9375 C 102.15623 107.39972 101.55486 108.5297 100.34375 109.3125 C 99.147375 110.0953 97.416021 110.46875 95.15625 110.46875 C 93.634945 110.46875 92.080364 110.27379 90.5 109.875 C 88.93439 109.46145 87.345138 108.86008 85.75 108.0625 L 85.75 114.625 C 87.418987 115.17149 89.113962 115.57789 90.8125 115.84375 C 92.525793 116.12437 94.238956 116.28125 95.9375 116.28125 C 100.75245 116.28125 104.39535 115.41728 106.90625 113.71875 C 109.41709 112.00545 110.68747 109.52891 110.6875 106.25 C 110.68747 104.0493 110.10429 102.23042 108.9375 100.8125 C 107.78543 99.379841 106.07397 98.388542 103.84375 97.8125 C 105.83765 97.310344 107.35586 96.444666 108.375 95.21875 C 109.39409 93.978104 109.90622 92.372373 109.90625 90.4375 C 109.90622 87.601718 108.8291 85.496915 106.6875 84.09375 C 104.56062 82.675877 101.36051 81.968784 97.0625 81.96875 z M 17.3125 82.5625 L 17.3125 115.625 L 25.40625 115.625 L 25.40625 92.9375 L 37.4375 115.625 L 46.96875 115.625 L 46.96875 82.5625 L 38.875 82.5625 L 38.875 105.25 L 26.84375 82.5625 L 17.3125 82.5625 z M 66.46875 82.5625 L 53.21875 102.28125 L 53.21875 109.59375 L 67.875 109.59375 L 67.875 115.625 L 75.9375 115.625 L 75.9375 109.59375 L 80.65625 109.59375 L 80.65625 103.4375 L 75.9375 103.4375 L 75.9375 82.5625 L 66.46875 82.5625 z M 67.875 89.59375 L 67.875 103.4375 L 58.53125 103.4375 L 67.875 89.59375 z "
4756+ id="path3058" />
4757+</svg>
4758
4759=== added directory 'l10n_es_bank_statement/views'
4760=== added file 'l10n_es_bank_statement/views/account_bank_statement_view.xml'
4761--- l10n_es_bank_statement/views/account_bank_statement_view.xml 1970-01-01 00:00:00 +0000
4762+++ l10n_es_bank_statement/views/account_bank_statement_view.xml 2014-06-11 10:49:43 +0000
4763@@ -0,0 +1,20 @@
4764+<?xml version="1.0" encoding="utf-8"?>
4765+<openerp>
4766+<data>
4767+
4768+ <record id="view_bank_statement_form_c43" model="ir.ui.view">
4769+ <field name="name">account.bank.statement.c43.form</field>
4770+ <field name="model">account.bank.statement</field>
4771+ <field name="inherit_id" ref="account.view_bank_statement_form"/>
4772+ <field name="arch" type="xml">
4773+ <xpath expr="//field[@name='line_ids']/tree//field[@name='date']" position="after">
4774+ <field name="c43_concept"/>
4775+ </xpath>
4776+ <xpath expr="//field[@name='line_ids']/form//field[@name='date']" position="after">
4777+ <field name="c43_concept"/>
4778+ </xpath>
4779+ </field>
4780+ </record>
4781+
4782+</data>
4783+</openerp>