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
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 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.
Revision history for this message
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

[IMP] Icono y traducciones.

419. By Pedro Manuel Baeza

[IMP] Reglas cambiadas y actualizada traducción.

420. By Pedro Manuel Baeza

MERGE de los cambios en el repositorio.

421. By Pedro Manuel Baeza

[FIX] Reglas de auto-completado corregidas

422. By Pedro Manuel Baeza

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

Revision history for this message
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
=== removed file '___unported__/l10n_es_bank_statement/account_bank_statement.py'
--- ___unported__/l10n_es_bank_statement/account_bank_statement.py 2014-02-24 14:45:52 +0000
+++ ___unported__/l10n_es_bank_statement/account_bank_statement.py 1970-01-01 00:00:00 +0000
@@ -1,241 +0,0 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
6# Jordi Esteve <jesteve@zikzakmedia.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
10# Alberto Luengo Cabanillas <alberto@pexego.es>
11# Copyright (c) 2011 Acysos S.L. All Rights Reserved
12# Ignacio Ibeas Izquierdo <ignacio@acysos.com>
13# $Id$
14#
15# This program is free software: you can redistribute it and/or modify
16# it under the terms of the GNU Affero General Public License as published by
17# the Free Software Foundation, either version 3 of the License, or
18# (at your option) any later version.
19#
20# This program is distributed in the hope that it will be useful,
21# but WITHOUT ANY WARRANTY; without even the implied warranty of
22# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23# GNU Affero General Public License for more details.
24#
25# You should have received a copy of the GNU Affero General Public License
26# along with this program. If not, see <http://www.gnu.org/licenses/>.
27#
28##############################################################################
29
30"""
31C43 format concepts and extension of the bank statement lines.
32"""
33
34from osv import osv
35from openerp.tools.translate import _
36
37class account_bank_statement_line(osv.osv):
38 """
39 Extends the bank statement lines to try to set the right reconciliation
40 for lines edited by hand.
41 """
42
43 _inherit = "account.bank.statement.line"
44
45 def generate_voucher_from_import_wizard(self, cr, uid, statement_id, statement_line, line_ids, context):
46 """
47 Generate a voucher when conciling lines from an AEB43 extract statement
48 """
49 line_obj = self.pool.get('account.move.line')
50 statement_obj = self.pool.get('account.bank.statement')
51 currency_obj = self.pool.get('res.currency')
52 voucher_obj = self.pool.get('account.voucher')
53 voucher_line_obj = self.pool.get('account.voucher.line')
54 statement = statement_obj.browse(cr, uid, statement_id, context=context)
55
56 # for each selected move lines
57 for line in line_obj.browse(cr, uid, line_ids, context=context):
58 ctx = context.copy()
59 # take the date for computation of currency => use payment date
60 ctx['date'] = statement_line.date or line.date
61 amount = 0.0
62
63 if line.debit > 0:
64 amount = line.debit
65 elif line.credit > 0:
66 amount = -line.credit
67
68 if line.amount_currency:
69 amount = currency_obj.compute(cr, uid, line.currency_id.id,
70 statement.currency.id, line.amount_currency, context=ctx)
71 elif (line.invoice and line.invoice.currency_id.id <> statement.currency.id):
72 amount = currency_obj.compute(cr, uid, line.invoice.currency_id.id,
73 statement.currency.id, amount, context=ctx)
74
75 context.update({'move_line_ids': [line.id]})
76 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)
77 voucher_res = { 'type':(amount < 0 and 'payment' or 'receipt'),
78 'name': line.name,
79 'partner_id': line.partner_id.id,
80 'journal_id': statement.journal_id.id,
81 'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id), # improve me: statement.journal_id.default_credit_account_id.id
82 'company_id':statement.company_id.id,
83 'currency_id':statement.currency.id,
84 'date':line.date,
85 'amount':abs(amount),
86 'period_id':statement.period_id.id}
87 voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
88
89 voucher_line_dict = {}
90 if result['value']['line_ids']:
91 for line_dict in result['value']['line_ids']:
92 move_line = line_obj.browse(cr, uid, line_dict['move_line_id'], context)
93 if line.move_id.id == move_line.move_id.id:
94 voucher_line_dict = line_dict
95 if voucher_line_dict:
96 voucher_line_dict.update({'voucher_id': voucher_id})
97 voucher_line_obj.create(cr, uid, voucher_line_dict, context=context)
98
99 return voucher_id
100
101
102 def onchange_partner_id(self, cr, uid, line_ids, context=None, partner_id=None, ptype=None, amount=None, voucher_id=None, form_date=None):
103 """Elimina el precálculo del importe de la línea del extracto bancario
104 y propone una conciliación automática si encuentra una."""
105
106 move_line_obj = self.pool.get('account.move.line')
107 voucher_obj = self.pool.get('account.voucher')
108 partner_obj = self.pool.get('res.partner')
109 bank_st_line_obj = self.pool.get('account.bank.statement.line')
110 if bank_st_line_obj.browse(cr, uid, line_ids):
111 current_st_line = bank_st_line_obj.browse(cr, uid, line_ids)[0]
112 statement_id = current_st_line.statement_id.id
113 res = super(account_bank_statement_line, self).onchange_type(cr, uid, line_ids, partner_id, ptype)
114 # devuelve res = {'value': {'amount': balance, 'account_id': account_id}}
115 if 'value' in res and 'amount' in res['value']:
116 del res['value']['amount']
117
118 # Busqueda del apunte por importe con partner
119 if partner_id and amount:
120 #Actualizamos la cuenta del partner...
121 current_partner = partner_obj.browse(cr, uid, partner_id)
122 if ptype == 'supplier':
123 res['value']['account_id'] = current_partner.property_account_payable.id
124 else:
125 res['value']['account_id'] = current_partner.property_account_receivable.id
126
127 domain = [
128 ('reconcile_id', '=', False),
129 ('account_id.type', 'in', ['receivable', 'payable']),
130 ('partner_id', '=', partner_id),
131 ('date', '=', current_st_line.date)
132 ]
133 if amount >= 0:
134 domain.append( ('debit', '=', '%.2f' % amount) )
135 else:
136 domain.append( ('credit', '=', '%.2f' % -amount) )
137 line_ids = move_line_obj.search(cr, uid, domain, context=context)
138 # Solamente crearemos la conciliacion automatica cuando exista un solo apunte
139 # que coincida. Si hay mas de uno el usuario tendra que conciliar manualmente y
140 # seleccionar cual de ellos es el correcto.
141 res['value']['voucher_id'] = ""
142 if len(line_ids) == 1:
143 #Miro si existe ya una propuesta de pago para esa fecha, cantidad, proveedor y estado...
144 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'])])
145 saved_voucher_id = saved_voucher_id_list and saved_voucher_id_list[0] or None
146 if saved_voucher_id:
147 voucher_id = saved_voucher_id
148 form_voucher_id_list = voucher_obj.search(cr, uid, [('date','=', form_date), ('amount','=',amount), ('partner_id','=',partner_id), ('state','in', ['draft', 'proforma'])])
149 form_voucher_id = form_voucher_id_list and form_voucher_id_list[0] or None
150 if form_voucher_id:
151 voucher_id = form_voucher_id
152 if not saved_voucher_id and not form_voucher_id:
153 voucher_id = bank_st_line_obj.generate_voucher_from_import_wizard(cr, uid, statement_id, current_st_line, line_ids, context)
154 res['value']['voucher_id'] = voucher_id
155 elif len(line_ids) > 1:
156 move_lines = move_line_obj.browse(cr, uid, line_ids)
157 str_list = []
158 for line in move_lines:
159 str_list.append("'%s'"%(line.ref or line.name))
160 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)))
161 return res
162
163
164 def _get_references( self, cr, uid, line, data, context ):
165 """
166 Override function in nan_account_statement_module.
167 """
168
169 if not 'conceptos' in data or not 'referencia2' in data:
170 if line.search_by != 'all':
171 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.') % {
172 'amount': line.amount,
173 'statement': line.statement_id.name
174 })
175 return []
176 return [ data['conceptos'], data['referencia2'] ]
177
178 def _get_vats( self, cr, uid, line, data, context ):
179 """
180 Override function in nan_account_statement_module.
181 """
182
183 if not 'referencia1' in data or not 'conceptos' in data:
184 if line.search_by != 'all':
185 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.') % {
186 'amount': line.amount,
187 'statement': line.statement_id.name
188 })
189 return []
190 return [ data['referencia1'][:9] , data['conceptos'][:9], data['conceptos'][21:30] ]
191
192account_bank_statement_line()
193
194class account_bank_statement(osv.osv):
195
196 _inherit = "account.bank.statement"
197
198 _defaults = {
199 'name': lambda self, cr, uid, context=None: \
200 self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement'),
201 }
202
203
204 def button_confirm_bank(self, cr, uid, ids, context=None):
205 done = []
206 obj_seq = self.pool.get('ir.sequence')
207 if context is None:
208 context = {}
209
210 for st in self.browse(cr, uid, ids, context=context):
211 j_type = st.journal_id.type
212 company_currency_id = st.journal_id.company_id.currency_id.id
213 if not self.check_status_condition(cr, uid, st.state, journal_type=j_type):
214 continue
215
216 self.balance_check(cr, uid, st.id, journal_type=j_type, context=context)
217 if (not st.journal_id.default_credit_account_id) \
218 or (not st.journal_id.default_debit_account_id):
219 raise osv.except_osv(_('Configuration Error !'),
220 _('Please verify that an account is defined in the journal.'))
221
222 for line in st.move_line_ids:
223 if line.state <> 'valid':
224 raise osv.except_osv(_('Error !'),
225 _('The account entries lines are not in valid state.'))
226 for st_line in st.line_ids:
227 if st_line.analytic_account_id:
228 if not st.journal_id.analytic_journal_id:
229 raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (st.journal_id.name,))
230 if not st_line.amount:
231 continue
232 c = {'fiscalyear_id': st.period_id.fiscalyear_id.id}
233 st_line_number = obj_seq.get_id(cr, uid, st.journal_id.sequence_id.id, context=c)
234 self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
235
236 done.append(st.id)
237 return self.write(cr, uid, ids, {'state':'confirm'}, context=context)
238
239account_bank_statement()
240
241# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2420
=== removed file '___unported__/l10n_es_bank_statement/concepto.py'
--- ___unported__/l10n_es_bank_statement/concepto.py 2011-08-29 15:11:11 +0000
+++ ___unported__/l10n_es_bank_statement/concepto.py 1970-01-01 00:00:00 +0000
@@ -1,64 +0,0 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
6# Jordi Esteve <jesteve@zikzakmedia.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# $Id$
10#
11# This program is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Affero General Public License as published by
13# the Free Software Foundation, either version 3 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU Affero General Public License for more details.
20#
21# You should have received a copy of the GNU Affero General Public License
22# along with this program. If not, see <http://www.gnu.org/licenses/>.
23#
24##############################################################################
25
26"""
27C43 format (bank statement file) concepts
28"""
29
30from osv import osv, fields
31
32
33class l10n_es_extractos_concepto(osv.osv):
34 """
35 C43 format concepts, used to map codes from the C43 bank statement file
36 to OpenERP accounts.
37 """
38
39 _name = 'l10n.es.extractos.concepto'
40 _description = 'C43 codes'
41
42 _columns = {
43 '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'),
44 'name': fields.char('Concept name', size=64, select=True, required=True),
45 'account_id': fields.many2one('account.account', 'Account associated to the concept', domain=[('type','<>','view'), ('type', '<>', 'closed')], select=True, required=True,
46 help='Default account to be associated with the concept when the file of C43 bank statements is imported'),
47 'company_id': fields.many2one('res.company', 'Company', required=True),
48 }
49
50 def _default_company_id(self, cr, uid, context={}):
51 """
52 Gets the default company id
53 """
54 user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
55 if user.company_id:
56 return user.company_id.id
57 return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
58
59 _defaults = {
60 'company_id': _default_company_id,
61 }
62
63l10n_es_extractos_concepto()
64
650
=== removed file '___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml'
--- ___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml 2011-03-27 01:51:59 +0000
+++ ___unported__/l10n_es_bank_statement/data/extractos_conceptos.xml 1970-01-01 00:00:00 +0000
@@ -1,100 +0,0 @@
1<?xml version='1.0' encoding='UTF-8'?>
2<openerp>
3 <data noupdate='1'>
4 <record model='l10n.es.extractos.concepto' id='01'>
5 <field name='code'>01</field>
6 <field name='name'>Reintegro/Talón</field>
7 <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
8 </record>
9 <record model='l10n.es.extractos.concepto' id='02'>
10 <field name='code'>02</field>
11 <field name='name'>Ingreso/Abonaré</field>
12 <field search="[('code','like','4100%00')]" model='account.account' name='account_id'/>
13 </record>
14 <record model='l10n.es.extractos.concepto' id='03'>
15 <field name='code'>03</field>
16 <field name='name'>Recibo/Letra domiciliado</field>
17 <field search="[('code','like','4100%00')]" model='account.account' name='account_id'/>
18 </record>
19 <record model='l10n.es.extractos.concepto' id='04'>
20 <field name='code'>04</field>
21 <field name='name'>Transf./Giro/Cheque</field>
22 <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
23 </record>
24 <record model='l10n.es.extractos.concepto' id='05'>
25 <field name='code'>05</field>
26 <field name='name'>Amortización préstamo</field>
27 <field search="[('code','like','6800%00')]" model='account.account' name='account_id'/>
28 </record>
29 <record model='l10n.es.extractos.concepto' id='06'>
30 <field name='code'>06</field>
31 <field name='name'>Remesa efectos</field>
32 <field search="[('code','like','4010%00')]" model='account.account' name='account_id'/>
33 </record>
34 <record model='l10n.es.extractos.concepto' id='07'>
35 <field name='code'>07</field>
36 <field name='name'>Subscripción/Canje</field>
37 <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
38 </record>
39 <record model='l10n.es.extractos.concepto' id='08'>
40 <field name='code'>08</field>
41 <field name='name'>Amortización</field>
42 <field search="[('code','like','6800%00')]" model='account.account' name='account_id'/>
43 </record>
44 <record model='l10n.es.extractos.concepto' id='09'>
45 <field name='code'>09</field>
46 <field name='name'>Compra/Venta valores</field>
47 <field search="[('code','like','2510%00')]" model='account.account' name='account_id'/>
48 </record>
49 <record model='l10n.es.extractos.concepto' id='10'>
50 <field name='code'>10</field>
51 <field name='name'>Cheque gasolina</field>
52 <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
53 </record>
54 <record model='l10n.es.extractos.concepto' id='11'>
55 <field name='code'>11</field>
56 <field name='name'>Cajero automático</field>
57 <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
58 </record>
59 <record model='l10n.es.extractos.concepto' id='12'>
60 <field name='code'>12</field>
61 <field name='name'>Tarjeta crédito/débito</field>
62 <field search="[('code','like','5700%00')]" model='account.account' name='account_id'/>
63 </record>
64 <record model='l10n.es.extractos.concepto' id='13'>
65 <field name='code'>13</field>
66 <field name='name'>Operaciones extranjero</field>
67 <field search="[('code','like','5730%00')]" model='account.account' name='account_id'/>
68 </record>
69 <record model='l10n.es.extractos.concepto' id='14'>
70 <field name='code'>14</field>
71 <field name='name'>Devolución/Impagado</field>
72 <field search="[('code','like','4300%00')]" model='account.account' name='account_id'/>
73 </record>
74 <record model='l10n.es.extractos.concepto' id='15'>
75 <field name='code'>15</field>
76 <field name='name'>Nómina/Seg. social</field>
77 <field search="[('code','like','6400%00')]" model='account.account' name='account_id'/>
78 </record>
79 <record model='l10n.es.extractos.concepto' id='16'>
80 <field name='code'>16</field>
81 <field name='name'>Timbre/Corretaje/Póliza</field>
82 <field search="[('code','like','6690%00')]" model='account.account' name='account_id'/>
83 </record>
84 <record model='l10n.es.extractos.concepto' id='17'>
85 <field name='code'>17</field>
86 <field name='name'>Intereses/Comisión/Gastos/Custodia</field>
87 <field search="[('code','like','6690%00')]" model='account.account' name='account_id'/>
88 </record>
89 <record model='l10n.es.extractos.concepto' id='98'>
90 <field name='code'>98</field>
91 <field name='name'>Anulación/Corrección</field>
92 <field search="[('code','like','5720%00')]" model='account.account' name='account_id'/>
93 </record>
94 <record model='l10n.es.extractos.concepto' id='99'>
95 <field name='code'>99</field>
96 <field name='name'>Varios</field>
97 <field search="[('code','like','5720%00')]" model='account.account' name='account_id'/>
98 </record>
99 </data>
100</openerp>
1010
=== removed file '___unported__/l10n_es_bank_statement/extractos_view.xml'
--- ___unported__/l10n_es_bank_statement/extractos_view.xml 2013-01-11 14:06:10 +0000
+++ ___unported__/l10n_es_bank_statement/extractos_view.xml 1970-01-01 00:00:00 +0000
@@ -1,123 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <!--****************************** CUENTAS POR DEFECTO PARA LOS EXTRACTOS BANCARIOS ***********************************-->
6 <!-- FORMULARIO -->
7 <record model="ir.ui.view" id="view_extractos_concepto">
8 <field name="name">l10n.es.extractos.concepto.form</field>
9 <field name="model">l10n.es.extractos.concepto</field>
10 <field name="type">form</field>
11 <field name="arch" type="xml">
12 <form string="C43 default accounts">
13 <field name="code"/>
14 <field name="name"/>
15 <field name="account_id"/>
16 <field name="company_id"/>
17 </form>
18 </field>
19 </record>
20
21 <!-- LISTA -->
22 <record model="ir.ui.view" id="view_extractos_concepto_tree">
23 <field name="name">l10n.es.extractos.concepto.tree</field>
24 <field name="model">l10n.es.extractos.concepto</field>
25 <field name="type">tree</field>
26 <field name="arch" type="xml">
27 <tree string="C43 default accounts">
28 <field name="code"/>
29 <field name="name"/>
30 <field name="account_id"/>
31 <field name="company_id" select="1"/>
32 </tree>
33 </field>
34 </record>
35
36 <record model="ir.actions.act_window" id="action_extractos_concepto">
37 <field name="name">C43 default accounts</field>
38 <field name="res_model">l10n.es.extractos.concepto</field>
39 </record>
40
41 <!-- menu -->
42 <menuitem id="menu_extractos_bancarios" name="C43 bank statements" parent="account.menu_finance_accounting"/>
43 <menuitem id="menu_extractos_bancarios_concepto" name="Default accounts associated to C43 codes" parent="menu_extractos_bancarios" action="action_extractos_concepto"/>
44
45 <!--************************** Redefinición on_change de las líneas de extracto bancario *******************************-->
46 <record id="view_bank_statement_form_ES1" model="ir.ui.view">
47 <field name="name">account.bank.statement.form.ES1</field>
48 <field name="model">account.bank.statement</field>
49 <field name="type">form</field>
50 <field name="inherit_id" ref="account.view_bank_statement_form"/>
51 <field name="arch" type="xml">
52 <xpath expr="/form/notebook/page[@string='Transaction']/field/tree/field[@name='partner_id']" position="replace">
53 <field name="partner_id" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
54 </xpath>
55 </field>
56 </record>
57
58 <record id="view_bank_statement_form_ES2" model="ir.ui.view">
59 <field name="name">account.bank.statement.form.ES2</field>
60 <field name="model">account.bank.statement</field>
61 <field name="type">form</field>
62 <field name="inherit_id" ref="account.view_bank_statement_form"/>
63 <field name="arch" type="xml">
64 <xpath expr="/form/notebook/page/field/form/field[@name='partner_id']" position="replace">
65 <field name="partner_id" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
66 </xpath>
67 </field>
68 </record>
69
70 <record id="view_bank_statement_form_ES3" model="ir.ui.view">
71 <field name="name">account.bank.statement.form.ES3</field>
72 <field name="model">account.bank.statement</field>
73 <field name="type">form</field>
74 <field name="inherit_id" ref="account.view_bank_statement_form"/>
75 <field name="arch" type="xml">
76 <xpath expr="/form/notebook/page/field/tree/field[@name='amount']" position="replace">
77 <field name="amount" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
78 </xpath>
79 </field>
80 </record>
81
82 <record id="view_bank_statement_form_ES4" model="ir.ui.view">
83 <field name="name">account.bank.statement.form.ES4</field>
84 <field name="model">account.bank.statement</field>
85 <field name="type">form</field>
86 <field name="inherit_id" ref="account.view_bank_statement_form"/>
87 <field name="arch" type="xml">
88 <xpath expr="/form/notebook/page/field/form/field[@name='amount']" position="replace">
89 <field name="amount" on_change="onchange_partner_id(line_id, partner_id, type, amount, voucher_id, date)"/>
90 </xpath>
91 </field>
92 </record>
93
94
95 <!-- Import wizard -->
96 <record model="ir.ui.view" id="extractos_import_wizard">
97 <field name="name">l10n.es.extractos.import.form</field>
98 <field name="model">l10n.es.extractos.import.wizard</field>
99 <field name="type">form</field>
100 <field name="arch" type="xml">
101 <form string="Import Wizard">
102 <label colspan="4" string="This wizard will import default concepts related to standard accounts of spanish charts."/>
103 <field name="company_id" colspan="4" widget="selection"/>
104 <button icon="gtk-cancel" special="cancel" string="Cancel" type="object"/>
105 <button icon="gtk-ok" name="action_import" string="Import" type="object"/>
106 </form>
107 </field>
108 </record>
109
110 <record id="action_extractos_import_wizard" model="ir.actions.act_window">
111 <field name="name">Import Statement Concepts Wizard</field>
112 <field name="type">ir.actions.act_window</field>
113 <field name="res_model">l10n.es.extractos.import.wizard</field>
114 <field name="view_type">form</field>
115 <field name="view_mode">form</field>
116 <field name="target">new</field>
117 </record>
118
119 <menuitem id="menu_import_wizard" parent="menu_extractos_bancarios" action="action_extractos_import_wizard" groups="account.group_account_manager"/>
120
121 </data>
122</openerp>
123
1240
=== removed file '___unported__/l10n_es_bank_statement/i18n/ca.po'
--- ___unported__/l10n_es_bank_statement/i18n/ca.po 2014-03-04 08:27:58 +0000
+++ ___unported__/l10n_es_bank_statement/i18n/ca.po 1970-01-01 00:00:00 +0000
@@ -1,547 +0,0 @@
1# Translation of OpenERP Server.
2# This file containt the translation of the following modules:
3# * l10n_es_bank_statement
4#
5# Albert Cervera i Areny <albert@nan-tic.com>, 2009, 2010, 2011.
6msgid ""
7msgstr ""
8"Project-Id-Version: OpenERP Server 5.0.0-rc1\n"
9"Report-Msgid-Bugs-To: support@openerp.com\n"
10"POT-Creation-Date: 2011-03-27 02:13+0000\n"
11"PO-Revision-Date: 2013-10-11 22:39+0000\n"
12"Last-Translator: Albert Cervera i Areny - http://www.NaN-tic.com <albert@nan-"
13"tic.com>\n"
14"Language-Team: American English <kde-i18n-ca@kde.org>\n"
15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"
19"X-Generator: Launchpad (build 16948)\n"
20"Language: \n"
21
22#. module: l10n_es_bank_statement
23#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
24#, python-format
25msgid "Intereses/Comisión/Gastos/Custodia"
26msgstr "Intereses/Comisión/Gastos/Custodia"
27
28#. module: l10n_es_bank_statement
29#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
30#, python-format
31msgid "Compra/Venta valores"
32msgstr "Compra/Venta valores"
33
34#. module: l10n_es_bank_statement
35#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
36msgid "C43 codes"
37msgstr "Codis C43"
38
39#. module: l10n_es_bank_statement
40#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
41msgid "Reconcile by amount"
42msgstr "Concilia per quantitat"
43
44#. module: l10n_es_bank_statement
45#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
46#, python-format
47msgid "bank-statement.txt"
48msgstr "extracte-bancari.txt"
49
50#. module: l10n_es_bank_statement
51#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
52#, python-format
53msgid "Nómina/Seg. social"
54msgstr "Nómina/Seg. social"
55
56#. module: l10n_es_bank_statement
57#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
58msgid "Reconcile by VAT number and amount"
59msgstr "Concilia per NIF i quantitat"
60
61#. module: l10n_es_bank_statement
62#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
63#, python-format
64msgid "Ingreso/Abonaré"
65msgstr "Ingreso/Abonaré"
66
67#. module: l10n_es_bank_statement
68#: field:l10n.es.extractos.concepto,account_id:0
69msgid "Account associated to the concept"
70msgstr "Compte associat al concepte"
71
72#. module: l10n_es_bank_statement
73#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
74#, python-format
75msgid "Amortización préstamo"
76msgstr "Amortización préstamo"
77
78#. module: l10n_es_bank_statement
79#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
80#, python-format
81msgid "Search by references"
82msgstr "Search by references"
83
84#. module: l10n_es_bank_statement
85#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
86msgid "Spanish Bank Statements Importation"
87msgstr "Importación de Extractos Bancarios Españoles"
88
89#. module: l10n_es_bank_statement
90#: field:l10n.es.bank.statement.import.c43.wizard,file:0
91#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
92msgid "Bank Statements File"
93msgstr "Fitxer extracte"
94
95#. module: l10n_es_bank_statement
96#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
97msgid "Import Bank Statement"
98msgstr "Importació d'extracte bancari"
99
100#. module: l10n_es_bank_statement
101#: view:l10n.es.bank.statement.import.c43.wizard:0
102#: view:l10n.es.extractos.import.wizard:0
103msgid "Import"
104msgstr "Importa"
105
106#. module: l10n_es_bank_statement
107#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
108#, python-format
109msgid "Devolución/Impagado"
110msgstr "Devolución/Impagado"
111
112#. module: l10n_es_bank_statement
113#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
114#, python-format
115msgid "Search by VAT error"
116msgstr "Search by VAT error"
117
118#. module: l10n_es_bank_statement
119#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
120#, python-format
121msgid "Record type %s is not valid."
122msgstr "Record type %s is not valid."
123
124#. module: l10n_es_bank_statement
125#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
126#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
127#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
128#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
129#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
130#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
131#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
132#, python-format
133msgid "Error in C43 file"
134msgstr "Error al fitxer C43"
135
136#. module: l10n_es_bank_statement
137#: help:l10n.es.extractos.concepto,account_id:0
138msgid ""
139"Default account to be associated with the concept when the file of C43 bank "
140"statements is imported"
141msgstr ""
142"Compte per defecte que s'associarà al concepte en importar el fitxer "
143"d'extractes bancaris C43"
144
145#. module: l10n_es_bank_statement
146#: view:l10n.es.bank.statement.import.c43.wizard:0
147msgid "Bank statements import according to norm C43"
148msgstr "Importació extracte bancari segons norma C43"
149
150#. module: l10n_es_bank_statement
151#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
152msgid "l10n.es.extractos.import.wizard"
153msgstr "l10n.es.extractos.import.wizard"
154
155#. module: l10n_es_bank_statement
156#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
157#, python-format
158msgid "Amortización"
159msgstr "Amortización"
160
161#. module: l10n_es_bank_statement
162#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
163#, python-format
164msgid ""
165"You cannot search by VAT because it seems this line has not been imported "
166"from a bank statement file. The system expected \"referencia1\" and "
167"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
168msgstr ""
169"You cannot search by VAT because it seems this line has not been imported "
170"from a bank statement file. The system expected \"referencia1\" and "
171"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
172
173#. module: l10n_es_bank_statement
174#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
175#, python-format
176msgid ""
177"Number of debit records does not agree with the defined in the last record "
178"of account."
179msgstr ""
180"Nombre de registres deure no coincideix amb el definit en el registre final "
181"de compte."
182
183#. module: l10n_es_bank_statement
184#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
185#, python-format
186msgid "Subscripción/Canje"
187msgstr "Subscripción/Canje"
188
189#. module: l10n_es_bank_statement
190#: view:l10n.es.bank.statement.import.c43.wizard:0
191msgid "Bank Statements File:"
192msgstr "Fitxer extracte bancari:"
193
194#. module: l10n_es_bank_statement
195#: view:l10n.es.bank.statement.import.c43.wizard:0
196msgid "Automatic reconciliation options"
197msgstr "Opcions de conciliació automàtica"
198
199#. module: l10n_es_bank_statement
200#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
201#, python-format
202msgid ""
203"%s moves (%s) found for this date and partner. You'll have to concile this "
204"line manually..."
205msgstr ""
206"%s moves (%s) found for this date and partner. You'll have to concile this "
207"line manually..."
208
209#. module: l10n_es_bank_statement
210#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
211msgid "Max. days from statement date"
212msgstr "Dies màx. des de data extracte"
213
214#. module: l10n_es_bank_statement
215#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
216msgid ""
217"Maximum difference in days, between the maturity date of the entry to "
218"reconcile and the bank statement entry"
219msgstr ""
220"Diferencia màxima en dies, entre la data de venciment de l'assentament a "
221"conciliar i la línia de l'extracte bancari"
222
223#. module: l10n_es_bank_statement
224#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
225#, python-format
226msgid ""
227"Number of credit records does not agree with the defined in the last record "
228"of account."
229msgstr ""
230"Nombre de registres haver no coincideix amb el definit en el registre final "
231"de compte."
232
233#. module: l10n_es_bank_statement
234#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
235#, python-format
236msgid ""
237"Final balance amount = (initial balance + credit - debit) does not agree "
238"with the defined in the last record of account."
239msgstr ""
240"Importi saldo final = (saldo inicial + haver - deure) no coincideix amb el "
241"definit en el registre final de compte."
242
243#. module: l10n_es_bank_statement
244#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
245msgid "Default accounts associated to C43 codes"
246msgstr "Comptes per defecte associats als codis C43"
247
248#. module: l10n_es_bank_statement
249#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
250#, python-format
251msgid "Tarjeta crédito/débito"
252msgstr "Tarjeta crédito/débito"
253
254#. module: l10n_es_bank_statement
255#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
256#, python-format
257msgid "A default account has not been defined for the C43 concept "
258msgstr "No s'ha definit un compte comptable per defecte per al concepte C43 "
259
260#. module: l10n_es_bank_statement
261#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
262msgid "l10n.es.bank.statement.import.c43.wizard"
263msgstr "l10n.es.bank.statement.import.c43.wizard"
264
265#. module: l10n_es_bank_statement
266#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
267#, python-format
268msgid "Reintegro/Talón"
269msgstr "Reintegro/Talón"
270
271#. module: l10n_es_bank_statement
272#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
273#, python-format
274msgid "Concepts for this company already imported..."
275msgstr "Concepts for this company already imported..."
276
277#. module: l10n_es_bank_statement
278#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
279#, python-format
280msgid "Transf./Giro/Cheque"
281msgstr "Transf./Giro/Cheque"
282
283#. module: l10n_es_bank_statement
284#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
285#, python-format
286msgid "Timbre/Corretaje/Póliza"
287msgstr "Timbre/Corretaje/Póliza"
288
289#. module: l10n_es_bank_statement
290#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
291#, python-format
292msgid "Varios"
293msgstr "Varios"
294
295#. module: l10n_es_bank_statement
296#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
297#, python-format
298msgid ""
299"Could not import concept %(concept)s because no matching account was found "
300"for expression %(expression)s."
301msgstr ""
302"Could not import concept %(concept)s because no matching account was found "
303"for expression %(expression)s."
304
305#. module: l10n_es_bank_statement
306#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
307msgid "Statement Line Rules"
308msgstr "Regles de línies d'extracte"
309
310#. module: l10n_es_bank_statement
311#: help:l10n.es.extractos.concepto,code:0
312msgid ""
313"2 digits code of the concept defined in the file of C43 bank statements"
314msgstr ""
315"Codi de 2 dígits del concepte definit al fitxer d'extractes bancaris C43"
316
317#. module: l10n_es_bank_statement
318#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
319#, python-format
320msgid ""
321"Debit amount does not agree with the defined in the last record of account."
322msgstr ""
323"Import deure no coincideix amb el definit en el registre final de compte."
324
325#. module: l10n_es_bank_statement
326#: field:l10n.es.extractos.concepto,code:0
327msgid "Concept code"
328msgstr "Codi concepte"
329
330#. module: l10n_es_bank_statement
331#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
332#, python-format
333msgid "Number of records does not agree with the defined in the last record."
334msgstr ""
335"Nombre de registres no coincideix amb el definit en el registre final de "
336"fitxer."
337
338#. module: l10n_es_bank_statement
339#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
340#, python-format
341msgid "Beware!"
342msgstr "Beware!"
343
344#. module: l10n_es_bank_statement
345#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
346#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
347#, python-format
348msgid "C43 Created Concepts"
349msgstr "S'han creat els conceptes C43"
350
351#. module: l10n_es_bank_statement
352#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
353#, python-format
354msgid "Error!"
355msgstr "Error!"
356
357#. module: l10n_es_bank_statement
358#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
359#, python-format
360msgid "Operaciones extranjero"
361msgstr "Operaciones extranjero"
362
363#. module: l10n_es_bank_statement
364#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
365#, python-format
366msgid ""
367"The bank statement is alredy confirmed. It can not be imported from file."
368msgstr ""
369"L'extracte bancari ja està confirmat. No es pot importar des de fitxer."
370
371#. module: l10n_es_bank_statement
372#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
373#, python-format
374msgid "Error"
375msgstr "Error"
376
377#. module: l10n_es_bank_statement
378#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
379#, python-format
380msgid ""
381"You cannot search by reference because it seems this line has not been "
382"imported from a bank statement file. The system expected \"conceptos\" and "
383"\"referencia2\" keys in line of amount %(amount).2f in statement "
384"%(statement)s."
385msgstr ""
386"You cannot search by reference because it seems this line has not been "
387"imported from a bank statement file. The system expected \"conceptos\" and "
388"\"referencia2\" keys in line of amount %(amount).2f in statement "
389"%(statement)s."
390
391#. module: l10n_es_bank_statement
392#: field:l10n.es.extractos.concepto,name:0
393msgid "Concept name"
394msgstr "Nom concepte"
395
396#. module: l10n_es_bank_statement
397#: constraint:account.bank.statement.line:0
398msgid ""
399"The amount of the voucher must be the same amount as the one on the "
400"statement line"
401msgstr ""
402"The amount of the voucher must be the same amount as the one on the "
403"statement line"
404
405#. module: l10n_es_bank_statement
406#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
407#, python-format
408msgid "Cajero automático"
409msgstr "Cajero automático"
410
411#. module: l10n_es_bank_statement
412#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
413#, python-format
414msgid "Recibo/Letra domiciliado"
415msgstr "Recibo/Letra domiciliado"
416
417#. module: l10n_es_bank_statement
418#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
419#, python-format
420msgid ""
421"Credit amount does not agree with the defined in the last record of account."
422msgstr ""
423"Import haver no coincideix amb el definit en el registre final de compte."
424
425#. module: l10n_es_bank_statement
426#: view:l10n.es.extractos.import.wizard:0
427msgid ""
428"This wizard will import default concepts related to standard accounts of "
429"spanish charts."
430msgstr ""
431"Aquest assistent importarà els conceptes per defecte relacionats amb els "
432"comptes comptables estàndards del pla de comptes espanyol."
433
434#. module: l10n_es_bank_statement
435#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
436#, python-format
437msgid "Import Error"
438msgstr "Error d'importació"
439
440#. module: l10n_es_bank_statement
441#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
442msgid "Bank Statement Line"
443msgstr "Línia d'extracte bancari"
444
445#. module: l10n_es_bank_statement
446#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
447#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
448msgid "Import Statement Concepts Wizard"
449msgstr "Assistent d'importació de conceptes d'extractes"
450
451#. module: l10n_es_bank_statement
452#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
453msgid "Reconcile payment orders by total amount"
454msgstr "Concilia ordres de pagament per total"
455
456#. module: l10n_es_bank_statement
457#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
458msgid ""
459"\n"
460"Module for the importation of Spanish bank statements following the C43 "
461"normative of the 'Asociación Española de la Banca'.\n"
462" \n"
463" Adds a wizard to the bank statements to perform the importation. The "
464"imported file gets attached to the given bank statement.\n"
465" It allows to define default accounting codes for the concepts defined in "
466"the C43 bank statement file.\n"
467"\n"
468" The search of the entries to reconcile (and partner) is done like this:\n"
469" 1) Unreconciled entries with the given reference and amount. The "
470"reference is taken from the 'conceptos' or 'referencia2' fields of the "
471"statement.\n"
472" 2) Unreconciled entries with (a partner with) the given VAT number "
473"and amount.\n"
474" These fields are tested to find a valid spanish VAT:\n"
475" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
476" - First 9 characters of 'conceptos' (La Caixa)\n"
477" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
478" 3) Unreconciled entries with the given amount.\n"
479"\n"
480" If no partner is found, the default account defined for the concept is "
481"used.\n"
482"\n"
483" The module also adds a wizard in Financial Management/Configuration/C43 "
484"bank statements to import the default statement concepts, that must be run "
485"after creating the spanish chart of accounts (l10n_es module).\n"
486" "
487msgstr ""
488
489#. module: l10n_es_bank_statement
490#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
491#, python-format
492msgid "Anulación/Corrección"
493msgstr "Anulación/Corrección"
494
495#. module: l10n_es_bank_statement
496#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
497#, python-format
498msgid "Bank Statement"
499msgstr "Extracte Bancari"
500
501#. module: l10n_es_bank_statement
502#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
503#, python-format
504msgid "Cheque gasolina"
505msgstr "Cheque gasolina"
506
507#. module: l10n_es_bank_statement
508#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
509#, python-format
510msgid "Info:"
511msgstr "Info:"
512
513#. module: l10n_es_bank_statement
514#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
515msgid "Reconcile by reference and amount"
516msgstr "Concilia per referència i quantitat"
517
518#. module: l10n_es_bank_statement
519#: view:l10n.es.extractos.import.wizard:0
520msgid "Import Wizard"
521msgstr "Assistent d'importació"
522
523#. module: l10n_es_bank_statement
524#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
525#, python-format
526msgid "Remesa efectos"
527msgstr "Remesa efectos"
528
529#. module: l10n_es_bank_statement
530#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
531#: view:l10n.es.extractos.concepto:0
532msgid "C43 default accounts"
533msgstr "Comptes per defecte C43"
534
535#. module: l10n_es_bank_statement
536#: view:l10n.es.bank.statement.import.c43.wizard:0
537#: view:l10n.es.extractos.import.wizard:0
538msgid "Cancel"
539msgstr "Cancel·la"
540
541#. module: l10n_es_bank_statement
542#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
543#: field:l10n.es.extractos.concepto,company_id:0
544#: field:l10n.es.extractos.import.wizard,company_id:0
545#, python-format
546msgid "Company"
547msgstr "Companyia"
5480
=== removed file '___unported__/l10n_es_bank_statement/i18n/gl.po'
--- ___unported__/l10n_es_bank_statement/i18n/gl.po 2014-03-04 08:27:58 +0000
+++ ___unported__/l10n_es_bank_statement/i18n/gl.po 1970-01-01 00:00:00 +0000
@@ -1,573 +0,0 @@
1# Galician translation for openerp-spain
2# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
3# This file is distributed under the same license as the openerp-spain package.
4# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
5#
6msgid ""
7msgstr ""
8"Project-Id-Version: openerp-spain\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"POT-Creation-Date: 2011-03-27 02:13+0000\n"
11"PO-Revision-Date: 2013-10-28 03:03+0000\n"
12"Last-Translator: Alejandro Santana <alejandrosantana@anubia.es>\n"
13"Language-Team: Galician <gl@li.org>\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"
18"X-Generator: Launchpad (build 16948)\n"
19
20#. module: l10n_es_bank_statement
21#: code:addons/l10n_es_bank_statement/import_conceptos.py:109
22#, python-format
23msgid "Intereses/Comisión/Gastos/Custodia"
24msgstr "Intereses/Comisión/Gastos/Custodia"
25
26#. module: l10n_es_bank_statement
27#: code:addons/l10n_es_bank_statement/import_conceptos.py:101
28#, python-format
29msgid "Compra/Venta valores"
30msgstr "Compra/Venta valores"
31
32#. module: l10n_es_bank_statement
33#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto
34msgid "C43 codes"
35msgstr "Códigos C43"
36
37#. module: l10n_es_bank_statement
38#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:0
39msgid "Reconcile by amount"
40msgstr "Conciliar por cantidade"
41
42#. module: l10n_es_bank_statement
43#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
44#, python-format
45msgid "bank-statement.txt"
46msgstr "bank-statement.txt"
47
48#. module: l10n_es_bank_statement
49#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
50#, python-format
51msgid "Nómina/Seg. social"
52msgstr "Nómina/Seg. social"
53
54#. module: l10n_es_bank_statement
55#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
56msgid "Reconcile by VAT number and amount"
57msgstr "Conciliar por NIF e cantidade"
58
59#. module: l10n_es_bank_statement
60#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
61#, python-format
62msgid "Ingreso/Abonaré"
63msgstr "Ingreso/Obriga de aboamento"
64
65#. module: l10n_es_bank_statement
66#: field:l10n.es.extractos.concepto,account_id:0
67msgid "Account associated to the concept"
68msgstr "Conta asociada ó concepto"
69
70#. module: l10n_es_bank_statement
71#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
72#, python-format
73msgid "Amortización préstamo"
74msgstr "Amortización préstamo"
75
76#. module: l10n_es_bank_statement
77#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
78#, python-format
79msgid "Search by references"
80msgstr "Procurar por referencias"
81
82#. module: l10n_es_bank_statement
83#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
84msgid "Spanish Bank Statements Importation"
85msgstr "Importación de extractos bancarios españois"
86
87#. module: l10n_es_bank_statement
88#: field:l10n.es.bank.statement.import.c43.wizard,file:0
89#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
90msgid "Bank Statements File"
91msgstr "Extracto bancario"
92
93#. module: l10n_es_bank_statement
94#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
95msgid "Import Bank Statement"
96msgstr "Importar extracto bancario"
97
98#. module: l10n_es_bank_statement
99#: view:l10n.es.bank.statement.import.c43.wizard:0
100#: view:l10n.es.extractos.import.wizard:0
101msgid "Import"
102msgstr "Importar"
103
104#. module: l10n_es_bank_statement
105#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
106#, python-format
107msgid "Devolución/Impagado"
108msgstr "Devolución/Non pago"
109
110#. module: l10n_es_bank_statement
111#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
112#, python-format
113msgid "Search by VAT error"
114msgstr "Erro na procura por NIF"
115
116#. module: l10n_es_bank_statement
117#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
118#, python-format
119msgid "Record type %s is not valid."
120msgstr "O tipo de rexistro %s non é válido."
121
122#. module: l10n_es_bank_statement
123#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
124#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
125#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
126#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
127#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
128#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
129#: code:addons/l10n_es_bank_statement/import_c43_file.py:319
130#, python-format
131msgid "Error in C43 file"
132msgstr "Erro no ficheiro da Norma C43"
133
134#. module: l10n_es_bank_statement
135#: help:l10n.es.extractos.concepto,account_id:0
136msgid ""
137"Default account to be associated with the concept when the file of C43 bank "
138"statements is imported"
139msgstr ""
140"Conta contable por defecto que se asociará ó concepto ó importa-lo ficheiro "
141"de extractos bancarios C43"
142
143#. module: l10n_es_bank_statement
144#: view:l10n.es.bank.statement.import.c43.wizard:0
145msgid "Bank statements import according to norm C43"
146msgstr "Importar extracto bancario segundo a norma C43"
147
148#. module: l10n_es_bank_statement
149#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
150msgid "l10n.es.extractos.import.wizard"
151msgstr "l10n.es.extractos.import.wizard"
152
153#. module: l10n_es_bank_statement
154#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
155#, python-format
156msgid "Amortización"
157msgstr "Amortización"
158
159#. module: l10n_es_bank_statement
160#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
161#, python-format
162msgid ""
163"You cannot search by VAT because it seems this line has not been imported "
164"from a bank statement file. The system expected \"referencia1\" and "
165"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
166msgstr ""
167"Non pode procurar por NIF porque semella que este apunte non se importou "
168"desde un extracto bancario. O sistema agardaba polas chaves \"referencia1\" "
169"e \"conceptos\" na liña de cantidade %(amount).2f no extracto %(statement)s."
170
171#. module: l10n_es_bank_statement
172#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
173#, python-format
174msgid ""
175"Number of debit records does not agree with the defined in the last record "
176"of account."
177msgstr ""
178"O número de rexistros de débito non coincide co definido no último rexistro "
179"da conta."
180
181#. module: l10n_es_bank_statement
182#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
183#, python-format
184msgid "Subscripción/Canje"
185msgstr "Subscripción/Cambio"
186
187#. module: l10n_es_bank_statement
188#: view:l10n.es.bank.statement.import.c43.wizard:0
189msgid "Bank Statements File:"
190msgstr "Extracto bancario:"
191
192#. module: l10n_es_bank_statement
193#: view:l10n.es.bank.statement.import.c43.wizard:0
194msgid "Automatic reconciliation options"
195msgstr "Opciones de conciliación automática"
196
197#. module: l10n_es_bank_statement
198#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
199#, python-format
200msgid ""
201"%s moves (%s) found for this date and partner. You'll have to concile this "
202"line manually..."
203msgstr ""
204"%s movementos (%s) atopados para esta data e empresa. Terá que conciliar "
205"esta líña manualmente..."
206
207#. module: l10n_es_bank_statement
208#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
209msgid "Max. days from statement date"
210msgstr "Máximo de días desde a data do extracto"
211
212#. module: l10n_es_bank_statement
213#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
214msgid ""
215"Maximum difference in days, between the maturity date of the entry to "
216"reconcile and the bank statement entry"
217msgstr ""
218"Diferencia máxima en días, entre a data de vencimento da entrada a conciliar "
219"e a entrada do extracto bancario"
220
221#. module: l10n_es_bank_statement
222#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
223#, python-format
224msgid ""
225"Number of credit records does not agree with the defined in the last record "
226"of account."
227msgstr ""
228"O número de rexistros de crédito non cadra cos definidos no derradeiro "
229"rexistro da conta."
230
231#. module: l10n_es_bank_statement
232#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
233#, python-format
234msgid ""
235"Final balance amount = (initial balance + credit - debit) does not agree "
236"with the defined in the last record of account."
237msgstr ""
238"O importe do saldo final = (balance inicial + crédito - débito) non cadra co "
239"definido no derradeiro rexistro da conta."
240
241#. module: l10n_es_bank_statement
242#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
243msgid "Default accounts associated to C43 codes"
244msgstr "Contas por defecto asociadas ós códigos C43"
245
246#. module: l10n_es_bank_statement
247#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
248#, python-format
249msgid "Tarjeta crédito/débito"
250msgstr "Tarxeta crédito/débito"
251
252#. module: l10n_es_bank_statement
253#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
254#, python-format
255msgid "A default account has not been defined for the C43 concept "
256msgstr "Non se definiu unha conta contable por defecto para o concepto C43 "
257
258#. module: l10n_es_bank_statement
259#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
260msgid "l10n.es.bank.statement.import.c43.wizard"
261msgstr "l10n.es.bank.statement.import.c43.wizard"
262
263#. module: l10n_es_bank_statement
264#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
265#, python-format
266msgid "Reintegro/Talón"
267msgstr "Reintegro/Talón"
268
269#. module: l10n_es_bank_statement
270#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
271#, python-format
272msgid "Concepts for this company already imported..."
273msgstr "Os conceptos para esta compañía xa foran importados..."
274
275#. module: l10n_es_bank_statement
276#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
277#, python-format
278msgid "Transf./Giro/Cheque"
279msgstr "Transf./Xiro/Cheque"
280
281#. module: l10n_es_bank_statement
282#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
283#, python-format
284msgid "Timbre/Corretaje/Póliza"
285msgstr "Timbre/Corretaxe/Póliza"
286
287#. module: l10n_es_bank_statement
288#: code:addons/l10n_es_bank_statement/import_conceptos.py:111
289#, python-format
290msgid "Varios"
291msgstr "Varios"
292
293#. module: l10n_es_bank_statement
294#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
295#, python-format
296msgid ""
297"Could not import concept %(concept)s because no matching account was found "
298"for expression %(expression)s."
299msgstr ""
300"Non se puido importa-lo concepto %(concept)s porque non se atopou ningunha "
301"conta que cadrara coa expresión %(expression)s."
302
303#. module: l10n_es_bank_statement
304#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
305msgid "Statement Line Rules"
306msgstr "Regras de liña de extracto"
307
308#. module: l10n_es_bank_statement
309#: help:l10n.es.extractos.concepto,code:0
310msgid ""
311"2 digits code of the concept defined in the file of C43 bank statements"
312msgstr ""
313"Código de 2 díxitos do concepto definido no ficheiro de extractos bancarios "
314"C43"
315
316#. module: l10n_es_bank_statement
317#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
318#, python-format
319msgid ""
320"Debit amount does not agree with the defined in the last record of account."
321msgstr ""
322"A cantidade do débito non cadra co definido no derradeiro rexistro da conta."
323
324#. module: l10n_es_bank_statement
325#: field:l10n.es.extractos.concepto,code:0
326msgid "Concept code"
327msgstr "Código concepto"
328
329#. module: l10n_es_bank_statement
330#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
331#, python-format
332msgid "Number of records does not agree with the defined in the last record."
333msgstr "O número de rexistros non cadra co definido no derradeiro rexistro."
334
335#. module: l10n_es_bank_statement
336#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
337#, python-format
338msgid "Beware!"
339msgstr "¡Atención!"
340
341#. module: l10n_es_bank_statement
342#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
343#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
344#, python-format
345msgid "C43 Created Concepts"
346msgstr "Conceptos C43 creados"
347
348#. module: l10n_es_bank_statement
349#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
350#, python-format
351msgid "Error!"
352msgstr "¡Erro!"
353
354#. module: l10n_es_bank_statement
355#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
356#, python-format
357msgid "Operaciones extranjero"
358msgstr "Operaciones extranxeiro"
359
360#. module: l10n_es_bank_statement
361#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
362#, python-format
363msgid ""
364"The bank statement is alredy confirmed. It can not be imported from file."
365msgstr ""
366"O extracto bancario xa se confirmou. Non se pode importar desde ficheiro."
367
368#. module: l10n_es_bank_statement
369#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
370#, python-format
371msgid "Error"
372msgstr "Erro"
373
374#. module: l10n_es_bank_statement
375#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
376#, python-format
377msgid ""
378"You cannot search by reference because it seems this line has not been "
379"imported from a bank statement file. The system expected \"conceptos\" and "
380"\"referencia2\" keys in line of amount %(amount).2f in statement "
381"%(statement)s."
382msgstr ""
383"Non pode procurar por referencia porque semella que este apunte non se "
384"importou desde un extracto bancario. O sistema agardaba polas chaves "
385"\"conceptos\" e \"referencia2\" na liña de cantidade %(amount).2f no "
386"extracto %(statement)s."
387
388#. module: l10n_es_bank_statement
389#: field:l10n.es.extractos.concepto,name:0
390msgid "Concept name"
391msgstr "Nome do concepto"
392
393#. module: l10n_es_bank_statement
394#: constraint:account.bank.statement.line:0
395msgid ""
396"The amount of the voucher must be the same amount as the one on the "
397"statement line"
398msgstr "O importe do recibo debe se-lo mesmo có importe da liña do extracto"
399
400#. module: l10n_es_bank_statement
401#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
402#, python-format
403msgid "Cajero automático"
404msgstr "Caixeiro automático"
405
406#. module: l10n_es_bank_statement
407#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
408#, python-format
409msgid "Recibo/Letra domiciliado"
410msgstr "Recibo/Letra domiciliado"
411
412#. module: l10n_es_bank_statement
413#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
414#, python-format
415msgid ""
416"Credit amount does not agree with the defined in the last record of account."
417msgstr ""
418"A cantidade do crédito non cadra co definido no derradeiro rexistro da conta."
419
420#. module: l10n_es_bank_statement
421#: view:l10n.es.extractos.import.wizard:0
422msgid ""
423"This wizard will import default concepts related to standard accounts of "
424"spanish charts."
425msgstr ""
426"Este asistente importará conceptos por defecto relacionados coas contas "
427"contables estándar do plan de contas español."
428
429#. module: l10n_es_bank_statement
430#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
431#, python-format
432msgid "Import Error"
433msgstr "Erro de importación"
434
435#. module: l10n_es_bank_statement
436#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
437msgid "Bank Statement Line"
438msgstr "Liña de extracto bancario"
439
440#. module: l10n_es_bank_statement
441#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
442#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
443msgid "Import Statement Concepts Wizard"
444msgstr "Asistente de importación de conceptos de extractos"
445
446#. module: l10n_es_bank_statement
447#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
448msgid "Reconcile payment orders by total amount"
449msgstr "Conciliar ordes de pagamento por importe total"
450
451#. module: l10n_es_bank_statement
452#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
453msgid ""
454"\n"
455"Module for the importation of Spanish bank statements following the C43 "
456"normative of the 'Asociación Española de la Banca'.\n"
457" \n"
458" Adds a wizard to the bank statements to perform the importation. The "
459"imported file gets attached to the given bank statement.\n"
460" It allows to define default accounting codes for the concepts defined in "
461"the C43 bank statement file.\n"
462"\n"
463" The search of the entries to reconcile (and partner) is done like this:\n"
464" 1) Unreconciled entries with the given reference and amount. The "
465"reference is taken from the 'conceptos' or 'referencia2' fields of the "
466"statement.\n"
467" 2) Unreconciled entries with (a partner with) the given VAT number "
468"and amount.\n"
469" These fields are tested to find a valid spanish VAT:\n"
470" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
471" - First 9 characters of 'conceptos' (La Caixa)\n"
472" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
473" 3) Unreconciled entries with the given amount.\n"
474"\n"
475" If no partner is found, the default account defined for the concept is "
476"used.\n"
477"\n"
478" The module also adds a wizard in Financial Management/Configuration/C43 "
479"bank statements to import the default statement concepts, that must be run "
480"after creating the spanish chart of accounts (l10n_es module).\n"
481" "
482msgstr ""
483"\n"
484"Módulo para a importación de extractos bancarios españois segundo a norma "
485"C43 da \"Asociación Española de la Banca\".\n"
486" \n"
487" Engade un asistente ós extractos bancarios para realiza-la importación. "
488"O ficheiro importado queda adxunto ó extracto bancario activo.\n"
489" Permite definir códigos contables por defecto para os conceptos "
490"definidos no ficheiro de extracto bancario C43.\n"
491"\n"
492" A procura de entradas a conciliar realízase da seguinte forma:\n"
493" 1) Entradas sen conciliar cunha cantidade e referencia "
494"especificadas. A referencia obtense dos campos 'concepto' ou 'referencia2' "
495"do extracto.\n"
496" 2) Entradas sen conciliar nas que figure o NIF da empresa e a "
497"cantidade.\n"
498" Para atopar un NIF español válido búscase nos seguintes campos:\n"
499" - Os primeiros 9 caracteres do campo 'referencia1' (Banc "
500"Sabadell)\n"
501" - Os primeiros 9 caracteres do campo 'conceptos' (La Caixa)\n"
502" - Os caracteres [21:30] do campo 'conceptos' (Caja Rural del "
503"Jalón)\n"
504" 3) Entradas sen conciliar nas que figure a cantidade.\n"
505"\n"
506" Se non se atopa ningunha empresa, emprégase a conta por defecto definida "
507"para o concepto.\n"
508"\n"
509" O módulo tamén engade un asistente en "
510"'Contabilidade/Configuración/Extractos bancarios C43' para importa-los "
511"conceptos por defecto dos extractos; isto débese executar despois de crea-lo "
512"plan español de contas (módulo 'l10n_es').\n"
513" "
514
515#. module: l10n_es_bank_statement
516#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
517#, python-format
518msgid "Anulación/Corrección"
519msgstr "Anulación/Corrección"
520
521#. module: l10n_es_bank_statement
522#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
523#, python-format
524msgid "Bank Statement"
525msgstr "Extracto bancario"
526
527#. module: l10n_es_bank_statement
528#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
529#, python-format
530msgid "Cheque gasolina"
531msgstr "Cheque gasolina"
532
533#. module: l10n_es_bank_statement
534#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
535#, python-format
536msgid "Info:"
537msgstr "Información:"
538
539#. module: l10n_es_bank_statement
540#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
541msgid "Reconcile by reference and amount"
542msgstr "Conciliar por referencia e cantidade"
543
544#. module: l10n_es_bank_statement
545#: view:l10n.es.extractos.import.wizard:0
546msgid "Import Wizard"
547msgstr "Asistente de importación"
548
549#. module: l10n_es_bank_statement
550#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
551#, python-format
552msgid "Remesa efectos"
553msgstr "Remesa efectos"
554
555#. module: l10n_es_bank_statement
556#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
557#: view:l10n.es.extractos.concepto:0
558msgid "C43 default accounts"
559msgstr "Contas por defecto C43"
560
561#. module: l10n_es_bank_statement
562#: view:l10n.es.bank.statement.import.c43.wizard:0
563#: view:l10n.es.extractos.import.wizard:0
564msgid "Cancel"
565msgstr "Cancelar"
566
567#. module: l10n_es_bank_statement
568#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
569#: field:l10n.es.extractos.concepto,company_id:0
570#: field:l10n.es.extractos.import.wizard,company_id:0
571#, python-format
572msgid "Company"
573msgstr "Compañía"
5740
=== removed file '___unported__/l10n_es_bank_statement/import_c43_file.py'
--- ___unported__/l10n_es_bank_statement/import_c43_file.py 2014-02-24 14:45:52 +0000
+++ ___unported__/l10n_es_bank_statement/import_c43_file.py 1970-01-01 00:00:00 +0000
@@ -1,492 +0,0 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
6# Jordi Esteve <jesteve@zikzakmedia.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# Alberto Luengo Cabanillas <alberto@pexego.es>
10#
11#
12# This program is free software: you can redistribute it and/or modify
13# it under the terms of the GNU Affero General Public License as published by
14# the Free Software Foundation, either version 3 of the License, or
15# (at your option) any later version.
16#
17# This program is distributed in the hope that it will be useful,
18# but WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20# GNU Affero General Public License for more details.
21#
22# You should have received a copy of the GNU Affero General Public License
23# along with this program. If not, see <http://www.gnu.org/licenses/>.
24#
25##############################################################################
26
27"""
28C43 file importation wizard for bank statements.
29"""
30from osv import fields,osv
31import wizard
32from openerp import pooler
33import base64
34import time
35import re
36from openerp.tools.translate import _
37
38class l10n_es_bank_statement_import_c43_wizard(osv.osv_memory):
39 """
40 C43 file importation wizard for bank statements.
41 """
42
43 def _process_record_11(self, cr, uid, st_data, line, context):
44 """
45 11 - Registro cabecera de cuenta (obligatorio)
46 """
47 #
48 # Add a new group to the statement groups
49 #
50 st_group = {}
51 st_data['groups'] = st_data.get('groups', [])
52 st_data['groups'].append(st_group)
53
54 #
55 # Set the group values
56 #
57 st_group.update({
58 'entidad':line[2:6],
59 'oficina': line[6:10],
60 'cuenta': line[10:20],
61 'fecha_ini': time.strftime('%Y-%m-%d', time.strptime(line[20:26], '%y%m%d')),
62 'fecha_fin': time.strftime('%Y-%m-%d', time.strptime(line[26:32], '%y%m%d')),
63 'divisa': line[47:50],
64 'modalidad': line[50:51], # 1,2 o 3
65 'nombre_propietario': line[51:77], # Nombre abreviado propietario cuenta
66 'saldo_ini': (float(line[33:45]) + (float(line[45:47]) / 100)) * (line[32:33] == '1' and -1 or 1),
67 'saldo_fin': 0,
68 'num_debe': 0,
69 'debe': 0,
70 'num_haber': 0,
71 'haber': 0,
72 '_debit_count': 0,
73 '_debit': 0,
74 '_credit_count': 0,
75 '_credit': 0,
76 '_balance': 0,
77 })
78
79 #
80 # Use the first group initial balance and date, as initial
81 # balance and date for the full statement.
82 #
83 if st_data.get('saldo_ini', None) is None:
84 st_data['saldo_ini'] = st_group['saldo_ini']
85 st_data['fecha_ini'] = st_group['fecha_ini']
86
87 # Update the record counter
88 st_data['_num_records'] = st_data.get('_num_records', 0) + 1
89
90 return st_group
91
92
93 def _process_record_22(self, cr, uid, st_data, line, context):
94 """
95 22 - Registro principal de movimiento (obligatorio)
96 """
97
98 #
99 # Add a new line to the statement lines
100 #
101 st_line = {}
102 st_data['lines'] = st_data.get('lines', [])
103 st_data['lines'].append(st_line)
104
105 #
106 # Set the line values
107 #
108 st_line.update({
109 'of_origen': line[6:10],
110 'fecha_opera': time.strftime('%Y-%m-%d', time.strptime(line[10:16], '%y%m%d')),
111 'fecha_valor': time.strftime('%Y-%m-%d', time.strptime(line[16:22], '%y%m%d')),
112 'concepto_c': line[22:24],
113 'concepto_p': line[24:27],
114 'importe': (float(line[28:40]) + (float(line[40:42]) / 100)) * (line[27:28] == '1' and -1 or 1),
115 'num_documento': line[41:52],
116 'referencia1': line[52:64],
117 'referencia2': line[64:],
118 'conceptos': '',
119 })
120
121 #
122 # Update the (last) group totals
123 #
124 st_group = st_data['groups'][-1]
125 if st_line['importe'] < 0:
126 st_group['_debit_count'] += 1
127 st_group['_debit'] -= st_line['importe']
128 else:
129 st_group['_credit_count'] += 1
130 st_group['_credit'] += st_line['importe']
131
132 # Update the record counter
133 st_data['_num_records'] += 1
134
135 return st_line
136
137
138 def _process_record_23(self, cr, uid, st_data, line, context):
139 """
140 23 - Registros complementarios de concepto (opcionales y hasta un máximo de 5)
141 """
142 #
143 # Update the current (last) line
144 #
145 st_line = st_data['lines'][-1]
146 st_line['conceptos'] += line[4:] # Se han unido los dos conceptos line[4:42]+line[42:] en uno
147
148 # Update the record counter
149 st_data['_num_records'] += 1
150
151 return st_line
152
153
154 def _process_record_24(self, cr, uid, st_data, line, context):
155 """
156 24 - Registro complementario de información de equivalencia del importe (opcional y sin valor contable)
157 """
158 #
159 # Update the current (last) line
160 #
161 st_line = st_data['lines'][-1]
162 st_line['divisa_eq'] = line[4:7]
163 st_line['importe_eq'] = float(line[7:19]) + (float(line[19:21]) / 100)
164
165 # Update the record counter
166 st_data['_num_records'] += 1
167
168 return st_line
169
170
171 def _process_record_33(self, cr, uid, st_data, line, context):
172 """
173 33 - Registro final de cuenta
174 """
175 #
176 # Update the (last) group
177 #
178 st_group = st_data['groups'][-1]
179 st_group.update({
180 'num_debe': st_group['num_debe'] + int(line[20:25]),
181 'debe': st_group['debe'] + float(line[25:37]) + (float(line[37:39]) / 100),
182 'num_haber': st_group['num_haber'] + int(line[39:44]),
183 'haber': st_group['haber'] + float(line[44:56]) + (float(line[56:58]) / 100),
184 'saldo_fin': st_group['saldo_fin'] + (float(line[59:71]) + (float(line[71:73]) / 100)) * (line[58:59] == '1' and -1 or 1),
185 '_balance': st_group['saldo_ini'] + st_group['_credit'] - st_group['_debit']
186 })
187
188 # Update the record counter
189 st_data['_num_records'] += 1
190
191 #
192 # Group level checks
193 #
194 if st_group['num_debe'] != st_group['_debit_count']:
195 raise osv.except_osv(_('Error in C43 file'), _('Number of debit records does not agree with the defined in the last record of account.'))
196 if st_group['num_haber'] != st_group['_credit_count']:
197 raise osv.except_osv(_('Error in C43 file'), _('Number of credit records does not agree with the defined in the last record of account.'))
198 if abs(st_group['debe'] - st_group['_debit']) > 0.005:
199 raise osv.except_osv(_('Error in C43 file'), _('Debit amount does not agree with the defined in the last record of account.'))
200 if abs(st_group['haber'] - st_group['_credit']) > 0.005:
201 raise osv.except_osv(_('Error in C43 file'), _('Credit amount does not agree with the defined in the last record of account.'))
202 # Note: Only perform this check if the balance defined on the file record,
203 # as some banks may leave it empty (zero) on some circunstances
204 # (like CaixaNova extracts for VISA credit cards).
205 if st_group['saldo_fin'] != 0.0 \
206 and abs(st_group['saldo_fin'] - st_group['_balance']) > 0.005:
207 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.'))
208
209 return st_group
210
211
212 def _process_record_88(self, cr, uid, st_data, line, context):
213 """
214 88 - Registro de fin de archivo
215 """
216 # We will use the last group final balance and date, as final
217 # balance and date for the full statement.
218 st_group = st_data['groups'][-1]
219
220 # Update the statement
221 st_data.update({
222 'num_registros': int(line[20:26]),
223 'fecha_fin': st_group['fecha_fin'],
224 'saldo_fin': st_group['saldo_fin'],
225 })
226
227 #
228 # File level checks
229 #
230 if st_data['num_registros'] != st_data['_num_records']:
231 raise osv.except_osv(_('Error in C43 file'), _('Number of records does not agree with the defined in the last record.'))
232
233 return st_data
234
235
236 def _load_c43_file(self, cr, uid, file_contents, context=None):
237 """
238 Reads a c43 file and returns a dictionary containing the file data:
239
240 _num_records: Number of records really counted
241 num_registros: Number of records declared on the file
242 fecha_fin: Final date (as the last record group)
243 saldo_fin: Final balance (from the last record group)
244 groups: Info about each of the groups (account groups):
245 _debit_count
246 _debit
247 _credit_count
248 _credit
249 entidad
250 oficina
251 cuenta
252 fecha_ini
253 fecha_fin
254 saldo_ini
255 saldo_fin
256 divisa
257 modalidad
258 nombre_propietario
259 lines: Info about each of the moves
260 of_origen
261 fecha_opera
262 fecha_valor
263 concepto_c
264 concepto_p
265 importe
266 num_documento
267 referencia1
268 referencia2
269 conceptos
270 divisa_eq
271 importe_eq
272 """
273 if context is None:
274 context = {}
275
276 #
277 # st_data will contain the data read from the file, plus the internal
278 # counters used for checking.
279 #
280 st_data = {
281 '_num_records': 0, # Number of records really counted
282 'num_registros': 0, # Number of records declared on the file
283 'fecha_fin': None, # Final date (as the last record group)
284 'saldo_fin': None, # Final balance (from the last record group)
285 'groups': [], # Info about each of the groups (account groups)
286 'lines': [], # Info about each of the moves
287 }
288
289 #
290 # Read the C43 file
291 #
292 decoded_file_contents = base64.decodestring(file_contents)
293 try:
294 unicode(decoded_file_contents, 'utf8')
295 except Exception, ex: # Si no puede convertir a UTF-8 es que debe estar en ISO-8859-1: Lo convertimos
296 decoded_file_contents = unicode(decoded_file_contents, 'iso-8859-1').encode('utf-8')
297
298 #
299 # Process the file lines
300 #
301 for line in decoded_file_contents.split("\n"):
302 if len(line) == 0:
303 continue
304 if line[0:2] == '11': # Registro cabecera de cuenta (obligatorio)
305 self._process_record_11(cr, uid, st_data, line, context)
306 elif line[0:2] == '22': # Registro principal de movimiento (obligatorio)
307 self._process_record_22(cr, uid, st_data, line, context)
308 elif line[0:2] == '23': # Registros complementarios de concepto (opcionales y hasta un máximo de 5)
309 self._process_record_23(cr, uid, st_data, line, context)
310 elif line[0:2] == '24': # Registro complementario de información de equivalencia del importe (opcional y sin valor contable)
311 self._process_record_24(cr, uid, st_data, line, context)
312 elif line[0:2] == '33': # Registro final de cuenta
313 self._process_record_33(cr, uid, st_data, line, context)
314 elif line[0:2] == '88': # Registro de fin de archivo
315 self._process_record_88(cr, uid, st_data, line, context)
316 elif ord(line[0]) == 26: # CTRL-Z (^Z), is often used as an end-of-file marker in DOS
317 pass
318 else:
319 raise osv.except_osv(_('Error in C43 file'), _('Record type %s is not valid.') % line[0:2])
320
321 return st_data
322
323 #
324 # Main action --------------------------------------------------------------
325 #
326 def import_action(self, cr, uid, ids, context=None):
327 """
328 Imports the C43 file selected by the user on the wizard form,
329 into the current bank statement statement.
330 """
331 if context is None:
332 context = {}
333
334 pool = pooler.get_pool(cr.dbname)
335 statement_facade = pool.get('account.bank.statement')
336 statement_line_facade = pool.get('account.bank.statement.line')
337 concepto_facade = pool.get('l10n.es.extractos.concepto')
338
339 for c43_wizard in self.browse(cr,uid,ids,context):
340 statement_id = context['active_id']
341
342 statement = statement_facade.browse(cr, uid, statement_id)
343 if statement.state == 'confirm':
344 raise osv.except_osv(_('Error!'), _('The bank statement is alredy confirmed. It can not be imported from file.'))
345
346 # Load the file data into the st_data dictionary
347 st_data = self._load_c43_file(cr, uid, c43_wizard.file, context=context)
348
349 #
350 # Process each movement line from the statement data
351 #
352 reconciled_move_lines_ids = []
353 for st_line in st_data['lines']:
354 #
355 # Search the 'concepto' for this line
356 #
357 concepto_ids = concepto_facade.search(cr, uid, [
358 ('code', '=', st_line['concepto_c']),
359 ('company_id', '=',statement.company_id.id),
360 ], context=context)
361 concepto = None
362 if concepto_ids:
363 concepto = concepto_facade.browse(cr, uid, concepto_ids[0], context=context)
364
365 #
366 # Basic statement line values
367 #
368 note = st_line['conceptos'].strip()
369 ref = re.sub(' +', ' ', note).strip()
370 values = {
371 'statement_id': statement_id,
372 'name': concepto and concepto.name or '-',
373 'date': st_line['fecha_opera'],
374 'amount': st_line['importe'],
375 'ref': ref,
376 'note': note,
377 }
378
379 if st_line['concepto_c'] in ['03']: # Recibo/Letra domiciliado
380 values['type'] = 'supplier'
381 elif st_line['concepto_c'] in ['14']: # Devolución/Impagado
382 values['type'] = 'customer'
383 elif st_line['concepto_c'] in ['05', '06', '07', '08', '09', '10', '11', '12', '13', '15', '16', '17', '98', '99']:
384 values['type'] = 'general'
385 else:
386 values['type'] = (st_line['importe'] >= 0 and 'customer') or 'supplier'
387
388 #
389 # Search for lines or payment orders to reconcile against this line
390 #
391 line2reconcile = None
392
393 maturity_date = st_line['fecha_valor']
394 max_date_diff = c43_wizard.reco_max_days * 3600*24
395
396 account_id = concepto and concepto.account_id.id
397 partner = None
398
399 if values['type'] in ['customer', 'supplier']:
400 #
401 # Use partner accounts
402 #
403 partner = statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia1'][:9], context) or \
404 statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia1'][-9:], context) or \
405 statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia2'][:9], context) or \
406 statement_line_facade._find_partner_by_line_vat_number(cr, uid, st_line['referencia2'][-9:], context)
407 if partner:
408 # Use the partner accounts
409 if values['type'] == 'customer':
410 account_id = partner.property_account_receivable and partner.property_account_receivable.id or account_id
411 else:
412 account_id = partner.property_account_payable and partner.property_account_payable.id or account_id
413 else:
414 # Use the generic partner accounts
415 default_account_receivable_id, default_account_payable_id = statement_line_facade._get_default_partner_account_ids(cr, uid, context)
416 if values['type'] == 'customer':
417 account_id = default_account_receivable_id or account_id
418 else:
419 account_id = default_account_payable_id or account_id
420
421 if not account_id:
422 raise osv.except_osv(_('Error'), _('A default account has not been defined for the C43 concept ') + st_line['concepto_c'] )
423
424 values.update({
425 'account_id': account_id,
426 'partner_id': partner and partner.id or None,
427 'voucher_id': None,
428 })
429
430 line_id = statement_line_facade.create(cr, uid, values, context=context)
431
432 # Store extra information needed to search possible move lines to reconcile
433 info = {}
434 for key in ('conceptos', 'referencia1', 'referencia2'):
435 info[key] = st_line[key]
436 pool.get('account.bank.statement.line.data').create_from_dictionary(cr, uid, line_id, info, context)
437
438 # It's a bit slow doing this process by storing 'search_by' in the database each time
439 # but simplifies the API and at the same time makes 'search_by' to be stored as the
440 # last search type. The one that found the move line to reconcile.
441 found = False
442 for search_by in ('reference_and_amount','vat_and_amount','amount','payment_order','rules'):
443 # Check if the 'search_by' type of search should be applied.
444 if not getattr(c43_wizard, 'reco_%s' % search_by):
445 continue
446 pool.get('account.bank.statement.line').write(cr, uid, [line_id], {
447 'search_by': search_by,
448 }, context)
449 result = pool.get('account.bank.statement.line').reconcile_search(cr, uid, [line_id], context, maturity_date, max_date_diff)
450 if result[line_id] or search_by == 'payment_order':
451 found = True
452 break
453
454 if not found:
455 # If no move line was found, set 'search_by' field to 'none'
456 pool.get('account.bank.statement.line').write(cr, uid, [line_id], {
457 'search_by': 'none',
458 }, context)
459
460
461 #
462 # Update the statement
463 #
464 statement_facade.write(cr, uid, [statement_id], {
465 'date': st_data['fecha_fin'],
466 'balance_start': st_data['saldo_ini'],
467 'balance_end_real': st_data['saldo_fin'],
468 }, context=context)
469
470 # Attach the C43 file to the current statement
471 data = base64.encodestring( c43_wizard.file )
472 res = statement_facade._attach_file_to_statement(cr, uid, data, statement_id, _('Bank Statement'), _('bank-statement.txt') )
473
474 return {}
475
476
477 _name = 'l10n.es.bank.statement.import.c43.wizard'
478
479 _columns = {
480 'file': fields.binary('Bank Statements File', required=True, filename='file_name'),
481 'file_name': fields.char('Bank Statements File', size=64, readonly=True),
482 'reco_reference_and_amount': fields.boolean('Reconcile by reference and amount'),
483 'reco_vat_and_amount' : fields.boolean('Reconcile by VAT number and amount'),
484 'reco_amount' : fields.boolean('Reconcile by amount'),
485 'reco_rules' : fields.boolean('Statement Line Rules'),
486 'reco_payment_order': fields.boolean('Reconcile payment orders by total amount'),
487 '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')
488 }
489
490l10n_es_bank_statement_import_c43_wizard()
491
492# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4930
=== removed file '___unported__/l10n_es_bank_statement/import_c43_file_view.xml'
--- ___unported__/l10n_es_bank_statement/import_c43_file_view.xml 2011-03-27 01:51:59 +0000
+++ ___unported__/l10n_es_bank_statement/import_c43_file_view.xml 1970-01-01 00:00:00 +0000
@@ -1,47 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <!-- Import C43 file wizard -->
6 <record model="ir.ui.view" id="c43_file_import_wizard">
7 <field name="name">l10n.es.bank.statement.c43.import.form</field>
8 <field name="model">l10n.es.bank.statement.import.c43.wizard</field>
9 <field name="type">form</field>
10 <field name="arch" type="xml">
11 <form string="Bank statements import according to norm C43">
12 <group colspan="4">
13 <label string="Bank Statements File:"/>
14 <newline/>
15 <field name="file_name" nolabel="1"/>
16 <field name="file" filename="file_name" nolabel="1"/>
17 </group>
18 <group colspan="4" col="1">
19 <separator string="Automatic reconciliation options"/>
20 <field name="reco_reference_and_amount"/>
21 <field name="reco_vat_and_amount"/>
22 <field name="reco_amount"/>
23 <field name="reco_payment_order"/>
24 <field name="reco_rules"/>
25 <field name="reco_max_days"/>
26 </group>
27 <button icon="gtk-cancel" special="cancel" string="Cancel" type="object"/>
28 <button icon="gtk-ok" name="import_action" string="Import" type="object"/>
29 </form>
30 </field>
31 </record>
32
33 <record id="action_c43_file_import_wizard" model="ir.actions.act_window">
34 <field name="name">Import C43 Files Wizard</field>
35 <field name="type">ir.actions.act_window</field>
36 <field name="res_model">l10n.es.bank.statement.import.c43.wizard</field>
37 <field name="view_type">form</field>
38 <field name="view_mode">form</field>
39 <field name="target">new</field>
40 </record>
41
42 <act_window id="action_c43_file_import_wizard"
43 key2="client_action_multi" name="Import Bank Statement"
44 res_model="l10n.es.bank.statement.import.c43.wizard" src_model="account.bank.statement"
45 view_mode="form" target="new" view_type="form" groups="account.group_account_manager"/>
46 </data>
47</openerp>
480
=== removed file '___unported__/l10n_es_bank_statement/import_conceptos.py'
--- ___unported__/l10n_es_bank_statement/import_conceptos.py 2014-02-24 14:45:52 +0000
+++ ___unported__/l10n_es_bank_statement/import_conceptos.py 1970-01-01 00:00:00 +0000
@@ -1,161 +0,0 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
6# Jordi Esteve <jesteve@zikzakmedia.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# $Id$
10#
11# This program is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Affero General Public License as published by
13# the Free Software Foundation, either version 3 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU Affero General Public License for more details.
20#
21# You should have received a copy of the GNU Affero General Public License
22# along with this program. If not, see <http://www.gnu.org/licenses/>.
23#
24##############################################################################
25
26"""
27C43 format concepts and extension of the bank statement lines.
28"""
29
30from osv import osv, fields
31from openerp import tools
32import os
33from openerp.tools.translate import _
34from xml.dom import minidom
35
36
37
38class l10n_es_extractos_import_wizard(osv.osv_memory):
39 """
40 Wizard to import the XML file defining the statement concepts (concepto)
41 """
42
43 def _get_available_user_companies(self, cr, uid, context={}):
44 """
45 Obtiene la compañía del usuario activo
46 """
47 current_user = self.pool.get('res.users').browse(cr,uid,uid)
48 result = [x.id for x in current_user.company_ids]
49 return result
50
51 def action_import(self, cr, uid, ids, context=None):
52 for wiz in self.browse(cr, uid, ids, context):
53 concept_obj = self.pool.get('l10n.es.extractos.concepto')
54 account_obj = self.pool.get('account.account')
55 concept_ids_list = []
56 root_uid = 1
57 company_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid, [('company_id','=', wiz.company_id.id)]))
58 all_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid, []))
59 if company_concepts:
60 raise osv.except_osv(_("Info:"), _("Concepts for this company already imported..."))
61 elif all_concepts:
62 #Duplicamos los de una compañia (controlando que los planes contables no tengan el mismo numero de digitos) y asignamos nueva compañía
63 any_concepts = concept_obj.browse(cr, root_uid, concept_obj.search(cr, root_uid,[('company_id','=', all_concepts[0].company_id.id)]))
64 for concept in any_concepts:
65 account_code = "%s%%00"%(concept.account_id.code[0:4])
66 company_account_id = account_obj.search(cr, root_uid, [('company_id','=',wiz.company_id.id), ('code','like',account_code)])
67 company_account_id = company_account_id and company_account_id[0] or False
68 vals_concept = {
69 'name': concept.name,
70 'code': concept.code,
71 'account_id': company_account_id,
72 'company_id': wiz.company_id.id
73 }
74 concept_id = concept_obj.create(cr,uid, vals_concept)
75 concept_ids_list.append(concept_id)
76
77 #Devolvemos la vista lista de los conceptos creados...
78 concept_view_list_id = self.pool.get('ir.ui.view').search(cr, root_uid, [('name', '=', 'l10n.es.extractos.concepto.tree')])[0]
79 return {
80 'name' : _('C43 Created Concepts'),
81 'type' : 'ir.actions.act_window',
82 'res_model' : 'l10n.es.extractos.concepto',
83 'view_type' : 'form',
84 'view_mode' : 'tree,form',
85 'domain' : "[('id', 'in', %s)]" % concept_ids_list,
86 'view_id' : False,
87 'views': [(concept_view_list_id, 'tree'), (False, 'form'), (False, 'calendar'), (False, 'graph')],
88 }
89
90 else:
91 #Creamos nuevos registros...
92 data = [
93 ('01', _('Reintegro/Talón'), '4300%00'),
94 ('02', _('Ingreso/Abonaré'), '4100%00'),
95 ('03', _('Recibo/Letra domiciliado'), '4100%00'),
96 ('04', _('Transf./Giro/Cheque'), '4300%00'),
97 ('05', _('Amortización préstamo'), '6800%00'),
98 ('06', _('Remesa efectos'), '4010%00'),
99 ('07', _('Subscripción/Canje'), '5700%00'),
100 ('08', _('Amortización'), '6800%00'),
101 ('09', _('Compra/Venta valores'), '2510%00'),
102 ('10', _('Cheque gasolina'), '5700%00'),
103 ('11', _('Cajero automático'), '5700%00'),
104 ('12', _('Tarjeta crédito/débito'), '5700%00'),
105 ('13', _('Operaciones extranjero'), '5730%00'),
106 ('14', _('Devolución/Impagado'), '4300%00'),
107 ('15', _('Nómina/Seg. social'), '6400%00'),
108 ('16', _('Timbre/Corretaje/Póliza'), '6690%00'),
109 ('17', _('Intereses/Comisión/Gastos/Custodia'), '6690%00'),
110 ('98', _('Anulación/Corrección'), '5720%00'),
111 ('99', _('Varios'), '5720%00'),
112 ]
113 concept_ids = []
114 for item in data:
115
116 account_ids = self.pool.get('account.account').search(cr, uid, [
117 ('company_id', '=', wiz.company_id.id),
118 ('code', 'like', item[2]),
119 ], context=context)
120 if not account_ids:
121 raise osv.except_osv(_('Import Error'), _('Could not import concept %(concept)s because no matching account was found for expression %(expression)s.') % {
122 'concept': item[0],
123 'expression': item[2],
124 })
125
126 concept_id = self.pool.get('l10n.es.extractos.concepto').create(cr, uid, {
127 'code': item[0],
128 'name': item[1],
129 'account_id': account_ids[0],
130 'company_id': wiz.company_id.id,
131 }, context)
132
133 concept_ids.append( concept_id )
134
135
136 #Devolvemos la vista lista de los usuarios modificados...
137 concept_view_list_id = self.pool.get('ir.ui.view').search(cr, root_uid, [('name', '=', 'l10n.es.extractos.concepto.tree')])[0]
138 return {
139 'name' : _('C43 Created Concepts'),
140 'type' : 'ir.actions.act_window',
141 'res_model' : 'l10n.es.extractos.concepto',
142 'view_type' : 'form',
143 'view_mode' : 'tree,form',
144 'view_id' : False,
145 'views': [(concept_view_list_id, 'tree'), (False, 'form'), (False, 'calendar'), (False, 'graph')],
146 'domain': [('id', 'in', concept_ids)]
147 }
148
149 _name = 'l10n.es.extractos.import.wizard'
150
151 _columns = {
152 'company_id': fields.many2one('res.company', _('Company'), required=True, context={'user_preference': True})
153 }
154
155 _defaults = {
156 'company_id': lambda self, cr, uid, context: self._get_available_user_companies(cr, uid, context),
157 }
158
159l10n_es_extractos_import_wizard()
160
161# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
1620
=== removed directory '___unported__/l10n_es_bank_statement/security'
=== removed file '___unported__/l10n_es_bank_statement/security/concepto_security.xml'
--- ___unported__/l10n_es_bank_statement/security/concepto_security.xml 2011-03-27 02:15:48 +0000
+++ ___unported__/l10n_es_bank_statement/security/concepto_security.xml 1970-01-01 00:00:00 +0000
@@ -1,14 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3<data noupdate="1">
4
5 <!-- Multi - Company Rules -->
6 <record model="ir.rule" id="c43_concept_comp_rule">
7 <field name="name">C43 File Concepts multi-company</field>
8 <field name="model_id" ref="model_l10n_es_extractos_concepto"/>
9 <field name="global" eval="True"/>
10 <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
11 </record>
12
13</data>
14</openerp>
150
=== removed file '___unported__/l10n_es_bank_statement/security/ir.model.access.csv'
--- ___unported__/l10n_es_bank_statement/security/ir.model.access.csv 2011-03-27 01:51:59 +0000
+++ ___unported__/l10n_es_bank_statement/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
1"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2"access_extracto_bancario_concepto","extracto_bancario_concepto","model_l10n_es_extractos_concepto","account.group_account_user",1,0,0,0
3"access_extracto_bancario_concepto_manager","extracto_bancario_concepto manager","model_l10n_es_extractos_concepto","account.group_account_manager",1,1,1,1
40
=== renamed directory '___unported__/l10n_es_bank_statement' => 'l10n_es_bank_statement'
=== modified file 'l10n_es_bank_statement/__init__.py'
--- ___unported__/l10n_es_bank_statement/__init__.py 2011-08-29 15:11:11 +0000
+++ l10n_es_bank_statement/__init__.py 2014-06-11 10:49:43 +0000
@@ -1,18 +1,13 @@
1# -*- coding: utf-8 -*-1# -*- coding: utf-8 -*-
2##############################################################################2##############################################################################
3#3#
4# OpenERP, Open Source Management Solution4# Copyright (c) All rights reserved:
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Jordi Esteve <jesteve@zikzakmedia.com>6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
10# Alberto Luengo Cabanillas <alberto@pexego.es>
11# $Id$
12#7#
13# This program is free software: you can redistribute it and/or modify8# This program is free software: you can redistribute it and/or modify
14# it under the terms of the GNU Affero General Public License as published by9# it under the terms of the GNU Affero General Public License as published
15# the Free Software Foundation, either version 3 of the License, or10# by the Free Software Foundation, either version 3 of the License, or
16# (at your option) any later version.11# (at your option) any later version.
17#12#
18# This program is distributed in the hope that it will be useful,13# This program is distributed in the hope that it will be useful,
@@ -24,14 +19,4 @@
24# along with this program. If not, see <http://www.gnu.org/licenses/>.19# along with this program. If not, see <http://www.gnu.org/licenses/>.
25#20#
26##############################################################################21##############################################################################
2722from . import models
28"""
29Spanish localization of the bank statements.
30"""
31
32import concepto
33import account_bank_statement
34import import_conceptos
35import import_c43_file
36
37
3823
=== modified file 'l10n_es_bank_statement/__openerp__.py'
--- ___unported__/l10n_es_bank_statement/__openerp__.py 2013-01-28 10:29:06 +0000
+++ l10n_es_bank_statement/__openerp__.py 2014-06-11 10:49:43 +0000
@@ -1,18 +1,13 @@
1# -*- coding: utf-8 -*-1# -*- coding: utf-8 -*-
2##############################################################################2##############################################################################
3#3#
4# OpenERP, Open Source Management Solution4# Copyright (c) All rights reserved:
5# Copyright (c) 2009 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Jordi Esteve <jesteve@zikzakmedia.com>6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7# Copyright (c) 2010 Pexego Sistemas Informáticos. All Rights Reserved
8# Borja López Soilán <borjals@pexego.es>
9# Copyright (c) 2011 Pexego Sistemas Informáticos. All Rights Reserved
10# Alberto Luengo Cabanillas <alberto@pexego.es>
11# $Id$
12#7#
13# This program is free software: you can redistribute it and/or modify8# This program is free software: you can redistribute it and/or modify
14# it under the terms of the GNU Affero General Public License as published by9# it under the terms of the GNU Affero General Public License as published
15# the Free Software Foundation, either version 3 of the License, or10# by the Free Software Foundation, either version 3 of the License, or
16# (at your option) any later version.11# (at your option) any later version.
17#12#
18# This program is distributed in the hope that it will be useful,13# This program is distributed in the hope that it will be useful,
@@ -26,47 +21,34 @@
26##############################################################################21##############################################################################
2722
28{23{
29 "name" : "Spanish Bank Statements Importation",24 "name" : "Extractos bancarios españoles (Norma 43)",
30 "version" : "2.0",25 "version" : "3.0",
31 "author" : "Zikzakmedia, Pexego, Acysos, NaN·tic",26 "author" : "Spanish localization team",
27 "website" : "https://launchpad.net/openerp-spain",
32 "category" : "Localisation/Accounting",28 "category" : "Localisation/Accounting",
33 "description" : """29 "description" : """
34Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.30Extractos bancarios españoles (Norma 43)
35 31========================================
36 Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.32
37 It allows to define default accounting codes for the concepts defined in the C43 bank statement file.33Importación y tratamiento de los extractos bancarios españoles que siguen la
3834norma/cuaderno 43 de la 'Asociación Española de la Banca'. Puede consultarse la
39 The search of the entries to reconcile (and partner) is done like this:35especificación del formato aquí_.
40 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.36
41 2) Unreconciled entries with (a partner with) the given VAT number and amount.37.. _aquí: https://docs.bankinter.com/stf/plataformas/empresas/gestion/ficheros/formatos_fichero/norma_43_castellano.pdf
42 These fields are tested to find a valid spanish VAT:38
43 - First 9 characters of 'referencia1' (Banc Sabadell)39**AVISO:** Este módulo requiere de varios módulos del repositorio de código:
44 - First 9 characters of 'conceptos' (La Caixa)40
45 - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)41https://code.launchpad.net/~banking-addons-team/banking-addons/bank-statement-reconcile-70
46 3) Unreconciled entries with the given amount.
47
48 If no partner is found, the default account defined for the concept is used.
49
50 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).
51 """,42 """,
52 "website" : "www.zikzakmedia.com / www.pexego.es / www.acysos.com / www.nan-tic.com",
53 "license" : "AGPL-3",43 "license" : "AGPL-3",
54 "depends" : [44 "depends" : [
55 "account",
56 "account_voucher",
57 "l10n_es",45 "l10n_es",
58 "nan_account_bank_statement",46 'account_statement_base_import',
59 ],47 'account_statement_base_completion',
60 "init_xml" : [],48 ],
61 "demo_xml" : [],49 "data" : [
62 "update_xml" : [50 "views/account_bank_statement_view.xml",
63 "extractos_view.xml",51 "data/account_statement_completion_rule_data.xml",
64 "import_c43_file_view.xml",52 ],
65 "security/ir.model.access.csv",53 "installable" : True,
66 "security/concepto_security.xml"
67 ],
68 "installable" : False,
69 "active" : False,
70}54}
71
72# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
7355
=== added file 'l10n_es_bank_statement/data/account_statement_completion_rule_data.xml'
--- l10n_es_bank_statement/data/account_statement_completion_rule_data.xml 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/data/account_statement_completion_rule_data.xml 2014-06-11 10:49:43 +0000
@@ -0,0 +1,18 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3<data noupdate="1">
4
5 <record id="bank_statement_completion_rule_caixabank" model="account.statement.completion.rule">
6 <field name="name">Casar acorde a las reglas C43 de CaixaBank</field>
7 <field name="sequence">10</field>
8 <field name="function_to_call">get_from_caixabank_rules</field>
9 </record>
10
11 <record id="bank_statement_completion_rule_generic" model="account.statement.completion.rule">
12 <field name="name">Casar acorde a las reglas genéricas C43</field>
13 <field name="sequence">99</field>
14 <field name="function_to_call">get_from_generic_c43_rules</field>
15 </record>
16
17</data>
18</openerp>
019
=== added directory 'l10n_es_bank_statement/doc'
=== added file 'l10n_es_bank_statement/doc/norma_43_castellano.pdf'
1Binary 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 differ20Binary 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
=== modified file 'l10n_es_bank_statement/i18n/es.po'
--- ___unported__/l10n_es_bank_statement/i18n/es.po 2014-03-04 08:27:58 +0000
+++ l10n_es_bank_statement/i18n/es.po 2014-06-11 10:49:43 +0000
@@ -2,581 +2,221 @@
2# This file contains the translation of the following modules:2# This file contains the translation of the following modules:
3# * l10n_es_bank_statement3# * l10n_es_bank_statement
4#4#
5# Albert Cervera i Areny <albert@nan-tic.com>, 2011.
6msgid ""5msgid ""
7msgstr ""6msgstr ""
8"Project-Id-Version: OpenERP Server 6.1-dev\n"7"Project-Id-Version: OpenERP Server 7.0\n"
9"Report-Msgid-Bugs-To: support@openerp.com\n"8"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2011-03-27 02:13+0000\n"9"POT-Creation-Date: 2014-06-09 22:44+0000\n"
11"PO-Revision-Date: 2013-10-11 23:33+0000\n"10"PO-Revision-Date: 2014-06-10 01:00+0100\n"
12"Last-Translator: Albert Cervera i Areny - http://www.NaN-tic.com <albert@nan-"11"Last-Translator: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>\n"
13"tic.com>\n"12"Language-Team: \n"
14"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
15"MIME-Version: 1.0\n"13"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"14"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"15"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2014-03-04 08:27+0000\n"16"Plural-Forms: \n"
19"X-Generator: Launchpad (build 16948)\n"17"X-Generator: Poedit 1.5.4\n"
20"Language: \n"18
2119#. module: l10n_es_bank_statement
22#. module: l10n_es_bank_statement20#: code:addons/l10n_es_bank_statement/models/c43_account_statement_profile.py:33
23#: code:addons/l10n_es_bank_statement/import_conceptos.py:10921#, python-format
24#, python-format22msgid "AEB C43 standard"
25msgid "Intereses/Comisión/Gastos/Custodia"23msgstr "Estándar AEB C43"
26msgstr "Intereses/Comisión/Gastos/Custodia"24
2725#. module: l10n_es_bank_statement
28#. module: l10n_es_bank_statement26#: selection:account.bank.statement.line,c43_concept:0
29#: code:addons/l10n_es_bank_statement/import_conceptos.py:10127msgid "Amortización préstamo"
30#, python-format28msgstr "Amortización préstamo"
29
30#. module: l10n_es_bank_statement
31#: selection:account.bank.statement.line,c43_concept:0
32msgid "Anulación/Corrección"
33msgstr "Anulación/Corrección"
34
35#. module: l10n_es_bank_statement
36#: code:_description:0
37#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
38#, python-format
39msgid "Bank Statement Line"
40msgstr "Línea de extracto bancario"
41
42#. module: l10n_es_bank_statement
43#: field:account.bank.statement.line,c43_concept:0
44msgid "C43 concept"
45msgstr "Concepto C43"
46
47#. module: l10n_es_bank_statement
48#: selection:account.bank.statement.line,c43_concept:0
49msgid "Cajero automático"
50msgstr "Cajero automático"
51
52#. module: l10n_es_bank_statement
53#: selection:account.bank.statement.line,c43_concept:0
54msgid "Cheque gasolina"
55msgstr "Cheque gasolina"
56
57#. module: l10n_es_bank_statement
58#: selection:account.bank.statement.line,c43_concept:0
31msgid "Compra/Venta valores"59msgid "Compra/Venta valores"
32msgstr "Compra/Venta valores"60msgstr "Compra/Venta valores"
3361
34#. module: l10n_es_bank_statement62#. module: l10n_es_bank_statement
35#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto63#: code:addons/l10n_es_bank_statement/models/c43_parser.py:128
36msgid "C43 codes"64#, python-format
37msgstr "Códigos C43"65msgid "Credit amount doesn't match with the defined in the last record of account."
3866msgstr "El importe del haber no casa con el definido con el definido en el último registro de la cuenta."
39#. module: l10n_es_bank_statement67
40#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:068#. module: l10n_es_bank_statement
41msgid "Reconcile by amount"69#: code:addons/l10n_es_bank_statement/models/c43_parser.py:124
42msgstr "Conciliar por cantidad"70#, python-format
4371msgid "Debit amount doesn't match with the defined in the last record of account."
44#. module: l10n_es_bank_statement72msgstr "El importe del debe no casa con el definido con el definido en el último registro de la cuenta."
45#: code:addons/l10n_es_bank_statement/import_c43_file.py:46973
46#, python-format74#. module: l10n_es_bank_statement
47msgid "bank-statement.txt"75#: selection:account.bank.statement.line,c43_concept:0
48msgstr "bank-statement.txt"
49
50#. module: l10n_es_bank_statement
51#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
52#, python-format
53msgid "Nómina/Seg. social"
54msgstr "Nómina/Seg. social"
55
56#. module: l10n_es_bank_statement
57#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
58msgid "Reconcile by VAT number and amount"
59msgstr "Conciliar por número de CIF y cantidad"
60
61#. module: l10n_es_bank_statement
62#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
63#, python-format
64msgid "Ingreso/Abonaré"
65msgstr "Ingreso/Abonaré"
66
67#. module: l10n_es_bank_statement
68#: field:l10n.es.extractos.concepto,account_id:0
69msgid "Account associated to the concept"
70msgstr "Cuenta asociada al concepto"
71
72#. module: l10n_es_bank_statement
73#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
74#, python-format
75msgid "Amortización préstamo"
76msgstr "Amortización préstamo"
77
78#. module: l10n_es_bank_statement
79#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
80#, python-format
81msgid "Search by references"
82msgstr "Search by references"
83
84#. module: l10n_es_bank_statement
85#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
86msgid "Spanish Bank Statements Importation"
87msgstr "Importación de Extractos Bancarios Españoles"
88
89#. module: l10n_es_bank_statement
90#: field:l10n.es.bank.statement.import.c43.wizard,file:0
91#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
92msgid "Bank Statements File"
93msgstr "Extracto bancario"
94
95#. module: l10n_es_bank_statement
96#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
97msgid "Import Bank Statement"
98msgstr "Importar Extracto Bancario"
99
100#. module: l10n_es_bank_statement
101#: view:l10n.es.bank.statement.import.c43.wizard:0
102#: view:l10n.es.extractos.import.wizard:0
103msgid "Import"
104msgstr "Importar"
105
106#. module: l10n_es_bank_statement
107#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
108#, python-format
109msgid "Devolución/Impagado"76msgid "Devolución/Impagado"
110msgstr "Devolución/Impagado"77msgstr "Devolución/Impagado"
11178
112#. module: l10n_es_bank_statement79#. module: l10n_es_bank_statement
113#: code:addons/l10n_es_bank_statement/account_bank_statement.py:18280#: selection:account.bank.statement.line,c43_concept:0
114#, python-format81msgid "Div. cupones/Prima junta/Amortización"
115msgid "Search by VAT error"82msgstr "Div. cupones/Prima junta/Amortización"
116msgstr "Search by VAT error"83
11784#. module: l10n_es_bank_statement
118#. module: l10n_es_bank_statement85#: selection:account.bank.statement.line,c43_concept:0
119#: code:addons/l10n_es_bank_statement/import_c43_file.py:31986msgid "Docimiliado/Recibo/Letra/Pago por su cta."
87msgstr "Docimiliado/Recibo/Letra/Pago por su cta."
88
89#. module: l10n_es_bank_statement
90#: code:addons/l10n_es_bank_statement/models/c43_parser.py:115
91#: code:addons/l10n_es_bank_statement/models/c43_parser.py:119
92#: code:addons/l10n_es_bank_statement/models/c43_parser.py:123
93#: code:addons/l10n_es_bank_statement/models/c43_parser.py:127
94#: code:addons/l10n_es_bank_statement/models/c43_parser.py:136
95#: code:addons/l10n_es_bank_statement/models/c43_parser.py:147
96#: code:addons/l10n_es_bank_statement/models/c43_parser.py:194
97#, python-format
98msgid "Error in C43 file"
99msgstr "Error en archivo C43"
100
101#. module: l10n_es_bank_statement
102#: code:addons/l10n_es_bank_statement/models/c43_parser.py:137
103#, python-format
104msgid "Final balance amount = (initial balance + credit - debit) doesn't match with the defined in the last record of account."
105msgstr "Saldo final = (saldo inicial + haber - debe) no cuadra con el definido en el último registro de la cuenta."
106
107#. module: l10n_es_bank_statement
108#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:33
109#, python-format
110msgid "From CaixaBank C43 rules"
111msgstr "Desde las reglas C43 de CaixaBank"
112
113#. module: l10n_es_bank_statement
114#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:34
115#, python-format
116msgid "From generic C43 rules"
117msgstr "Desde las reglas genéricas C43"
118
119#. module: l10n_es_bank_statement
120#: selection:account.bank.statement.line,c43_concept:0
121msgid "Giro/Transferencia/Traspaso/Cheque"
122msgstr "Giro/Transferencia/Traspaso/Cheque"
123
124#. module: l10n_es_bank_statement
125#: selection:account.bank.statement.line,c43_concept:0
126msgid "Ingreso/Entrega/Abonaré"
127msgstr "Ingreso/Entrega/Abonaré"
128
129#. module: l10n_es_bank_statement
130#: selection:account.bank.statement.line,c43_concept:0
131msgid "Intereses/Comisión/Custodia/Gastos/Impuestos"
132msgstr "Intereses/Comisión/Custodia/Gastos/Impuestos"
133
134#. module: l10n_es_bank_statement
135#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:68
136#, python-format
137msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for VAT number \"%s\"."
138msgstr "La línea llamada \"%s\" (Ref: %s) se casó con más de una empresa para el NIF \"%s\"."
139
140#. module: l10n_es_bank_statement
141#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:123
142#, python-format
143msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for invoice amount \"%s\"."
144msgstr "La línea llamada \"%s\" (Ref: %s) se casó con más de una empresa para el importe de la factura \"%s\"."
145
146#. module: l10n_es_bank_statement
147#: code:addons/l10n_es_bank_statement/models/c43_parser.py:120
148#, python-format
149msgid "Number of credit records doesn't match with the defined in the last record of account."
150msgstr "El número de registros del haber no casa con el definido en el último registro de la cuenta."
151
152#. module: l10n_es_bank_statement
153#: code:addons/l10n_es_bank_statement/models/c43_parser.py:116
154#, python-format
155msgid "Number of debit records doesn't match with the defined in the last record of account."
156msgstr "El número de registros del debe no casa con el definido en el último registro de la cuenta."
157
158#. module: l10n_es_bank_statement
159#: code:addons/l10n_es_bank_statement/models/c43_parser.py:148
160#, python-format
161msgid "Number of records doesn't match with the defined in the last record."
162msgstr "El número de registros no casa con el definido en el último registro de la cuenta."
163
164#. module: l10n_es_bank_statement
165#: selection:account.bank.statement.line,c43_concept:0
166msgid "Nómina/Seguro social"
167msgstr "Nómina/Seguro social"
168
169#. module: l10n_es_bank_statement
170#: selection:account.bank.statement.line,c43_concept:0
171msgid "Operaciones extranjero"
172msgstr "Operaciones extranjero"
173
174#. module: l10n_es_bank_statement
175#: code:addons/l10n_es_bank_statement/models/c43_parser.py:195
120#, python-format176#, python-format
121msgid "Record type %s is not valid."177msgid "Record type %s is not valid."
122msgstr "Record type %s is not valid."178msgstr "El registro de tipo %s no es válido."
123179
124#. module: l10n_es_bank_statement180#. module: l10n_es_bank_statement
125#: code:addons/l10n_es_bank_statement/import_c43_file.py:195181#: selection:account.bank.statement.line,c43_concept:0
126#: code:addons/l10n_es_bank_statement/import_c43_file.py:197182msgid "Reintegro/Talón"
127#: code:addons/l10n_es_bank_statement/import_c43_file.py:199183msgstr "Reintegro/Talón"
128#: code:addons/l10n_es_bank_statement/import_c43_file.py:201184
129#: code:addons/l10n_es_bank_statement/import_c43_file.py:207185#. module: l10n_es_bank_statement
130#: code:addons/l10n_es_bank_statement/import_c43_file.py:231186#: selection:account.bank.statement.line,c43_concept:0
131#: code:addons/l10n_es_bank_statement/import_c43_file.py:319187msgid "Remesa efectos"
132#, python-format188msgstr "Remesa efectos"
133msgid "Error in C43 file"189
134msgstr "Error en fichero C43"190#. module: l10n_es_bank_statement
135191#: code:_description:0
136#. module: l10n_es_bank_statement192#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_profile
137#: help:l10n.es.extractos.concepto,account_id:0193#, python-format
138msgid ""194msgid "Statement Profile"
139"Default account to be associated with the concept when the file of C43 bank "195msgstr "Perfil de extracto"
140"statements is imported"196
141msgstr ""197#. module: l10n_es_bank_statement
142"Cuenta contable por defecto que se asociará al concepto al importar el "198#: selection:account.bank.statement.line,c43_concept:0
143"archivo de extractos bancarios C43"199msgid "Subscripción/Div. pasivos/Canje"
144200msgstr "Subscripción/Div. pasivos/Canje"
145#. module: l10n_es_bank_statement201
146#: view:l10n.es.bank.statement.import.c43.wizard:0202#. module: l10n_es_bank_statement
147msgid "Bank statements import according to norm C43"203#: selection:account.bank.statement.line,c43_concept:0
148msgstr "Importación de extractos bancarios de acuerdo a la norma C43"
149
150#. module: l10n_es_bank_statement
151#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard
152msgid "l10n.es.extractos.import.wizard"
153msgstr "l10n.es.extractos.import.wizard"
154
155#. module: l10n_es_bank_statement
156#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
157#, python-format
158msgid "Amortización"
159msgstr "Amortización"
160
161#. module: l10n_es_bank_statement
162#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
163#, python-format
164msgid ""
165"You cannot search by VAT because it seems this line has not been imported "
166"from a bank statement file. The system expected \"referencia1\" and "
167"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
168msgstr ""
169"You cannot search by VAT because it seems this line has not been imported "
170"from a bank statement file. The system expected \"referencia1\" and "
171"\"conceptos\" keys in line of amount %(amount).2f in statement %(statement)s."
172
173#. module: l10n_es_bank_statement
174#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
175#, python-format
176msgid ""
177"Number of debit records does not agree with the defined in the last record "
178"of account."
179msgstr ""
180"El número de registros de débito no coincide con los definidos en el último "
181"registro de la cuenta."
182
183#. module: l10n_es_bank_statement
184#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
185#, python-format
186msgid "Subscripción/Canje"
187msgstr "Subscripción/Canje"
188
189#. module: l10n_es_bank_statement
190#: view:l10n.es.bank.statement.import.c43.wizard:0
191msgid "Bank Statements File:"
192msgstr "Fichero de extracto bancario:"
193
194#. module: l10n_es_bank_statement
195#: view:l10n.es.bank.statement.import.c43.wizard:0
196msgid "Automatic reconciliation options"
197msgstr "Opciones de conciliación automática"
198
199#. module: l10n_es_bank_statement
200#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
201#, python-format
202msgid ""
203"%s moves (%s) found for this date and partner. You'll have to concile this "
204"line manually..."
205msgstr ""
206"%s movimientos (%s) encontrados para esta fecha y partner. Tendrá que "
207"conciliar esta línea manualmente..."
208
209#. module: l10n_es_bank_statement
210#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
211msgid "Max. days from statement date"
212msgstr "Tope de días desde la fecha del extracto"
213
214#. module: l10n_es_bank_statement
215#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
216msgid ""
217"Maximum difference in days, between the maturity date of the entry to "
218"reconcile and the bank statement entry"
219msgstr ""
220"Diferencia máxima en días, entre la fecha de vencimiento de la entrada a "
221"conciliar y la entrada del extracto bancario"
222
223#. module: l10n_es_bank_statement
224#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
225#, python-format
226msgid ""
227"Number of credit records does not agree with the defined in the last record "
228"of account."
229msgstr ""
230"El número de registros de crédito no coincide con los definidos en el último "
231"registro de la cuenta."
232
233#. module: l10n_es_bank_statement
234#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
235#, python-format
236msgid ""
237"Final balance amount = (initial balance + credit - debit) does not agree "
238"with the defined in the last record of account."
239msgstr ""
240"La cantidad del balance final (=balance inicial + crédito - débito) no "
241"coincide con la definida en el último registro de la cuenta."
242
243#. module: l10n_es_bank_statement
244#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
245msgid "Default accounts associated to C43 codes"
246msgstr "Cuentas por defecto asociadas a los códigos C43"
247
248#. module: l10n_es_bank_statement
249#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
250#, python-format
251msgid "Tarjeta crédito/débito"204msgid "Tarjeta crédito/débito"
252msgstr "Tarjeta crédito/débito"205msgstr "Tarjeta crédito/débito"
253206
254#. module: l10n_es_bank_statement207#. module: l10n_es_bank_statement
255#: code:addons/l10n_es_bank_statement/import_c43_file.py:419208#: selection:account.bank.statement.line,c43_concept:0
256#, python-format
257msgid "A default account has not been defined for the C43 concept "
258msgstr "No ha sido definida una cuenta por defecto para el concepto C43 "
259
260#. module: l10n_es_bank_statement
261#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
262msgid "l10n.es.bank.statement.import.c43.wizard"
263msgstr "l10n.es.bank.statement.import.c43.wizard"
264
265#. module: l10n_es_bank_statement
266#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
267#, python-format
268msgid "Reintegro/Talón"
269msgstr "Reintegro/Talón"
270
271#. module: l10n_es_bank_statement
272#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
273#, python-format
274msgid "Concepts for this company already imported..."
275msgstr "Los conceptos para esta compañía ya han sido importados..."
276
277#. module: l10n_es_bank_statement
278#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
279#, python-format
280msgid "Transf./Giro/Cheque"
281msgstr "Transf./Giro/Cheque"
282
283#. module: l10n_es_bank_statement
284#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
285#, python-format
286msgid "Timbre/Corretaje/Póliza"209msgid "Timbre/Corretaje/Póliza"
287msgstr "Timbre/Corretaje/Póliza"210msgstr "Timbre/Corretaje/Póliza"
288211
289#. module: l10n_es_bank_statement212#. module: l10n_es_bank_statement
290#: code:addons/l10n_es_bank_statement/import_conceptos.py:111213#: selection:account.bank.statement.line,c43_concept:0
291#, python-format
292msgid "Varios"214msgid "Varios"
293msgstr "Varios"215msgstr "Varios"
294216
295#. module: l10n_es_bank_statement217#. module: l10n_es_bank_statement
296#: code:addons/l10n_es_bank_statement/import_conceptos.py:121218#: code:_description:0
297#, python-format219#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_completion_rule
298msgid ""220#, python-format
299"Could not import concept %(concept)s because no matching account was found "221msgid "account.statement.completion.rule"
300"for expression %(expression)s."222msgstr "account.statement.completion.rule"
301msgstr ""
302"Could not import concept %(concept)s because no matching account was found "
303"for expression %(expression)s."
304
305#. module: l10n_es_bank_statement
306#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
307msgid "Statement Line Rules"
308msgstr "Reglas de líneas de extracto"
309
310#. module: l10n_es_bank_statement
311#: help:l10n.es.extractos.concepto,code:0
312msgid ""
313"2 digits code of the concept defined in the file of C43 bank statements"
314msgstr ""
315"Código de 2 dígitos del concepto definido en el archivo de extractos "
316"bancarios C43"
317
318#. module: l10n_es_bank_statement
319#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
320#, python-format
321msgid ""
322"Debit amount does not agree with the defined in the last record of account."
323msgstr ""
324"La cantidad del débito no coincide con lo definido en el último registro de "
325"la cuenta."
326
327#. module: l10n_es_bank_statement
328#: field:l10n.es.extractos.concepto,code:0
329msgid "Concept code"
330msgstr "Código concepto C43"
331
332#. module: l10n_es_bank_statement
333#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
334#, python-format
335msgid "Number of records does not agree with the defined in the last record."
336msgstr ""
337"El número de registros no coincide con lo definido en el último registro."
338
339#. module: l10n_es_bank_statement
340#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
341#, python-format
342msgid "Beware!"
343msgstr "Atención!"
344
345#. module: l10n_es_bank_statement
346#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
347#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
348#, python-format
349msgid "C43 Created Concepts"
350msgstr "Conceptos C43 Creados"
351
352#. module: l10n_es_bank_statement
353#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
354#, python-format
355msgid "Error!"
356msgstr "Error!"
357
358#. module: l10n_es_bank_statement
359#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
360#, python-format
361msgid "Operaciones extranjero"
362msgstr "Operaciones extranjero"
363
364#. module: l10n_es_bank_statement
365#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
366#, python-format
367msgid ""
368"The bank statement is alredy confirmed. It can not be imported from file."
369msgstr ""
370"El extracto bancario ya está confirmado. No se puede importar desde fichero."
371
372#. module: l10n_es_bank_statement
373#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
374#, python-format
375msgid "Error"
376msgstr "Error"
377
378#. module: l10n_es_bank_statement
379#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
380#, python-format
381msgid ""
382"You cannot search by reference because it seems this line has not been "
383"imported from a bank statement file. The system expected \"conceptos\" and "
384"\"referencia2\" keys in line of amount %(amount).2f in statement "
385"%(statement)s."
386msgstr ""
387"You cannot search by reference because it seems this line has not been "
388"imported from a bank statement file. The system expected \"conceptos\" and "
389"\"referencia2\" keys in line of amount %(amount).2f in statement "
390"%(statement)s."
391
392#. module: l10n_es_bank_statement
393#: field:l10n.es.extractos.concepto,name:0
394msgid "Concept name"
395msgstr "Nombre concepto"
396
397#. module: l10n_es_bank_statement
398#: constraint:account.bank.statement.line:0
399msgid ""
400"The amount of the voucher must be the same amount as the one on the "
401"statement line"
402msgstr ""
403"El importe del recibo debe ser el mismo importe que el de la línea del "
404"extracto"
405
406#. module: l10n_es_bank_statement
407#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
408#, python-format
409msgid "Cajero automático"
410msgstr "Cajero automático"
411
412#. module: l10n_es_bank_statement
413#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
414#, python-format
415msgid "Recibo/Letra domiciliado"
416msgstr "Recibo/Letra domiciliado"
417
418#. module: l10n_es_bank_statement
419#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
420#, python-format
421msgid ""
422"Credit amount does not agree with the defined in the last record of account."
423msgstr ""
424"La cantidad del crédito no coincide con lo definido en el último registro de "
425"la cuenta."
426
427#. module: l10n_es_bank_statement
428#: view:l10n.es.extractos.import.wizard:0
429msgid ""
430"This wizard will import default concepts related to standard accounts of "
431"spanish charts."
432msgstr ""
433"Este asistente importará conceptos por defecto relacionados con las cuentas "
434"contables estándar del plan de cuentas español."
435
436#. module: l10n_es_bank_statement
437#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
438#, python-format
439msgid "Import Error"
440msgstr "Error de importación"
441
442#. module: l10n_es_bank_statement
443#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
444msgid "Bank Statement Line"
445msgstr "Línea de extracto bancario"
446
447#. module: l10n_es_bank_statement
448#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
449#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
450msgid "Import Statement Concepts Wizard"
451msgstr "Asistente de importación de conceptos de extractos"
452
453#. module: l10n_es_bank_statement
454#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
455msgid "Reconcile payment orders by total amount"
456msgstr "Conciliar órdenes de pago por importe total"
457
458#. module: l10n_es_bank_statement
459#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
460msgid ""
461"\n"
462"Module for the importation of Spanish bank statements following the C43 "
463"normative of the 'Asociación Española de la Banca'.\n"
464" \n"
465" Adds a wizard to the bank statements to perform the importation. The "
466"imported file gets attached to the given bank statement.\n"
467" It allows to define default accounting codes for the concepts defined in "
468"the C43 bank statement file.\n"
469"\n"
470" The search of the entries to reconcile (and partner) is done like this:\n"
471" 1) Unreconciled entries with the given reference and amount. The "
472"reference is taken from the 'conceptos' or 'referencia2' fields of the "
473"statement.\n"
474" 2) Unreconciled entries with (a partner with) the given VAT number "
475"and amount.\n"
476" These fields are tested to find a valid spanish VAT:\n"
477" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
478" - First 9 characters of 'conceptos' (La Caixa)\n"
479" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
480" 3) Unreconciled entries with the given amount.\n"
481"\n"
482" If no partner is found, the default account defined for the concept is "
483"used.\n"
484"\n"
485" The module also adds a wizard in Financial Management/Configuration/C43 "
486"bank statements to import the default statement concepts, that must be run "
487"after creating the spanish chart of accounts (l10n_es module).\n"
488" "
489msgstr ""
490"\n"
491"Módulo para la importación de extractos bancarios españoles de acuerdo a la "
492"norma C43 de la Asociación Española de la Banca.\n"
493" \n"
494" Añade un asistente a los extractos bancarios para realizar la "
495"importación. El fichero importado queda adjunto al extracto bancario "
496"activo.\n"
497" Permite definir códigos contables por defecto para los conceptos "
498"definidos en el fichero de extracto bancario C43.\n"
499"\n"
500" La búsqueda de entradas a conciliar se realiza de la siguiente forma:\n"
501" 1) Entradas sin conciliar con una cantidad y referencia "
502"especificadas. La referencia se obtiene de los campos 'concepto' o "
503"'referencia2' del extracto.\n"
504" 2) Entradas sin conciliar en las que figure el CIF del partner y la "
505"cantidad.\n"
506" Para encontrar un CIF español válido se busca en los siguientes "
507"campos:\n"
508" - Los primeros 9 caracteres del campo 'referencia1' (Banc "
509"Sabadell)\n"
510" - Los primeros 9 caracteres del campo 'conceptos' (La Caixa)\n"
511" - Los caracteres [21:30] del campo 'conceptos' (Caja Rural del "
512"Jalón)\n"
513" 3) Entradas sin conciliar en las que figure la cantidad.\n"
514"\n"
515" Si no se encuentra ningún partner, se utiliza la cuenta por defecto "
516"definida para el concepto.\n"
517"\n"
518" El módulo también añade un asistente en "
519"'Contabilidad/Configuración/Extractos bancarios C43' para importar los "
520"conceptos por defecto de los extractos; esto se debe ejecutar después de "
521"crear el plan español de cuentas (módulo 'l10n_es').\n"
522" "
523
524#. module: l10n_es_bank_statement
525#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
526#, python-format
527msgid "Anulación/Corrección"
528msgstr "Anulación/Corrección"
529
530#. module: l10n_es_bank_statement
531#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
532#, python-format
533msgid "Bank Statement"
534msgstr "Extracto bancario"
535
536#. module: l10n_es_bank_statement
537#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
538#, python-format
539msgid "Cheque gasolina"
540msgstr "Cheque gasolina"
541
542#. module: l10n_es_bank_statement
543#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
544#, python-format
545msgid "Info:"
546msgstr "Info:"
547
548#. module: l10n_es_bank_statement
549#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
550msgid "Reconcile by reference and amount"
551msgstr "Conciliar por referencia y cantidad"
552
553#. module: l10n_es_bank_statement
554#: view:l10n.es.extractos.import.wizard:0
555msgid "Import Wizard"
556msgstr "Asistente de importación"
557
558#. module: l10n_es_bank_statement
559#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
560#, python-format
561msgid "Remesa efectos"
562msgstr "Remesa efectos"
563
564#. module: l10n_es_bank_statement
565#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
566#: view:l10n.es.extractos.concepto:0
567msgid "C43 default accounts"
568msgstr "Cuentas por defecto C43"
569
570#. module: l10n_es_bank_statement
571#: view:l10n.es.bank.statement.import.c43.wizard:0
572#: view:l10n.es.extractos.import.wizard:0
573msgid "Cancel"
574msgstr "Cancelar"
575
576#. module: l10n_es_bank_statement
577#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
578#: field:l10n.es.extractos.concepto,company_id:0
579#: field:l10n.es.extractos.import.wizard,company_id:0
580#, python-format
581msgid "Company"
582msgstr "Compañía"
583223
=== modified file 'l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot'
--- ___unported__/l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot 2013-11-22 23:44:11 +0000
+++ l10n_es_bank_statement/i18n/l10n_es_bank_statement.pot 2014-06-11 10:49:43 +0000
@@ -4,10 +4,10 @@
4#4#
5msgid ""5msgid ""
6msgstr ""6msgstr ""
7"Project-Id-Version: OpenERP Server 6.0.1\n"7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: support@openerp.com\n"8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2011-03-27 02:13+0000\n"9"POT-Creation-Date: 2014-06-10 14:31+0000\n"
10"PO-Revision-Date: 2011-03-27 02:13+0000\n"10"PO-Revision-Date: 2014-06-10 14:31+0000\n"
11"Last-Translator: <>\n"11"Last-Translator: <>\n"
12"Language-Team: \n"12"Language-Team: \n"
13"MIME-Version: 1.0\n"13"MIME-Version: 1.0\n"
@@ -16,477 +16,207 @@
16"Plural-Forms: \n"16"Plural-Forms: \n"
1717
18#. module: l10n_es_bank_statement18#. module: l10n_es_bank_statement
19#: code:addons/l10n_es_bank_statement/import_conceptos.py:10919#: code:addons/l10n_es_bank_statement/models/c43_account_statement_profile.py:33
20#, python-format20#, python-format
21msgid "Intereses/Comisión/Gastos/Custodia"21msgid "AEB C43 standard"
22msgstr ""22msgstr ""
2323
24#. module: l10n_es_bank_statement24#. module: l10n_es_bank_statement
25#: code:addons/l10n_es_bank_statement/import_conceptos.py:10125#: selection:account.bank.statement.line,c43_concept:0
26#, python-format26msgid "Amortización préstamo"
27msgstr ""
28
29#. module: l10n_es_bank_statement
30#: selection:account.bank.statement.line,c43_concept:0
31msgid "Anulación/Corrección"
32msgstr ""
33
34#. module: l10n_es_bank_statement
35#: code:_description:0
36#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
37#, python-format
38msgid "Bank Statement Line"
39msgstr ""
40
41#. module: l10n_es_bank_statement
42#: field:account.bank.statement.line,c43_concept:0
43msgid "C43 concept"
44msgstr ""
45
46#. module: l10n_es_bank_statement
47#: selection:account.bank.statement.line,c43_concept:0
48msgid "Cajero automático"
49msgstr ""
50
51#. module: l10n_es_bank_statement
52#: selection:account.bank.statement.line,c43_concept:0
53msgid "Cheque gasolina"
54msgstr ""
55
56#. module: l10n_es_bank_statement
57#: selection:account.bank.statement.line,c43_concept:0
27msgid "Compra/Venta valores"58msgid "Compra/Venta valores"
28msgstr ""59msgstr ""
2960
30#. module: l10n_es_bank_statement61#. module: l10n_es_bank_statement
31#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_concepto62#: code:addons/l10n_es_bank_statement/models/c43_parser.py:128
32msgid "C43 codes"63#, python-format
33msgstr ""64msgid "Credit amount doesn't match with the defined in the last record of account."
3465msgstr ""
35#. module: l10n_es_bank_statement66
36#: field:l10n.es.bank.statement.import.c43.wizard,reco_amount:067#. module: l10n_es_bank_statement
37msgid "Reconcile by amount"68#: code:addons/l10n_es_bank_statement/models/c43_parser.py:124
38msgstr ""69#, python-format
3970msgid "Debit amount doesn't match with the defined in the last record of account."
40#. module: l10n_es_bank_statement71msgstr ""
41#: code:addons/l10n_es_bank_statement/import_c43_file.py:46972
42#, python-format73#. module: l10n_es_bank_statement
43msgid "bank-statement.txt"74#: selection:account.bank.statement.line,c43_concept:0
44msgstr ""
45
46#. module: l10n_es_bank_statement
47#: code:addons/l10n_es_bank_statement/import_conceptos.py:107
48#, python-format
49msgid "Nómina/Seg. social"
50msgstr ""
51
52#. module: l10n_es_bank_statement
53#: field:l10n.es.bank.statement.import.c43.wizard,reco_vat_and_amount:0
54msgid "Reconcile by VAT number and amount"
55msgstr ""
56
57#. module: l10n_es_bank_statement
58#: code:addons/l10n_es_bank_statement/import_conceptos.py:94
59#, python-format
60msgid "Ingreso/Abonaré"
61msgstr ""
62
63#. module: l10n_es_bank_statement
64#: field:l10n.es.extractos.concepto,account_id:0
65msgid "Account associated to the concept"
66msgstr ""
67
68#. module: l10n_es_bank_statement
69#: code:addons/l10n_es_bank_statement/import_conceptos.py:97
70#, python-format
71msgid "Amortización préstamo"
72msgstr ""
73
74#. module: l10n_es_bank_statement
75#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
76#, python-format
77msgid "Search by references"
78msgstr ""
79
80#. module: l10n_es_bank_statement
81#: model:ir.module.module,shortdesc:l10n_es_bank_statement.module_meta_information
82msgid "Spanish Bank Statements Importation"
83msgstr ""
84
85#. module: l10n_es_bank_statement
86#: field:l10n.es.bank.statement.import.c43.wizard,file:0
87#: field:l10n.es.bank.statement.import.c43.wizard,file_name:0
88msgid "Bank Statements File"
89msgstr ""
90
91#. module: l10n_es_bank_statement
92#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_c43_file_import_wizard
93msgid "Import Bank Statement"
94msgstr ""
95
96#. module: l10n_es_bank_statement
97#: view:l10n.es.bank.statement.import.c43.wizard:0
98#: view:l10n.es.extractos.import.wizard:0
99msgid "Import"
100msgstr ""
101
102#. module: l10n_es_bank_statement
103#: code:addons/l10n_es_bank_statement/import_conceptos.py:106
104#, python-format
105msgid "Devolución/Impagado"75msgid "Devolución/Impagado"
106msgstr ""76msgstr ""
10777
108#. module: l10n_es_bank_statement78#. module: l10n_es_bank_statement
109#: code:addons/l10n_es_bank_statement/account_bank_statement.py:18279#: selection:account.bank.statement.line,c43_concept:0
110#, python-format80msgid "Div. cupones/Prima junta/Amortización"
111msgid "Search by VAT error"81msgstr ""
112msgstr ""82
11383#. module: l10n_es_bank_statement
114#. module: l10n_es_bank_statement84#: selection:account.bank.statement.line,c43_concept:0
115#: code:addons/l10n_es_bank_statement/import_c43_file.py:31985msgid "Docimiliado/Recibo/Letra/Pago por su cta."
86msgstr ""
87
88#. module: l10n_es_bank_statement
89#: code:addons/l10n_es_bank_statement/models/c43_parser.py:115
90#: code:addons/l10n_es_bank_statement/models/c43_parser.py:119
91#: code:addons/l10n_es_bank_statement/models/c43_parser.py:123
92#: code:addons/l10n_es_bank_statement/models/c43_parser.py:127
93#: code:addons/l10n_es_bank_statement/models/c43_parser.py:136
94#: code:addons/l10n_es_bank_statement/models/c43_parser.py:147
95#: code:addons/l10n_es_bank_statement/models/c43_parser.py:194
96#, python-format
97msgid "Error in C43 file"
98msgstr ""
99
100#. module: l10n_es_bank_statement
101#: code:addons/l10n_es_bank_statement/models/c43_parser.py:137
102#, python-format
103msgid "Final balance amount = (initial balance + credit - debit) doesn't match with the defined in the last record of account."
104msgstr ""
105
106#. module: l10n_es_bank_statement
107#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:33
108#, python-format
109msgid "From CaixaBank C43 rules"
110msgstr ""
111
112#. module: l10n_es_bank_statement
113#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:34
114#, python-format
115msgid "From generic C43 rules"
116msgstr ""
117
118#. module: l10n_es_bank_statement
119#: selection:account.bank.statement.line,c43_concept:0
120msgid "Giro/Transferencia/Traspaso/Cheque"
121msgstr ""
122
123#. module: l10n_es_bank_statement
124#: selection:account.bank.statement.line,c43_concept:0
125msgid "Ingreso/Entrega/Abonaré"
126msgstr ""
127
128#. module: l10n_es_bank_statement
129#: selection:account.bank.statement.line,c43_concept:0
130msgid "Intereses/Comisión/Custodia/Gastos/Impuestos"
131msgstr ""
132
133#. module: l10n_es_bank_statement
134#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:68
135#, python-format
136msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for VAT number \"%s\"."
137msgstr ""
138
139#. module: l10n_es_bank_statement
140#: code:addons/l10n_es_bank_statement/models/account_statement_completion_rule.py:123
141#, python-format
142msgid "Line named \"%s\" (Ref: %s) was matched by more than one partner for invoice amount \"%s\"."
143msgstr ""
144
145#. module: l10n_es_bank_statement
146#: code:addons/l10n_es_bank_statement/models/c43_parser.py:120
147#, python-format
148msgid "Number of credit records doesn't match with the defined in the last record of account."
149msgstr ""
150
151#. module: l10n_es_bank_statement
152#: code:addons/l10n_es_bank_statement/models/c43_parser.py:116
153#, python-format
154msgid "Number of debit records doesn't match with the defined in the last record of account."
155msgstr ""
156
157#. module: l10n_es_bank_statement
158#: code:addons/l10n_es_bank_statement/models/c43_parser.py:148
159#, python-format
160msgid "Number of records doesn't match with the defined in the last record."
161msgstr ""
162
163#. module: l10n_es_bank_statement
164#: selection:account.bank.statement.line,c43_concept:0
165msgid "Nómina/Seguro social"
166msgstr ""
167
168#. module: l10n_es_bank_statement
169#: selection:account.bank.statement.line,c43_concept:0
170msgid "Operaciones extranjero"
171msgstr ""
172
173#. module: l10n_es_bank_statement
174#: code:addons/l10n_es_bank_statement/models/c43_parser.py:195
116#, python-format175#, python-format
117msgid "Record type %s is not valid."176msgid "Record type %s is not valid."
118msgstr ""177msgstr ""
119178
120#. module: l10n_es_bank_statement179#. module: l10n_es_bank_statement
121#: code:addons/l10n_es_bank_statement/import_c43_file.py:195180#: selection:account.bank.statement.line,c43_concept:0
122#: code:addons/l10n_es_bank_statement/import_c43_file.py:197181msgid "Reintegro/Talón"
123#: code:addons/l10n_es_bank_statement/import_c43_file.py:199182msgstr ""
124#: code:addons/l10n_es_bank_statement/import_c43_file.py:201183
125#: code:addons/l10n_es_bank_statement/import_c43_file.py:207184#. module: l10n_es_bank_statement
126#: code:addons/l10n_es_bank_statement/import_c43_file.py:231185#: selection:account.bank.statement.line,c43_concept:0
127#: code:addons/l10n_es_bank_statement/import_c43_file.py:319186msgid "Remesa efectos"
128#, python-format187msgstr ""
129msgid "Error in C43 file"188
130msgstr ""189#. module: l10n_es_bank_statement
131190#: code:_description:0
132#. module: l10n_es_bank_statement191#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_profile
133#: help:l10n.es.extractos.concepto,account_id:0192#, python-format
134msgid "Default account to be associated with the concept when the file of C43 bank statements is imported"193msgid "Statement Profile"
135msgstr ""194msgstr ""
136195
137#. module: l10n_es_bank_statement196#. module: l10n_es_bank_statement
138#: view:l10n.es.bank.statement.import.c43.wizard:0197#: selection:account.bank.statement.line,c43_concept:0
139msgid "Bank statements import according to norm C43"198msgid "Subscripción/Div. pasivos/Canje"
140msgstr ""199msgstr ""
141200
142#. module: l10n_es_bank_statement201#. module: l10n_es_bank_statement
143#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_extractos_import_wizard202#: selection:account.bank.statement.line,c43_concept:0
144msgid "l10n.es.extractos.import.wizard"
145msgstr ""
146
147#. module: l10n_es_bank_statement
148#: code:addons/l10n_es_bank_statement/import_conceptos.py:100
149#, python-format
150msgid "Amortización"
151msgstr ""
152
153#. module: l10n_es_bank_statement
154#: code:addons/l10n_es_bank_statement/account_bank_statement.py:182
155#, python-format
156msgid "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."
157msgstr ""
158
159#. module: l10n_es_bank_statement
160#: code:addons/l10n_es_bank_statement/import_c43_file.py:195
161#, python-format
162msgid "Number of debit records does not agree with the defined in the last record of account."
163msgstr ""
164
165#. module: l10n_es_bank_statement
166#: code:addons/l10n_es_bank_statement/import_conceptos.py:99
167#, python-format
168msgid "Subscripción/Canje"
169msgstr ""
170
171#. module: l10n_es_bank_statement
172#: view:l10n.es.bank.statement.import.c43.wizard:0
173msgid "Bank Statements File:"
174msgstr ""
175
176#. module: l10n_es_bank_statement
177#: view:l10n.es.bank.statement.import.c43.wizard:0
178msgid "Automatic reconciliation options"
179msgstr ""
180
181#. module: l10n_es_bank_statement
182#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
183#, python-format
184msgid "%s moves (%s) found for this date and partner. You'll have to concile this line manually..."
185msgstr ""
186
187#. module: l10n_es_bank_statement
188#: field:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
189msgid "Max. days from statement date"
190msgstr ""
191
192#. module: l10n_es_bank_statement
193#: help:l10n.es.bank.statement.import.c43.wizard,reco_max_days:0
194msgid "Maximum difference in days, between the maturity date of the entry to reconcile and the bank statement entry"
195msgstr ""
196
197#. module: l10n_es_bank_statement
198#: code:addons/l10n_es_bank_statement/import_c43_file.py:197
199#, python-format
200msgid "Number of credit records does not agree with the defined in the last record of account."
201msgstr ""
202
203#. module: l10n_es_bank_statement
204#: code:addons/l10n_es_bank_statement/import_c43_file.py:207
205#, python-format
206msgid "Final balance amount = (initial balance + credit - debit) does not agree with the defined in the last record of account."
207msgstr ""
208
209#. module: l10n_es_bank_statement
210#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_extractos_bancarios_concepto
211msgid "Default accounts associated to C43 codes"
212msgstr ""
213
214#. module: l10n_es_bank_statement
215#: code:addons/l10n_es_bank_statement/import_conceptos.py:104
216#, python-format
217msgid "Tarjeta crédito/débito"203msgid "Tarjeta crédito/débito"
218msgstr ""204msgstr ""
219205
220#. module: l10n_es_bank_statement206#. module: l10n_es_bank_statement
221#: code:addons/l10n_es_bank_statement/import_c43_file.py:419207#: selection:account.bank.statement.line,c43_concept:0
222#, python-format
223msgid "A default account has not been defined for the C43 concept "
224msgstr ""
225
226#. module: l10n_es_bank_statement
227#: model:ir.model,name:l10n_es_bank_statement.model_l10n_es_bank_statement_import_c43_wizard
228msgid "l10n.es.bank.statement.import.c43.wizard"
229msgstr ""
230
231#. module: l10n_es_bank_statement
232#: code:addons/l10n_es_bank_statement/import_conceptos.py:93
233#, python-format
234msgid "Reintegro/Talón"
235msgstr ""
236
237#. module: l10n_es_bank_statement
238#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
239#, python-format
240msgid "Concepts for this company already imported..."
241msgstr ""
242
243#. module: l10n_es_bank_statement
244#: code:addons/l10n_es_bank_statement/import_conceptos.py:96
245#, python-format
246msgid "Transf./Giro/Cheque"
247msgstr ""
248
249#. module: l10n_es_bank_statement
250#: code:addons/l10n_es_bank_statement/import_conceptos.py:108
251#, python-format
252msgid "Timbre/Corretaje/Póliza"208msgid "Timbre/Corretaje/Póliza"
253msgstr ""209msgstr ""
254210
255#. module: l10n_es_bank_statement211#. module: l10n_es_bank_statement
256#: code:addons/l10n_es_bank_statement/import_conceptos.py:111212#: selection:account.bank.statement.line,c43_concept:0
257#, python-format
258msgid "Varios"213msgid "Varios"
259msgstr ""214msgstr ""
260215
261#. module: l10n_es_bank_statement216#. module: l10n_es_bank_statement
262#: code:addons/l10n_es_bank_statement/import_conceptos.py:121217#: code:_description:0
263#, python-format218#: model:ir.model,name:l10n_es_bank_statement.model_account_statement_completion_rule
264msgid "Could not import concept %(concept)s because no matching account was found for expression %(expression)s."219#, python-format
265msgstr ""220msgid "account.statement.completion.rule"
266
267#. module: l10n_es_bank_statement
268#: field:l10n.es.bank.statement.import.c43.wizard,reco_rules:0
269msgid "Statement Line Rules"
270msgstr ""
271
272#. module: l10n_es_bank_statement
273#: help:l10n.es.extractos.concepto,code:0
274msgid "2 digits code of the concept defined in the file of C43 bank statements"
275msgstr ""
276
277#. module: l10n_es_bank_statement
278#: code:addons/l10n_es_bank_statement/import_c43_file.py:199
279#, python-format
280msgid "Debit amount does not agree with the defined in the last record of account."
281msgstr ""
282
283#. module: l10n_es_bank_statement
284#: field:l10n.es.extractos.concepto,code:0
285msgid "Concept code"
286msgstr ""
287
288#. module: l10n_es_bank_statement
289#: code:addons/l10n_es_bank_statement/import_c43_file.py:231
290#, python-format
291msgid "Number of records does not agree with the defined in the last record."
292msgstr ""
293
294#. module: l10n_es_bank_statement
295#: code:addons/l10n_es_bank_statement/account_bank_statement.py:157
296#, python-format
297msgid "Beware!"
298msgstr ""
299
300#. module: l10n_es_bank_statement
301#: code:addons/l10n_es_bank_statement/import_conceptos.py:80
302#: code:addons/l10n_es_bank_statement/import_conceptos.py:139
303#, python-format
304msgid "C43 Created Concepts"
305msgstr ""
306
307#. module: l10n_es_bank_statement
308#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
309#, python-format
310msgid "Error!"
311msgstr ""
312
313#. module: l10n_es_bank_statement
314#: code:addons/l10n_es_bank_statement/import_conceptos.py:105
315#, python-format
316msgid "Operaciones extranjero"
317msgstr ""
318
319#. module: l10n_es_bank_statement
320#: code:addons/l10n_es_bank_statement/import_c43_file.py:344
321#, python-format
322msgid "The bank statement is alredy confirmed. It can not be imported from file."
323msgstr ""
324
325#. module: l10n_es_bank_statement
326#: code:addons/l10n_es_bank_statement/import_c43_file.py:419
327#, python-format
328msgid "Error"
329msgstr ""
330
331#. module: l10n_es_bank_statement
332#: code:addons/l10n_es_bank_statement/account_bank_statement.py:168
333#, python-format
334msgid "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."
335msgstr ""
336
337#. module: l10n_es_bank_statement
338#: field:l10n.es.extractos.concepto,name:0
339msgid "Concept name"
340msgstr ""
341
342#. module: l10n_es_bank_statement
343#: constraint:account.bank.statement.line:0
344msgid "The amount of the voucher must be the same amount as the one on the statement line"
345msgstr ""
346
347#. module: l10n_es_bank_statement
348#: code:addons/l10n_es_bank_statement/import_conceptos.py:103
349#, python-format
350msgid "Cajero automático"
351msgstr ""
352
353#. module: l10n_es_bank_statement
354#: code:addons/l10n_es_bank_statement/import_conceptos.py:95
355#, python-format
356msgid "Recibo/Letra domiciliado"
357msgstr ""
358
359#. module: l10n_es_bank_statement
360#: code:addons/l10n_es_bank_statement/import_c43_file.py:201
361#, python-format
362msgid "Credit amount does not agree with the defined in the last record of account."
363msgstr ""
364
365#. module: l10n_es_bank_statement
366#: view:l10n.es.extractos.import.wizard:0
367msgid "This wizard will import default concepts related to standard accounts of spanish charts."
368msgstr ""
369
370#. module: l10n_es_bank_statement
371#: code:addons/l10n_es_bank_statement/import_conceptos.py:121
372#, python-format
373msgid "Import Error"
374msgstr ""
375
376#. module: l10n_es_bank_statement
377#: model:ir.model,name:l10n_es_bank_statement.model_account_bank_statement_line
378msgid "Bank Statement Line"
379msgstr ""
380
381#. module: l10n_es_bank_statement
382#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_import_wizard
383#: model:ir.ui.menu,name:l10n_es_bank_statement.menu_import_wizard
384msgid "Import Statement Concepts Wizard"
385msgstr ""
386
387#. module: l10n_es_bank_statement
388#: field:l10n.es.bank.statement.import.c43.wizard,reco_payment_order:0
389msgid "Reconcile payment orders by total amount"
390msgstr ""
391
392#. module: l10n_es_bank_statement
393#: model:ir.module.module,description:l10n_es_bank_statement.module_meta_information
394msgid "\n"
395"Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.\n"
396" \n"
397" Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.\n"
398" It allows to define default accounting codes for the concepts defined in the C43 bank statement file.\n"
399"\n"
400" The search of the entries to reconcile (and partner) is done like this:\n"
401" 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.\n"
402" 2) Unreconciled entries with (a partner with) the given VAT number and amount.\n"
403" These fields are tested to find a valid spanish VAT:\n"
404" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
405" - First 9 characters of 'conceptos' (La Caixa)\n"
406" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
407" 3) Unreconciled entries with the given amount.\n"
408"\n"
409" If no partner is found, the default account defined for the concept is used.\n"
410"\n"
411" 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"
412" "
413msgstr ""
414"Module for the importation of Spanish bank statements following the C43 normative of the 'Asociación Española de la Banca'.\n"
415" \n"
416" Adds a wizard to the bank statements to perform the importation. The imported file gets attached to the given bank statement.\n"
417" It allows to define default accounting codes for the concepts defined in the C43 bank statement file.\n"
418"\n"
419" The search of the entries to reconcile (and partner) is done like this:\n"
420" 1) Unreconciled entries with the given reference and amount. The reference is taken from the 'conceptos' or 'referencia2' fields of the statement.\n"
421" 2) Unreconciled entries with (a partner with) the given VAT number and amount.\n"
422" These fields are tested to find a valid spanish VAT:\n"
423" - First 9 characters of 'referencia1' (Banc Sabadell)\n"
424" - First 9 characters of 'conceptos' (La Caixa)\n"
425" - Characters [21:30] of 'conceptos' (Caja Rural del Jalón)\n"
426" 3) Unreconciled entries with the given amount.\n"
427"\n"
428" If no partner is found, the default account defined for the concept is used.\n"
429"\n"
430" 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"
431" "
432
433#. module: l10n_es_bank_statement
434#: code:addons/l10n_es_bank_statement/import_conceptos.py:110
435#, python-format
436msgid "Anulación/Corrección"
437msgstr ""
438
439#. module: l10n_es_bank_statement
440#: code:addons/l10n_es_bank_statement/import_c43_file.py:469
441#, python-format
442msgid "Bank Statement"
443msgstr ""
444
445#. module: l10n_es_bank_statement
446#: code:addons/l10n_es_bank_statement/import_conceptos.py:102
447#, python-format
448msgid "Cheque gasolina"
449msgstr ""
450
451#. module: l10n_es_bank_statement
452#: code:addons/l10n_es_bank_statement/import_conceptos.py:60
453#, python-format
454msgid "Info:"
455msgstr ""
456
457#. module: l10n_es_bank_statement
458#: field:l10n.es.bank.statement.import.c43.wizard,reco_reference_and_amount:0
459msgid "Reconcile by reference and amount"
460msgstr ""
461
462#. module: l10n_es_bank_statement
463#: view:l10n.es.extractos.import.wizard:0
464msgid "Import Wizard"
465msgstr ""
466
467#. module: l10n_es_bank_statement
468#: code:addons/l10n_es_bank_statement/import_conceptos.py:98
469#, python-format
470msgid "Remesa efectos"
471msgstr ""
472
473#. module: l10n_es_bank_statement
474#: model:ir.actions.act_window,name:l10n_es_bank_statement.action_extractos_concepto
475#: view:l10n.es.extractos.concepto:0
476msgid "C43 default accounts"
477msgstr ""
478
479#. module: l10n_es_bank_statement
480#: view:l10n.es.bank.statement.import.c43.wizard:0
481#: view:l10n.es.extractos.import.wizard:0
482msgid "Cancel"
483msgstr ""
484
485#. module: l10n_es_bank_statement
486#: code:addons/l10n_es_bank_statement/import_conceptos.py:152
487#: field:l10n.es.extractos.concepto,company_id:0
488#: field:l10n.es.extractos.import.wizard,company_id:0
489#, python-format
490msgid "Company"
491msgstr ""221msgstr ""
492222
493223
=== added directory 'l10n_es_bank_statement/models'
=== added file 'l10n_es_bank_statement/models/__init__.py'
--- l10n_es_bank_statement/models/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/__init__.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,26 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22from . import account_bank_statement
23from . import account_statement_profile
24from . import account_statement_completion_rule
25from . import c43_parser
26from . import c43_account_statement_profile
027
=== added file 'l10n_es_bank_statement/models/account_bank_statement.py'
--- l10n_es_bank_statement/models/account_bank_statement.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/account_bank_statement.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,53 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22from openerp.osv import orm, fields
23
24class AccountBankStatementLine(orm.Model):
25 _inherit = "account.bank.statement.line"
26
27 _columns = {
28 'c43_concept': fields.selection(
29 [('01', 'Reintegro/Talón'),
30 ('02', 'Ingreso/Entrega/Abonaré'),
31 ('03', 'Docimiliado/Recibo/Letra/Pago por su cta.'),
32 ('04', 'Giro/Transferencia/Traspaso/Cheque'),
33 ('05', 'Amortización préstamo'),
34 ('06', 'Remesa efectos'),
35 ('07', 'Subscripción/Div. pasivos/Canje'),
36 ('08', 'Div. cupones/Prima junta/Amortización'),
37 ('09', 'Compra/Venta valores'),
38 ('10', 'Cheque gasolina'),
39 ('11', 'Cajero automático'),
40 ('12', 'Tarjeta crédito/débito'),
41 ('13', 'Operaciones extranjero'),
42 ('14', 'Devolución/Impagado'),
43 ('15', 'Nómina/Seguro social'),
44 ('16', 'Timbre/Corretaje/Póliza'),
45 ('17', 'Intereses/Comisión/Custodia/Gastos/Impuestos'),
46 ('98', 'Anulación/Corrección'),
47 ('99', 'Varios')],
48 'C43 concept', readonly=True),
49 }
50
51 _defaults = {
52 'c43_concept': '99',
53 }
0\ No newline at end of file54\ No newline at end of file
155
=== added file 'l10n_es_bank_statement/models/account_statement_completion_rule.py'
--- l10n_es_bank_statement/models/account_statement_completion_rule.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/account_statement_completion_rule.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,136 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22from openerp.osv import orm, fields
23from openerp.addons.account_statement_base_completion.statement import ErrorTooManyPartner
24from openerp.tools.translate import _
25
26
27class AccountStatementCompletionRule(orm.Model):
28 _inherit = "account.statement.completion.rule"
29
30 def _get_functions(self, cr, uid, context=None):
31 res = super(AccountStatementCompletionRule, self)._get_functions(
32 cr, uid, context=context)
33 res.append(('get_from_caixabank_rules', _('From CaixaBank C43 rules')))
34 res.append(('get_from_generic_c43_rules', _('From generic C43 rules')))
35 return res
36
37 _columns = {
38 'function_to_call': fields.selection(_get_functions, 'Method'),
39 }
40
41 def get_from_caixabank_rules(self, cr, uid, st_line, context=None):
42 """
43 Match the partner based on several criteria extracted from reverse
44 engineer of CaixaBank C43 files.
45
46 If more than one partner is matched, raise the ErrorTooManyPartner
47 error.
48 :param dict st_line: read of the concerned account.bank.statement.line
49 :return:
50 A dict of value that can be passed directly to the write method of
51 the statement line or {}
52 {'partner_id': value,
53 'account_id' : value,
54 ...}
55 """
56 partner_obj = self.pool['res.partner']
57 st_line_obj = self.pool['account.bank.statement.line']
58 conceptos = eval(st_line['name'])
59 ids = []
60 res = {}
61 # Try to match from VAT included in concept complementary record #02
62 if conceptos.get('02'):
63 vat = conceptos['02'][0][:2] + conceptos['02'][0][7:]
64 ids = partner_obj.search(cr, uid, [('vat', '=', vat)],
65 context=context)
66 if len(ids) > 1:
67 raise ErrorTooManyPartner(
68 _('Line named "%s" (Ref: %s) was matched by more than '
69 'one partner for VAT number "%s".') % \
70 (st_line['name'], st_line['ref'], vat))
71 if not ids:
72 # Try to match from partner name
73 if conceptos.get('01'):
74 name = conceptos['01'][0][4:] + conceptos['01'][1]
75 ids = partner_obj.search(cr, uid, [('name', 'ilike', name)],
76 context=context)
77 if ids:
78 res['partner_id'] = ids[0]
79 st_vals = st_line_obj.get_values_for_line(
80 cr, uid, profile_id=st_line['profile_id'],
81 master_account_id=st_line['master_account_id'],
82 partner_id=res.get('partner_id', False),
83 line_type=st_line['type'],
84 amount=st_line['amount'] or 0.0,
85 context=context)
86 res.update(st_vals)
87 return res
88
89 def get_from_generic_c43_rules(self, cr, uid, st_line, context=None):
90 """
91 Match the partner based on invoice amount..
92
93 If more than one partner is matched, raise the ErrorTooManyPartner
94 error.
95 :param dict st_line: read of the concerned account.bank.statement.line
96 :return:
97 A dict of value that can be passed directly to the write method of
98 the statement line or {}
99 {'partner_id': value,
100 'account_id' : value,
101 ...}
102 """
103 st_line_obj = self.pool['account.bank.statement.line']
104 invoice_obj = self.pool['account.invoice']
105 ids = []
106 res = {}
107 # Finally, try to match from invoice amount
108 if st_line['amount'] > 0.0:
109 domain = [('type', 'in', ['out_invoice', 'in_refund'])]
110 else:
111 domain = [('type', 'in', ['in_invoice', 'out_refund'])]
112 domain.append(('amount_total', '=', abs(st_line['amount'])))
113 domain.append(('state', '=', 'open'))
114 invoice_ids = invoice_obj.search(cr, uid, domain,
115 context=context)
116 if invoice_ids:
117 invoices = invoice_obj.read(cr, uid, invoice_ids,
118 ['partner_id'], context=context)
119 ids = [x['partner_id'][0] for x in invoices]
120 ids = list(set(ids))
121 if len(ids) > 1:
122 raise ErrorTooManyPartner(
123 _('Line named "%s" (Ref: %s) was matched by more than '
124 'one partner for invoice amount "%s".') % \
125 (st_line['name'], st_line['ref'], st_line['amount']))
126 if ids:
127 res['partner_id'] = ids[0]
128 st_vals = st_line_obj.get_values_for_line(
129 cr, uid, profile_id=st_line['profile_id'],
130 master_account_id=st_line['master_account_id'],
131 partner_id=res.get('partner_id', False),
132 line_type=st_line['type'],
133 amount=st_line['amount'] or 0.0,
134 context=context)
135 res.update(st_vals)
136 return res
0137
=== added file 'l10n_es_bank_statement/models/account_statement_profile.py'
--- l10n_es_bank_statement/models/account_statement_profile.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/account_statement_profile.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,68 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22from openerp.osv import orm
23
24
25account_concept_mapping = {
26 '01': '4300%00',
27 '02': '4100%00',
28 '03': '4100%00',
29 '04': '4300%00',
30 '05': '6800%00',
31 '06': '4010%00',
32 '07': '5700%00',
33 '08': '6800%00',
34 '09': '2510%00',
35 '10': '5700%00',
36 '11': '5700%00',
37 '12': '5700%00',
38 '13': '5730%00',
39 '14': '4300%00',
40 '15': '6400%00',
41 '16': '6690%00',
42 '17': '6690%00',
43 '98': '5720%00',
44 '99': '5720%00',
45}
46
47
48class AccountStatementProfile(orm.Model):
49 _inherit = "account.statement.profile"
50
51 def prepare_statement_lines_vals(self, cr, uid, parser_vals, statement_id,
52 context):
53 """Complete values filling default account for each type of C43
54 operation.
55 """
56 vals = super(AccountStatementProfile, self
57 ).prepare_statement_lines_vals(
58 cr, uid, parser_vals, statement_id, context)
59 if vals.get('c43_concept'):
60 account_obj = self.pool['account.account']
61 account_ids = account_obj.search(
62 cr, uid,
63 [('code', 'like',
64 account_concept_mapping[vals['c43_concept']])],
65 context=context)
66 if account_ids:
67 vals['account_id'] = account_ids[0]
68 return vals
0\ No newline at end of file69\ No newline at end of file
170
=== added file 'l10n_es_bank_statement/models/c43_account_statement_profile.py'
--- l10n_es_bank_statement/models/c43_account_statement_profile.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/c43_account_statement_profile.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,35 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
6# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22from openerp.tools.translate import _
23from openerp.osv import fields, orm
24
25class AccountStatementProfil(orm.Model):
26 _inherit = "account.statement.profile"
27
28 def get_import_type_selection(self, cr, uid, context=None):
29 """Inherited from parent to add parser."""
30 selection = super(AccountStatementProfil, self
31 ).get_import_type_selection(cr, uid,
32 context=context)
33 selection.append(('aeb_c43', _('AEB C43 standard')))
34 return selection
35
036
=== added file 'l10n_es_bank_statement/models/c43_parser.py'
--- l10n_es_bank_statement/models/c43_parser.py 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/models/c43_parser.py 2014-06-11 10:49:43 +0000
@@ -0,0 +1,241 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (c) All rights reserved:
5# 2009 Zikzakmedia S.L. (http://zikzakmedia.com)
6# Jordi Esteve <jesteve@zikzakmedia.com>
7# 2010 Pexego Sistemas Informáticos
8# Borja López Soilán <borjals@pexego.es>
9# Alberto Luengo Cabanillas <alberto@pexego.es>
10# 2013-2014 Servicios Tecnológicos Avanzados (http://serviciosbaeza.com)
11# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
12#
13# This program is free software: you can redistribute it and/or modify
14# it under the terms of the GNU Affero General Public License as published
15# by the Free Software Foundation, either version 3 of the License, or
16# (at your option) any later version.
17#
18# This program is distributed in the hope that it will be useful,
19# but WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21# GNU Affero General Public License for more details.
22#
23# You should have received a copy of the GNU Affero General Public License
24# along with this program. If not, see <http://www.gnu.org/licenses/>.
25#
26##############################################################################
27from openerp.osv import orm
28from openerp.tools.translate import _
29from account_statement_base_import.parser import BankStatementImportParser
30from datetime import datetime
31
32
33class c43_parser(BankStatementImportParser):
34 """Class for defining parser for AEB C43 file format."""
35
36 def _process_record_11(self, line):
37 """11 - Registro cabecera de cuenta (obligatorio)"""
38 st_group = {
39 'entidad':line[2:6],
40 'oficina': line[6:10],
41 'cuenta': line[10:20],
42 'fecha_ini': datetime.strptime(line[20:26], '%y%m%d'),
43 'fecha_fin': datetime.strptime(line[26:32], '%y%m%d'),
44 'divisa': line[47:50],
45 'modalidad': line[50:51], # 1,2 o 3
46 'nombre_propietario': line[51:77],
47 'saldo_ini': float(line[33:45]) + (float(line[45:47]) / 100),
48 'saldo_fin': 0,
49 'num_debe': 0,
50 'debe': 0,
51 'num_haber': 0,
52 'haber': 0,
53 'lines': [],
54 }
55 if line[32:33] == '1':
56 st_group['saldo_ini'] *= -1
57 return st_group
58
59 def _process_record_22(self, line):
60 """22 - Registro principal de movimiento (obligatorio)"""
61 st_line = {
62 'of_origen': line[6:10],
63 'fecha_operación': datetime.strptime(line[10:16], '%y%m%d'),
64 'fecha_valor': datetime.strptime(line[16:22], '%y%m%d'),
65 'concepto_c': line[22:24],
66 'concepto_p': line[24:27],
67 'importe': (float(line[28:40]) + (float(line[40:42]) / 100)),
68 'num_documento': line[41:52],
69 'referencia1': line[52:64].strip(),
70 'referencia2': line[64:].strip(),
71 'conceptos': '',
72 }
73 if line[27:28] == '1':
74 st_line['importe'] *= -1
75 return st_line
76
77 def _process_record_23(self, st_line, line):
78 """23 - Registros complementarios de concepto (opcionales y hasta un
79 máximo de 5)"""
80 if not st_line.get('conceptos'):
81 st_line['conceptos'] = {}
82 st_line['conceptos'][line[2:4]] = (line[4:39].strip(),
83 line[39:].strip())
84 return st_line
85
86 def _process_record_24(self, st_line, line):
87 """24 - Registro complementario de información de equivalencia del
88 importe (opcional y sin valor contable)"""
89 st_line['divisa_eq'] = line[4:7]
90 st_line['importe_eq'] = float(line[7:19]) + (float(line[19:21]) / 100)
91 return st_line
92
93 def _process_record_33(self, st_group, line):
94 """33 - Registro final de cuenta"""
95 st_group['num_debe'] += int(line[20:25])
96 st_group['debe'] += float(line[25:37]) + float(line[37:39]) / 100
97 st_group['num_haber'] += int(line[39:44])
98 st_group['haber'] += float(line[44:56]) + float(line[56:58]) / 100
99 st_group['saldo_fin'] += float(line[59:71]) + float(line[71:73]) / 100
100 if line[58:59] == '1':
101 st_group['saldo_fin'] *= -1
102 # Group level checks
103 debit_count = 0
104 debit = 0.0
105 credit_count = 0
106 credit = 0.0
107 for st_line in st_group['lines']:
108 if st_line['importe'] < 0:
109 debit_count += 1
110 debit -= st_line['importe']
111 else:
112 credit_count += 1
113 credit += st_line['importe']
114 if st_group['num_debe'] != debit_count:
115 raise orm.except_orm(_('Error in C43 file'),
116 _("Number of debit records doesn't match with the defined in "
117 "the last record of account."))
118 if st_group['num_haber'] != credit_count:
119 raise orm.except_orm(_('Error in C43 file'),
120 _("Number of credit records doesn't match with the defined "
121 "in the last record of account."))
122 if abs(st_group['debe'] - debit) > 0.005:
123 raise orm.except_orm(_('Error in C43 file'),
124 _("Debit amount doesn't match with the defined in the last "
125 "record of account."))
126 if abs(st_group['haber'] - credit) > 0.005:
127 raise orm.except_orm(_('Error in C43 file'),
128 _("Credit amount doesn't match with the defined in the last "
129 "record of account."))
130 # Note: Only perform this check if the balance is defined on the file
131 # record, as some banks may leave it empty (zero) on some circumstances
132 # (like CaixaNova extracts for VISA credit cards).
133 if st_group['saldo_fin']:
134 balance = st_group['saldo_ini'] + credit - debit
135 if abs(st_group['saldo_fin'] - balance) > 0.005:
136 raise orm.except_orm(_('Error in C43 file'),
137 _("Final balance amount = (initial balance + credit "
138 "- debit) doesn't match with the defined in the last "
139 "record of account."))
140 return st_group
141
142 def _process_record_88(self, st_data, line):
143 """88 - Registro de fin de archivo"""
144 st_data['num_registros'] = int(line[20:26])
145 # File level checks
146 if st_data['num_registros'] != st_data['_num_records']:
147 raise orm.except_orm(_('Error in C43 file'),
148 _("Number of records doesn't match with the defined in the "
149 "last record."))
150 return st_data
151
152 @classmethod
153 def parser_for(cls, parser_name):
154 """
155 Used by the new_bank_statement_parser class factory.
156 @return: True if the providen name is 'aeb_c43'.
157 """
158 return parser_name == 'aeb_c43'
159
160 def _pre(self, *args, **kwargs):
161 """Decode and re-encode to avoid pg errors on string codification."""
162 self.filebuffer = self.filebuffer.decode('iso-8859-1').encode('utf-8')
163
164 def _parse(self, *args, **kwargs):
165 """Launch the parsing itself."""
166 # st_data will contain data read from the file
167 st_data = {
168 '_num_records': 0, # Number of records really counted
169 'groups': [], # Info about each of the groups (account groups)
170 }
171 for raw_line in self.filebuffer.split("\n"):
172 if not raw_line:
173 continue
174 code = raw_line[0:2]
175 if code == '11':
176 st_group = self._process_record_11(raw_line)
177 st_data['groups'].append(st_group)
178 elif code == '22':
179 st_line = self._process_record_22(raw_line)
180 st_group['lines'].append(st_line)
181 elif code == '23':
182 self._process_record_23(st_line, raw_line)
183 elif code == '24':
184 self._process_record_24(st_line, raw_line)
185 elif code == '33':
186 self._process_record_33(st_group, raw_line)
187 elif code == '88':
188 self._process_record_88(st_data, raw_line)
189 elif ord(raw_line[0]) == 26:
190 # CTRL-Z (^Z), is often used as an end-of-file marker in DOS
191 continue
192 else:
193 raise orm.except_orm(
194 _('Error in C43 file'),
195 _('Record type %s is not valid.') % raw_line[0:2])
196 # Update the record counter
197 st_data['_num_records'] += 1
198 self.result_row_list = []
199 for st_group in st_data['groups']:
200 self.result_row_list += st_group['lines']
201 return True
202
203 def _validate(self, *args, **kwargs):
204 """Nothing to do here."""
205 return True
206
207 def get_st_line_vals(self, line, *args, **kwargs):
208 """
209 This method must return a dict of vals that can be passed to create
210 method of statement line in order to record it. It is the
211 responsibility of every parser to give this dict of vals, so each one
212 can implement his own way of recording the lines.
213 :param: line: a dict of vals that represent a line of
214 result_row_list
215 :return: dict of values to give to the create method of statement
216 line
217 """
218 vals = {
219 'name': line['conceptos'],
220 'date': line['fecha_operación'],
221 'amount': line['importe'],
222 'label': line['concepto_p'],
223 'c43_concept': line['concepto_c'],
224 }
225 # Discard references like '00000000'
226 try:
227 ref1 = int(line['referencia1'])
228 except:
229 ref1 = line['referencia1']
230 try:
231 ref2 = int(line['referencia2'])
232 except:
233 ref2 = line['referencia2']
234 if not ref1:
235 vals['ref'] = line['referencia2'] or '/'
236 elif not ref2:
237 vals['ref'] = line['referencia1'] or '/'
238 else:
239 vals['ref'] = "%s / %s" % (line['referencia1'],
240 line['referencia2'])
241 return vals
0242
=== added directory 'l10n_es_bank_statement/static'
=== added symlink 'l10n_es_bank_statement/static/description'
=== target is u'src/img'
=== added directory 'l10n_es_bank_statement/static/src'
=== added directory 'l10n_es_bank_statement/static/src/img'
=== added file 'l10n_es_bank_statement/static/src/img/icon.png'
1Binary 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 differ243Binary 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
=== added file 'l10n_es_bank_statement/static/src/img/icon.svg'
--- l10n_es_bank_statement/static/src/img/icon.svg 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/static/src/img/icon.svg 2014-06-11 10:49:43 +0000
@@ -0,0 +1,111 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 height="128"
13 id="svg1"
14 inkscape:export-filename="icon.png"
15 inkscape:export-xdpi="90"
16 inkscape:export-ydpi="90"
17 inkscape:version="0.48.4 r9939"
18 sodipodi:docname="icon.svg"
19 sodipodi:version="0.32"
20 width="128"
21 version="1.1">
22 <metadata
23 id="metadata3">
24 <rdf:RDF>
25 <cc:Work
26 rdf:about="">
27 <dc:title>spain_provinces</dc:title>
28 <dc:description />
29 <dc:subject>
30 <rdf:Bag>
31 <rdf:li>spain</rdf:li>
32 <rdf:li>geography</rdf:li>
33 </rdf:Bag>
34 </dc:subject>
35 <dc:publisher>
36 <cc:Agent
37 rdf:about="http://www.openclipart.org">
38 <dc:title>sherrera</dc:title>
39 </cc:Agent>
40 </dc:publisher>
41 <dc:creator>
42 <cc:Agent>
43 <dc:title>sherrera</dc:title>
44 </cc:Agent>
45 </dc:creator>
46 <dc:rights>
47 <cc:Agent>
48 <dc:title>sherrera</dc:title>
49 </cc:Agent>
50 </dc:rights>
51 <dc:date />
52 <dc:format>image/svg+xml</dc:format>
53 <dc:type
54 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
55 <cc:license
56 rdf:resource="http://web.resource.org/cc/PublicDomain" />
57 <dc:language>en</dc:language>
58 </cc:Work>
59 <cc:License
60 rdf:about="http://web.resource.org/cc/PublicDomain">
61 <cc:permits
62 rdf:resource="http://web.resource.org/cc/Reproduction" />
63 <cc:permits
64 rdf:resource="http://web.resource.org/cc/Distribution" />
65 <cc:permits
66 rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
67 </cc:License>
68 </rdf:RDF>
69 </metadata>
70 <defs
71 id="defs3" />
72 <sodipodi:namedview
73 bordercolor="#666666"
74 borderopacity="1.0"
75 id="base"
76 inkscape:current-layer="svg1"
77 inkscape:cx="52.620802"
78 inkscape:cy="47.628061"
79 inkscape:pageopacity="0.0"
80 inkscape:pageshadow="2"
81 inkscape:window-height="1176"
82 inkscape:window-width="1861"
83 inkscape:window-x="59"
84 inkscape:window-y="24"
85 inkscape:zoom="3.6235294"
86 pagecolor="#ffffff"
87 showgrid="false"
88 inkscape:window-maximized="1"
89 fit-margin-top="0"
90 fit-margin-left="0"
91 fit-margin-right="0"
92 fit-margin-bottom="0" />
93 <g
94 id="layer1"
95 inkscape:groupmode="layer"
96 inkscape:label="Layer 1"
97 transform="translate(-14.567953,-599.45664)" />
98 <g
99 id="layer1-9"
100 inkscape:label="Layer 1"
101 transform="translate(1400.7975,748.89372)" />
102 <path
103 style="fill:#015f2d"
104 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"
105 id="path2996"
106 inkscape:connector-curvature="0" />
107 <path
108 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"
109 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 "
110 id="path3058" />
111</svg>
0112
=== added directory 'l10n_es_bank_statement/views'
=== added file 'l10n_es_bank_statement/views/account_bank_statement_view.xml'
--- l10n_es_bank_statement/views/account_bank_statement_view.xml 1970-01-01 00:00:00 +0000
+++ l10n_es_bank_statement/views/account_bank_statement_view.xml 2014-06-11 10:49:43 +0000
@@ -0,0 +1,20 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3<data>
4
5 <record id="view_bank_statement_form_c43" model="ir.ui.view">
6 <field name="name">account.bank.statement.c43.form</field>
7 <field name="model">account.bank.statement</field>
8 <field name="inherit_id" ref="account.view_bank_statement_form"/>
9 <field name="arch" type="xml">
10 <xpath expr="//field[@name='line_ids']/tree//field[@name='date']" position="after">
11 <field name="c43_concept"/>
12 </xpath>
13 <xpath expr="//field[@name='line_ids']/form//field[@name='date']" position="after">
14 <field name="c43_concept"/>
15 </xpath>
16 </field>
17 </record>
18
19</data>
20</openerp>