Merge lp:~a-camilli/openobject-italia/7.0_add_abi_cab into lp:~openobject-italia-core-devs/openobject-italia/italian-addons-7.0

Proposed by Alessandro Camilli
Status: Rejected
Rejected by: Lorenzo Battistini
Proposed branch: lp:~a-camilli/openobject-italia/7.0_add_abi_cab
Merge into: lp:~openobject-italia-core-devs/openobject-italia/italian-addons-7.0
Diff against target: 509 lines (+443/-0)
11 files modified
l10n_it_abicab/AUTHORS.txt (+2/-0)
l10n_it_abicab/__init__.py (+25/-0)
l10n_it_abicab/__openerp__.py (+38/-0)
l10n_it_abicab/abicab.py (+46/-0)
l10n_it_abicab/abicab_view.xml (+61/-0)
l10n_it_abicab/bank/__init__.py (+20/-0)
l10n_it_abicab/bank/bank.py (+98/-0)
l10n_it_abicab/i18n/it.po (+37/-0)
l10n_it_abicab/wizard/__init__.py (+22/-0)
l10n_it_abicab/wizard/import_italian_bank.py (+57/-0)
l10n_it_abicab/wizard/import_italian_bank_view.xml (+37/-0)
To merge this branch: bzr merge lp:~a-camilli/openobject-italia/7.0_add_abi_cab
Reviewer Review Type Date Requested Status
Lorenzo Battistini Needs Resubmitting
Review via email: mp+170086@code.launchpad.net

Description of the change

Adeguamento del modulo abi e cab alla versione 7.0.

Aggiunta un'utility per importare le banche nazionali dal file TXT che si può scaricare sia dai siti che dai programmi di homebanking.
L'utility l'ho messa nel menu di contabilità->configurazione->varie

To post a comment you must log in.
Revision history for this message
Lorenzo Battistini (elbati) wrote :

Ciao Alessandro.

Dove è documentata la struttura del file TXT da importare?

Qual è il tipico caso d'uso in cui questa nuova funzionalità verrebbe usata?

Come mai 'wizard.import.italian.bank' e 'l10n_it_abicab.utility.import' sono due model distinti?

Grazie

review: Needs Information
Revision history for this message
Alessandro Camilli (a-camilli) wrote :

> Ciao Alessandro.
>
> Dove è documentata la struttura del file TXT da importare?
Ho ripreso la struttura da un vecchio sorgente che avevo fatto. La struttura l'ho provata sul file che puoi scaricare sia da BNL che da UNICREDIT (e altre banche prese a campione come la CARIFERMO). Per questo do per scontato se si scarica l'elenco delle banche italiane in formato testo da un sito bancario il formato è sempre lo stesso.
>
> Qual è il tipico caso d'uso in cui questa nuova funzionalità verrebbe usata?
Ora quando si vuole inserire una banca nel partner, se non esiste occorre crearla (ragione sociale, localita, abi, cab ecc..). Visto che l'archivio delle banche viene fornito da tutti gli istituti è molto comodo averle già codificate e limitarsi a sceglierla per assegnarla al partner.
Nella pratica capita spesso che l'utente che si trova a codificare una nuova banca deve cercare i dati su internet o nel software della banca, e inserirli in openERP con copia/incolla.
La funzione può essere eseguita in ogni momento(previo download del file aggiornato), ogni volta che si vuole aggiungere nuove banche all'archivio. Il classico caso riguarda le fusioni bancarie dove all'archivio dovrebbero essere aggiunte le filiali con i nuovi ABI e CAB.

>
> Come mai 'wizard.import.italian.bank' e 'l10n_it_abicab.utility.import' sono
> due model distinti?
Ho usato il concetto del MVC, ma non so se sia corretto.
Ho creato un modello a parte come "contenitore" di tutte le possibili funzioni di import dei flussi bancari (avevo anche in mente di metterci gli insoluti riba).
La funzione "import_from_abicab" è presa da questo modello, mentre la wizard l'ho usata come semplice view.

Pensi sia meglio mettere tutto nel wizard?

>
> Grazie
Grazie a te!

Revision history for this message
Lorenzo Battistini (elbati) wrote :

Ciao Alessandro,

ti chiederei di splittare in due questa merge proposal:
 - una MP per aggiungere il modulo portato alla 7
 - una MP per aggiungere la funzionalità di cui stavamo discutendo

Così da una parte possiamo pubblicare il modulo sulla 7 grazie al tuo lavoro, dall'altra andiamo avanti col discorso sulla nuova funzionalità

review: Needs Resubmitting
Revision history for this message
Alessandro Camilli (a-camilli) wrote :

Ho fatto lo split x abi e cab su lp:~a-camilli/openobject-italia/7.0_abi_cab

Unmerged revisions

211. By Alessandro Camilli

Gestione abi e cab + utility per import banche da file txt

210. By Alessandro Camilli

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'l10n_it_abicab'
=== added file 'l10n_it_abicab/AUTHORS.txt'
--- l10n_it_abicab/AUTHORS.txt 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/AUTHORS.txt 2013-06-18 14:14:40 +0000
@@ -0,0 +1,2 @@
1Franco Tampieri <franco.tampieri@agilebg.com>
2Alessandro Camilli <a.camilli@yahoo.it>
03
=== added file 'l10n_it_abicab/__init__.py'
--- l10n_it_abicab/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/__init__.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,25 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012
6# Associazione OpenERP Italia (<http://www.openerp-italia.org>)
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
10# published by the Free Software Foundation, either version 3 of the
11# License, or (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#############################################################################
22
23import abicab
24import bank
25import wizard
0\ No newline at end of file26\ No newline at end of file
127
=== added file 'l10n_it_abicab/__openerp__.py'
--- l10n_it_abicab/__openerp__.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/__openerp__.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,38 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012
6# Associazione OpenERP Italia (<http://www.openerp-italia.org>)
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
10# published by the Free Software Foundation, either version 3 of the
11# License, or (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#############################################################################
22
23{
24 'name': 'Italian Localisation - Base Bank ABI/CAB codes',
25 'version': '1.0',
26 'category': 'Localisation/Italy',
27 'description': """
28 Insert in the res.bank model the proprieties of the ABI/CAB
29 Utility to import italian bank from txt file
30 """,
31 'author': 'OpenERP Italian Community',
32 'depends': ['base'],
33 'website': 'http://www.openerp-italia.org/',
34 'update_xml': ['abicab_view.xml', 'wizard/import_italian_bank_view.xml'],
35 'installable': True,
36 'active': False,
37 'certificate': '',
38}
0\ No newline at end of file39\ No newline at end of file
140
=== added file 'l10n_it_abicab/abicab.py'
--- l10n_it_abicab/abicab.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/abicab.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,46 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012
6# Associazione OpenERP Italia (<http://www.openerp-italia.org>)
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
10# published by the Free Software Foundation, either version 3 of the
11# License, or (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#############################################################################
22
23from osv import fields, osv
24
25class res_bank(osv.osv):
26 _inherit = "res.bank"
27 _columns = {
28 'abi': fields.char('ABI', size=5),
29 'cab': fields.char('CAB', size=5),
30 }
31
32class res_partner_bank(osv.osv):
33 _inherit = "res.partner.bank"
34 _columns = {
35 'bank_abi': fields.char('ABI', size=5),
36 'bank_cab': fields.char('CAB', size=5),
37 }
38
39 def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
40 result = super(res_partner_bank, self).onchange_bank_id(cr, uid, ids, bank_id, context=context)
41 if bank_id:
42 bank = self.pool.get('res.bank').browse(cr, uid, bank_id, context=context)
43 result['value']['bank_abi'] = bank.abi
44 result['value']['bank_cab'] = bank.cab
45 return result
46
047
=== added file 'l10n_it_abicab/abicab_view.xml'
--- l10n_it_abicab/abicab_view.xml 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/abicab_view.xml 2013-06-18 14:14:40 +0000
@@ -0,0 +1,61 @@
1<?xml version="1.0" ?>
2<openerp>
3 <data>
4
5 <record id="view_bank_tree_abicab" model="ir.ui.view">
6 <field name="name">res.bank.tree.abicab</field>
7 <field name="model">res.bank</field>
8 <field name="inherit_id" ref="base.view_res_bank_tree"/>
9 <field name="arch" type="xml">
10 <field name="name" position="after">
11 <field name="abi"/>
12 <field name="cab"/>
13 </field>
14 </field>
15 </record>
16
17 <record id="view_bank_form_abicab" model="ir.ui.view">
18 <field name="name">res.bank.form.abicab</field>
19 <field name="model">res.bank</field>
20 <field name="inherit_id" ref="base.view_res_bank_form"/>
21 <field name="arch" type="xml">
22 <field name="name" position="after">
23 <newline/>
24 <separator string="Bank Details" colspan="6"/>
25 <group colspan="6" col="6">
26 <field name="abi"/>
27 <field name="cab"/>
28 </group>
29 </field>
30 </field>
31 </record>
32
33 <record id="view_partner_bank_form_abicab_form" model="ir.ui.view">
34 <field name="name">res.partner.bank.form</field>
35 <field name="model">res.partner.bank</field>
36 <field name="inherit_id" ref="base.view_partner_bank_form"/>
37 <field name="arch" type="xml">
38
39 <field name="bank_bic" position="after">
40 <field name="bank_abi"/>
41 <field name="bank_cab"/>
42 </field>
43
44 </field>
45 </record>
46
47 <record id="view_partner_bank_form_abicab" model="ir.ui.view">
48 <field name="name">res.partner.bank.form</field>
49 <field name="model">res.partner</field>
50 <field name="inherit_id" ref="account.view_partner_property_form"/>
51 <field name="arch" type="xml">
52
53 <field name="bank_name" position="after">
54 <field name="bank_abi"/>
55 <field name="bank_cab"/>
56 </field>
57 </field>
58 </record>
59
60 </data>
61</openerp>
0\ No newline at end of file62\ No newline at end of file
163
=== added directory 'l10n_it_abicab/bank'
=== added file 'l10n_it_abicab/bank/__init__.py'
--- l10n_it_abicab/bank/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/bank/__init__.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,20 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# Copyright (C) 2013 Alessandro Camilli (a.camilli@yahoo.it)
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU Affero General Public License as published
8# by the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU Affero General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18#
19##############################################################################
20import bank
021
=== added file 'l10n_it_abicab/bank/bank.py'
--- l10n_it_abicab/bank/bank.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/bank/bank.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,98 @@
1# -*- coding: utf-8 -*-
2#################################################################################
3# Author: Alessandro Camilli a.camilli@yahoo.it
4#
5# This program is free software: you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>.
17#
18##############################################################################
19
20from osv import fields,osv
21from tools.translate import _
22import time
23import base64
24import tools
25from os import path
26
27class bank(osv.osv_memory):
28
29 _name = "l10n_it_abicab.utility.import"
30
31 _description = 'Use this wizard to import bank from txt'
32
33 def import_from_abicab(self, cr, uid, ids, data, context=None):
34
35 addons_path = tools.config.get('addons_path')
36 path_for_file = ""
37 for os_path in addons_path.split(','):
38 path_for_file = os_path + "/l10n_it_abicab/bank/"
39 if path.exists(path_for_file):
40 break
41
42 file_txt_to_import = base64.decodestring(data['form']['file_txt_to_import'])
43 f = open(path_for_file + "abicab.txt", "w")
44 f.write(file_txt_to_import)
45 f.close()
46
47 iFile = open(path_for_file + 'abicab.txt')
48 reader = iFile.readlines()
49
50 for row in reader:
51
52 prefissoRiga = row[:2]
53 #
54 # INTESTAZIONE BANCA
55 #
56 if prefissoRiga == '11':
57 banca_descrizione = row[13:93]
58 #
59 # INDIRIZZO AGENZIA
60 #
61 if prefissoRiga == '21':
62 agenzia_indirizzo = row[20:60]
63 agenzia_localita = row[140:180]
64 agenzia_cap = row[180:185]
65 agenzia_provincia = row[185:187]
66 #
67 # AGENZIA
68 #
69 if prefissoRiga == '31':
70 agenzia_abi = row[2:7]
71 agenzia_cab = row[7:12]
72 agenzia_descrizione = row[12:52]
73
74 # Creazione banca ( dopo ogni agenzia)
75 bank_dati = {
76 'name': banca_descrizione.strip().decode('cp1252') + ' - ' + agenzia_descrizione.strip().decode('cp1252'),
77 'abi' : agenzia_abi,
78 'cab': agenzia_cab,
79 'street': agenzia_indirizzo.strip().decode('cp1252'),
80 'zip': agenzia_cap,
81 'city': agenzia_localita.strip().decode('cp1252'),
82 }
83
84 cr.execute('SELECT name,id FROM res_bank where abi =%s and cab=%s', (agenzia_abi, agenzia_cab) )
85 bank_exists = cr.fetchall()
86 if len(bank_exists) == 0:
87 try:
88 bank_id = self.pool.get('res.bank').create(cr, uid, bank_dati)
89 cr.commit()
90 except Exception:
91 cr.rollback()
92 raise ("error creating %s: abi %s, cab %s", (banca_descrizione,agenzia_abi,agenzia_cab))
93
94
95 iFile.close()
96bank()
97
98# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
0\ No newline at end of file99\ No newline at end of file
1100
=== added directory 'l10n_it_abicab/i18n'
=== added file 'l10n_it_abicab/i18n/it.mo'
2Binary files l10n_it_abicab/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_abicab/i18n/it.mo 2013-06-18 14:14:40 +0000 differ101Binary files l10n_it_abicab/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_abicab/i18n/it.mo 2013-06-18 14:14:40 +0000 differ
=== added file 'l10n_it_abicab/i18n/it.po'
--- l10n_it_abicab/i18n/it.po 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/i18n/it.po 2013-06-18 14:14:40 +0000
@@ -0,0 +1,37 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_it_abicab
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 6.0.3\n"
8"Report-Msgid-Bugs-To: support@openerp.com\n"
9"POT-Creation-Date: 2011-12-29 13:07+0000\n"
10"PO-Revision-Date: 2011-12-29 14:08+0100\n"
11"Last-Translator: Franco Tampieri <info@titdata.it>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: 8bit\n"
16"Plural-Forms: \n"
17
18#. module: l10n_it_abicab
19#: field:res.bank,abi:0
20msgid "ABI"
21msgstr "ABI"
22
23#. module: l10n_it_abicab
24#: view:res.bank:0
25msgid "Bank Details"
26msgstr "Dettagli Banca"
27
28#. module: l10n_it_abicab
29#: model:ir.model,name:l10n_it_abicab.model_res_bank
30msgid "Bank"
31msgstr "Banca"
32
33#. module: l10n_it_abicab
34#: field:res.bank,cab:0
35msgid "CAB"
36msgstr "CAB"
37
038
=== added directory 'l10n_it_abicab/wizard'
=== added file 'l10n_it_abicab/wizard/__init__.py'
--- l10n_it_abicab/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/wizard/__init__.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,22 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012
6# Associazione OpenERP Italia (<http://www.openerp-italia.org>)
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
10# published by the Free Software Foundation, either version 3 of the
11# License, or (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#############################################################################
22import import_italian_bank
0\ No newline at end of file23\ No newline at end of file
124
=== added file 'l10n_it_abicab/wizard/import_italian_bank.py'
--- l10n_it_abicab/wizard/import_italian_bank.py 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/wizard/import_italian_bank.py 2013-06-18 14:14:40 +0000
@@ -0,0 +1,57 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012
6# Associazione OpenERP Italia (<http://www.openerp-italia.org>)
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
10# published by the Free Software Foundation, either version 3 of the
11# License, or (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#############################################################################
22
23from osv import fields,osv
24from tools.translate import _
25import time
26import psycopg2
27from StringIO import StringIO
28
29
30class wizard_import_italian_bank(osv.osv_memory):
31
32 _name = "wizard.import.italian.bank"
33
34 _description = 'Use this wizard to import italian bank from ufficial file txt'
35
36 _columns={
37 'file_txt_to_import': fields.binary('File TXT to import', required=True, help="Se il file è troppo grande, dividerlo facendo attenzione \
38 affinchè la prima riga del nuovo file inizi con il previsso 11, ovvero con l'intestazione della nuova banca."),
39 }
40
41
42 def import_italian_bank(self, cr, uid, ids, data, context=None):
43
44 for wiz_obj in self.read(cr,uid,ids):
45 if 'form' not in data:
46 data['form'] = {}
47 #data['form']['type'] = wiz_obj['type']
48 data['form']['file_txt_to_import'] = wiz_obj['file_txt_to_import']
49
50 self.pool.get('l10n_it_abicab.utility.import').import_from_abicab(cr, uid, ids, data, context=None)
51
52 return {'type': 'ir.actions.act_window_close'}
53
54
55wizard_import_italian_bank()
56
57# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
0\ No newline at end of file58\ No newline at end of file
159
=== added file 'l10n_it_abicab/wizard/import_italian_bank_view.xml'
--- l10n_it_abicab/wizard/import_italian_bank_view.xml 1970-01-01 00:00:00 +0000
+++ l10n_it_abicab/wizard/import_italian_bank_view.xml 2013-06-18 14:14:40 +0000
@@ -0,0 +1,37 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4 <!--
5 Form
6 -->
7 <record id="l10n_it_abicab_utility_import_italian_bank" model="ir.ui.view">
8 <field eval="1" name="priority"/>
9 <field name="name">openforce.utility.import.italian.bank</field>
10 <field name="model">wizard.import.italian.bank</field>
11 <field name="type">form</field>
12 <field name="arch" type="xml">
13 <form string="Params" version="7.0">
14 <group col="4">
15 <field name="file_txt_to_import" />
16 </group>
17 <button name="import_italian_bank" string="Import italian banks " type="object" icon="gtk-execute" />
18 </form>
19 </field>
20 </record>
21
22 <!-- ACTION -->
23
24 <record id="l10n_it_abicab_utility_import_italian_bank_action" model="ir.actions.act_window">
25 <field name="name">Import italian bank</field>
26 <field name="res_model">wizard.import.italian.bank</field>
27 <field name="view_type">form</field>
28 <field name="view_mode">form,tree,graph</field>
29 <field name="view_id" ref="l10n_it_abicab_utility_import_italian_bank"/>
30 <field name="help">Import italian bank from txt abicab</field>
31 <field name="target">new</field>
32 </record>
33
34 <menuitem action="l10n_it_abicab_utility_import_italian_bank_action" id="menu_l10n_it_abicab_utility_import_italian_bank" parent="account.menu_configuration_misc"/>
35
36 </data>
37</openerp>

Subscribers

People subscribed via source and target branches