From 982e986fc6dacc5df73d3989706ebd33a7eeea95 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 10 Sep 2014 12:19:20 +0200 Subject: [PATCH] [MIG] account_banking_sepa_credit_transfer: Migration to v8 --- .../__init__.py | 2 +- .../__openerp__.py | 36 ++- .../account_banking_sepa.py | 90 ------ .../data/payment_type_sepa_sct.xml | 4 + .../{ => demo}/sepa_credit_transfer_demo.xml | 1 + .../account_banking_sepa_credit_transfer.pot | 260 ++++++++++-------- .../i18n/es.po | 231 ++++++++++++++++ .../models/__init__.py | 23 ++ .../models/account_banking_sepa.py | 80 ++++++ .../static/description/icon.png | Bin 0 -> 8373 bytes .../static/description/icon.svg | 92 +++++++ .../static/src/img/icon.png | Bin 6936 -> 0 bytes .../{ => views}/account_banking_sepa_view.xml | 0 .../wizard/export_sepa.py | 88 +++--- 14 files changed, 623 insertions(+), 284 deletions(-) delete mode 100644 account_banking_sepa_credit_transfer/account_banking_sepa.py rename account_banking_sepa_credit_transfer/{ => demo}/sepa_credit_transfer_demo.xml (92%) create mode 100644 account_banking_sepa_credit_transfer/i18n/es.po create mode 100644 account_banking_sepa_credit_transfer/models/__init__.py create mode 100644 account_banking_sepa_credit_transfer/models/account_banking_sepa.py create mode 100644 account_banking_sepa_credit_transfer/static/description/icon.png create mode 100644 account_banking_sepa_credit_transfer/static/description/icon.svg delete mode 100644 account_banking_sepa_credit_transfer/static/src/img/icon.png rename account_banking_sepa_credit_transfer/{ => views}/account_banking_sepa_view.xml (100%) diff --git a/account_banking_sepa_credit_transfer/__init__.py b/account_banking_sepa_credit_transfer/__init__.py index 207f87a21..c30bd487e 100644 --- a/account_banking_sepa_credit_transfer/__init__.py +++ b/account_banking_sepa_credit_transfer/__init__.py @@ -21,4 +21,4 @@ ############################################################################## from . import wizard -from . import account_banking_sepa +from . import models diff --git a/account_banking_sepa_credit_transfer/__openerp__.py b/account_banking_sepa_credit_transfer/__openerp__.py index fa2aa04e6..b7c3ff00e 100644 --- a/account_banking_sepa_credit_transfer/__openerp__.py +++ b/account_banking_sepa_credit_transfer/__openerp__.py @@ -22,43 +22,39 @@ { 'name': 'Account Banking SEPA Credit Transfer', 'summary': 'Create SEPA XML files for Credit Transfers', - 'version': '0.2', + 'version': '8.0.0.3.0', 'license': 'AGPL-3', - 'author': 'Akretion', - 'website': 'http://www.akretion.com', + 'author': "Akretion, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Odoo Community Association (OCA)", + 'website': 'https://github.com/OCA/bank-payment', 'category': 'Banking addons', 'depends': ['account_banking_pain_base'], 'external_dependencies': { 'python': ['unidecode', 'lxml'], }, 'data': [ - 'account_banking_sepa_view.xml', + 'views/account_banking_sepa_view.xml', 'wizard/export_sepa_view.xml', 'data/payment_type_sepa_sct.xml', 'security/ir.model.access.csv', ], - 'demo': ['sepa_credit_transfer_demo.xml'], + 'demo': [ + 'demo/sepa_credit_transfer_demo.xml' + ], 'description': ''' Module to export payment orders in SEPA XML file format. SEPA PAIN (PAyment INitiation) is the new european standard for -Customer-to-Bank payment instructions. - -This module implements SEPA Credit Transfer (SCT), more specifically PAIN -versions 001.001.02, 001.001.03, 001.001.04 and 001.001.05. -It is part of the ISO 20022 standard, available on http://www.iso20022.org. +Customer-to-Bank payment instructions. This module implements SEPA Credit +Transfer (SCT), more specifically PAIN versions 001.001.02, 001.001.03, +001.001.04 and 001.001.05. It is part of the ISO 20022 standard, available on +http://www.iso20022.org. The Implementation Guidelines for SEPA Credit Transfer published by the -European Payments Council (http://http://www.europeanpaymentscouncil.eu) -use PAIN version 001.001.03, so it's probably the version of PAIN that you -should try first. - -This module uses the framework provided by the banking addons, -cf https://www.github.com/OCA/banking-addons - -Please contact Alexis de Lattre from Akretion -for any help or question about this module. +European Payments Council (http://http://www.europeanpaymentscouncil.eu) use +PAIN version 001.001.03, so it's probably the version of PAIN that you should +try first. ''', - 'active': False, 'installable': True, } diff --git a/account_banking_sepa_credit_transfer/account_banking_sepa.py b/account_banking_sepa_credit_transfer/account_banking_sepa.py deleted file mode 100644 index 99d5b022b..000000000 --- a/account_banking_sepa_credit_transfer/account_banking_sepa.py +++ /dev/null @@ -1,90 +0,0 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# SEPA Credit Transfer module for OpenERP -# Copyright (C) 2010-2013 Akretion (http://www.akretion.com) -# @author: Alexis de Lattre -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from openerp.osv import orm, fields -from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode - - -class banking_export_sepa(orm.Model): - '''SEPA export''' - _name = 'banking.export.sepa' - _description = __doc__ - _rec_name = 'filename' - - def _generate_filename(self, cr, uid, ids, name, arg, context=None): - res = {} - for sepa_file in self.browse(cr, uid, ids, context=context): - ref = sepa_file.payment_order_ids[0].reference - if ref: - label = unidecode(ref.replace('/', '-')) - else: - label = 'error' - res[sepa_file.id] = 'sct_%s.xml' % label - return res - - _columns = { - 'payment_order_ids': fields.many2many( - 'payment.order', - 'account_payment_order_sepa_rel', - 'banking_export_sepa_id', 'account_order_id', - 'Payment Orders', - readonly=True), - 'nb_transactions': fields.integer( - 'Number of Transactions', readonly=True), - 'total_amount': fields.float( - 'Total Amount', digits_compute=dp.get_precision('Account'), - readonly=True), - 'batch_booking': fields.boolean( - 'Batch Booking', readonly=True, - help="If true, the bank statement will display only one debit " - "line for all the wire transfers of the SEPA XML file ; " - "if false, the bank statement will display one debit line " - "per wire transfer of the SEPA XML file."), - 'charge_bearer': fields.selection([ - ('SLEV', 'Following Service Level'), - ('SHAR', 'Shared'), - ('CRED', 'Borne by Creditor'), - ('DEBT', 'Borne by Debtor'), - ], 'Charge Bearer', readonly=True, - help="Following service level : transaction charges are to be " - "applied following the rules agreed in the service level and/or " - "scheme (SEPA Core messages must use this). Shared : " - "transaction charges on the creditor side are to be borne by " - "the creditor, transaction charges on the debtor side are to " - "be borne by the debtor. Borne by creditor : all transaction " - "charges are to be borne by the creditor. Borne by debtor : " - "all transaction charges are to be borne by the debtor."), - 'create_date': fields.datetime('Generation Date', readonly=True), - 'file': fields.binary('SEPA XML File', readonly=True), - 'filename': fields.function( - _generate_filename, type='char', size=256, string='Filename', - readonly=True), - 'state': fields.selection([ - ('draft', 'Draft'), - ('sent', 'Sent'), - ], 'State', readonly=True), - } - - _defaults = { - 'state': 'draft', - } diff --git a/account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml b/account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml index f07ece146..31d851edb 100644 --- a/account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml +++ b/account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml @@ -7,6 +7,7 @@ SEPA Credit Transfer v05 pain.001.001.05 + payment @@ -15,6 +16,7 @@ SEPA Credit Transfer v04 pain.001.001.04 + payment @@ -23,6 +25,7 @@ SEPA Credit Transfer v03 (recommended) pain.001.001.03 + payment @@ -31,6 +34,7 @@ SEPA Credit Transfer v02 pain.001.001.02 + payment diff --git a/account_banking_sepa_credit_transfer/sepa_credit_transfer_demo.xml b/account_banking_sepa_credit_transfer/demo/sepa_credit_transfer_demo.xml similarity index 92% rename from account_banking_sepa_credit_transfer/sepa_credit_transfer_demo.xml rename to account_banking_sepa_credit_transfer/demo/sepa_credit_transfer_demo.xml index 77abf1b34..48e69a780 100644 --- a/account_banking_sepa_credit_transfer/sepa_credit_transfer_demo.xml +++ b/account_banking_sepa_credit_transfer/demo/sepa_credit_transfer_demo.xml @@ -9,6 +9,7 @@ + diff --git a/account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot b/account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot index 38feaadd4..ae9645ceb 100644 --- a/account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot +++ b/account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot @@ -1,13 +1,13 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_credit_transfer # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-23 22:49+0000\n" -"PO-Revision-Date: 2013-12-23 22:49+0000\n" +"POT-Creation-Date: 2014-10-31 22:52+0000\n" +"PO-Revision-Date: 2014-10-31 22:52+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -15,98 +15,18 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa.wizard,state:0 -msgid "Create" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,nb_transactions:0 -#: field:banking.export.sepa.wizard,nb_transactions:0 -msgid "Number of Transactions" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,filename:0 -#: field:banking.export.sepa.wizard,filename:0 -msgid "Filename" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,state:0 -#: field:banking.export.sepa.wizard,state:0 -msgid "State" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa,state:0 -msgid "Draft" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: help:banking.export.sepa.wizard,charge_bearer:0 -msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the debtor side are to be borne by the debtor, transaction charges on the creditor side are to be borne by the creditor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa,charge_bearer:0 -#: selection:banking.export.sepa.wizard,charge_bearer:0 -msgid "Shared" -msgstr "" - #. module: account_banking_sepa_credit_transfer #: field:banking.export.sepa,batch_booking:0 #: field:banking.export.sepa.wizard,batch_booking:0 msgid "Batch Booking" msgstr "" -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa,state:0 -msgid "Sent" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard -msgid "Export SEPA Credit Transfer File" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa:0 -msgid "SEPA Credit Transfer" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa.wizard,state:0 -msgid "Finish" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa,state:0 -msgid "Reconciled" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: selection:banking.export.sepa,charge_bearer:0 -#: selection:banking.export.sepa.wizard,charge_bearer:0 -msgid "Following Service Level" -msgstr "" - #. module: account_banking_sepa_credit_transfer #: selection:banking.export.sepa,charge_bearer:0 #: selection:banking.export.sepa.wizard,charge_bearer:0 msgid "Borne by Creditor" msgstr "" -#. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa.wizard:0 -msgid "Validate" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa.wizard:0 -msgid "Generate" -msgstr "" - #. module: account_banking_sepa_credit_transfer #: selection:banking.export.sepa,charge_bearer:0 #: selection:banking.export.sepa.wizard,charge_bearer:0 @@ -114,16 +34,8 @@ msgid "Borne by Debtor" msgstr "" #. module: account_banking_sepa_credit_transfer -#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:128 -#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:245 -#, python-format -msgid "Error:" -msgstr "" - -#. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,total_amount:0 -#: field:banking.export.sepa.wizard,total_amount:0 -msgid "Total Amount" +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Cancel" msgstr "" #. module: account_banking_sepa_credit_transfer @@ -133,25 +45,57 @@ msgid "Charge Bearer" msgstr "" #. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa.wizard:0 -msgid "SEPA File Generation" +#: selection:banking.export.sepa.wizard,state:0 +msgid "Create" msgstr "" #. module: account_banking_sepa_credit_transfer -#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa -msgid "SEPA export" +#: field:banking.export.sepa,create_uid:0 +#: field:banking.export.sepa.wizard,create_uid:0 +msgid "Created by" msgstr "" #. module: account_banking_sepa_credit_transfer -#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:246 +#: field:banking.export.sepa.wizard,create_date:0 +msgid "Created on" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,state:0 +msgid "Draft" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:124 +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:232 #, python-format -msgid "Missing Bank Account on invoice '%s' (payment order line reference '%s')." +msgid "Error:" msgstr "" #. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,file:0 -#: field:banking.export.sepa.wizard,file_id:0 -msgid "SEPA XML File" +#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard +msgid "Export SEPA Credit Transfer File" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa.wizard,file:0 +msgid "File" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa.wizard,filename:0 +msgid "Filename" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa.wizard,state:0 +msgid "Finish" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Following Service Level" msgstr "" #. module: account_banking_sepa_credit_transfer @@ -160,21 +104,78 @@ msgid "Following service level : transaction charges are to be applied following msgstr "" #. module: account_banking_sepa_credit_transfer -#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:129 -#, python-format -msgid "Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03', 'pain.001.001.04' and 'pain.001.001.05'." +#: help:banking.export.sepa.wizard,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the debtor side are to be borne by the debtor, transaction charges on the creditor side are to be borne by the creditor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." msgstr "" #. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa:0 +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form +msgid "General Information" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Generate" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,create_date:0 +msgid "Generation Date" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,id:0 +#: field:banking.export.sepa.wizard,id:0 +msgid "ID" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: help:banking.export.sepa,batch_booking:0 +#: help:banking.export.sepa.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file." +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,write_uid:0 +#: field:banking.export.sepa.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,write_date:0 +#: field:banking.export.sepa.wizard,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:233 +#, python-format +msgid "Missing Bank Account on invoice '%s' (payment order line reference '%s')." +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,nb_transactions:0 +#: field:banking.export.sepa.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form #: field:banking.export.sepa,payment_order_ids:0 #: field:banking.export.sepa.wizard,payment_order_ids:0 msgid "Payment Orders" msgstr "" #. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa:0 -msgid "General Information" +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:125 +#, python-format +msgid "Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03', 'pain.001.001.04' and 'pain.001.001.05'." +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_tree +msgid "SEPA Credit Transfer" msgstr "" #. module: account_banking_sepa_credit_transfer @@ -185,23 +186,46 @@ msgid "SEPA Credit Transfer Files" msgstr "" #. module: account_banking_sepa_credit_transfer -#: help:banking.export.sepa,batch_booking:0 -#: help:banking.export.sepa.wizard,batch_booking:0 -msgid "If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file." +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "SEPA File Generation" msgstr "" #. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa.wizard,file:0 -msgid "File" +#: field:banking.export.sepa,file:0 +#: field:banking.export.sepa.wizard,file_id:0 +msgid "SEPA XML File" msgstr "" #. module: account_banking_sepa_credit_transfer -#: view:banking.export.sepa.wizard:0 -msgid "Cancel" +#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa +msgid "SEPA export" msgstr "" #. module: account_banking_sepa_credit_transfer -#: field:banking.export.sepa,create_date:0 -msgid "Generation Date" +#: selection:banking.export.sepa,state:0 +msgid "Sent" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Shared" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,state:0 +#: field:banking.export.sepa.wizard,state:0 +msgid "State" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,total_amount:0 +#: field:banking.export.sepa.wizard,total_amount:0 +msgid "Total Amount" +msgstr "" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Validate" msgstr "" diff --git a/account_banking_sepa_credit_transfer/i18n/es.po b/account_banking_sepa_credit_transfer/i18n/es.po new file mode 100644 index 000000000..5d7b1057b --- /dev/null +++ b/account_banking_sepa_credit_transfer/i18n/es.po @@ -0,0 +1,231 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_credit_transfer +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-10-31 22:52+0000\n" +"PO-Revision-Date: 2014-10-31 22:52+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,batch_booking:0 +#: field:banking.export.sepa.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Registro en lote" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "A cargo del acreedor" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "A cargo del deudor" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,charge_bearer:0 +#: field:banking.export.sepa.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "A cargo del portador" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa.wizard,state:0 +msgid "Create" +msgstr "Crear" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,create_uid:0 +#: field:banking.export.sepa.wizard,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa.wizard,create_date:0 +msgid "Created on" +msgstr "Creado en" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: account_banking_sepa_credit_transfer +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:124 +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:232 +#, python-format +msgid "Error:" +msgstr "Error:" + +#. module: account_banking_sepa_credit_transfer +#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard +msgid "Export SEPA Credit Transfer File" +msgstr "Exportar archivo de transferencia SEPA" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa.wizard,file:0 +msgid "File" +msgstr "Archivo" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa.wizard,filename:0 +msgid "Filename" +msgstr "Nombre de archivo" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa.wizard,state:0 +msgid "Finish" +msgstr "Finalizar" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Según el acuerdo de servicio" + +#. module: account_banking_sepa_credit_transfer +#: help:banking.export.sepa,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." +msgstr "Según el acuerdo de servicio: los costes de la transacción se aplicarán siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema (las remesas SEPA Core deben usar esta opción). Compartidos: los costes de la transacción en la parte del acreedor están a cargo del acreedor, y los costes de la transacción del lado del deudor estarán a cargo del deudor. A cargo del acreedor: todos los costes de la transacción estarán a cargo del acreedor. A cargo del deudor: Todos los costes de la transacción estarán a cargo del deudor." + +#. module: account_banking_sepa_credit_transfer +#: help:banking.export.sepa.wizard,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the debtor side are to be borne by the debtor, transaction charges on the creditor side are to be borne by the creditor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." +msgstr "Según el acuerdo de servicio: los costes de la transacción se aplicarán siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema (las remesas SEPA Core deben usar esta opción). Compartidos: los costes de la transacción en la parte del acreedor están a cargo del acreedor, y los costes de la transacción del lado del deudor estarán a cargo del deudor. A cargo del acreedor: todos los costes de la transacción estarán a cargo del acreedor. A cargo del deudor: Todos los costes de la transacción estarán a cargo del deudor." + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form +msgid "General Information" +msgstr "Información general" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Generate" +msgstr "Generar" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,create_date:0 +msgid "Generation Date" +msgstr "Fecha de generación" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,id:0 +#: field:banking.export.sepa.wizard,id:0 +msgid "ID" +msgstr "ID" + +#. module: account_banking_sepa_credit_transfer +#: help:banking.export.sepa,batch_booking:0 +#: help:banking.export.sepa.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file." +msgstr "Si está marcado, el extracto bancario mostrará sólo una línea del haber para todos los adeudos directos del archivo SEPA; si no está marcado, entonces el extracto bancario mostrará una línea por cada adeudo directo del archivo SEPA." + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,write_uid:0 +#: field:banking.export.sepa.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,write_date:0 +#: field:banking.export.sepa.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_banking_sepa_credit_transfer +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:233 +#, python-format +msgid "Missing Bank Account on invoice '%s' (payment order line reference '%s')." +msgstr "Falta la cuenta bancaria en la factura '%s' (línea de pago con referencia '%s')." + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,nb_transactions:0 +#: field:banking.export.sepa.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Nº de transacciones" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form +#: field:banking.export.sepa,payment_order_ids:0 +#: field:banking.export.sepa.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Órdenes de pago" + +#. module: account_banking_sepa_credit_transfer +#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:125 +#, python-format +msgid "Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03', 'pain.001.001.04' and 'pain.001.001.05'." +msgstr "El código de tipo de pago '%s' no está soportado. Los únicos código de tipo de pago soportados por las transferencias SEPA son 'pain.001.001.02', 'pain.001.001.03', 'pain.001.001.04' y 'pain.001.001.05'." + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_form +#: view:banking.export.sepa:account_banking_sepa_credit_transfer.view_banking_export_sepa_tree +msgid "SEPA Credit Transfer" +msgstr "Transferencia SEPA" + +#. module: account_banking_sepa_credit_transfer +#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.act_banking_export_sepa_payment_order +#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.action_account_banking_sepa +#: model:ir.ui.menu,name:account_banking_sepa_credit_transfer.menu_account_banking_sepa +msgid "SEPA Credit Transfer Files" +msgstr "Archivos de transferencias SEPA" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "SEPA File Generation" +msgstr "Generación de archivo SEPA" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,file:0 +#: field:banking.export.sepa.wizard,file_id:0 +msgid "SEPA XML File" +msgstr "Archivo SEPA XML" + +#. module: account_banking_sepa_credit_transfer +#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa +msgid "SEPA export" +msgstr "Exportación de SEPA" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,state:0 +msgid "Sent" +msgstr "Enviado" + +#. module: account_banking_sepa_credit_transfer +#: selection:banking.export.sepa,charge_bearer:0 +#: selection:banking.export.sepa.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Compartidos" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,state:0 +#: field:banking.export.sepa.wizard,state:0 +msgid "State" +msgstr "Estado" + +#. module: account_banking_sepa_credit_transfer +#: field:banking.export.sepa,total_amount:0 +#: field:banking.export.sepa.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Importe total" + +#. module: account_banking_sepa_credit_transfer +#: view:banking.export.sepa.wizard:account_banking_sepa_credit_transfer.banking_export_sepa_wizard_view +msgid "Validate" +msgstr "Validar" + diff --git a/account_banking_sepa_credit_transfer/models/__init__.py b/account_banking_sepa_credit_transfer/models/__init__.py new file mode 100644 index 000000000..90e481210 --- /dev/null +++ b/account_banking_sepa_credit_transfer/models/__init__.py @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Credit Transfer module for OpenERP +# Copyright (C) 2010-2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import account_banking_sepa diff --git a/account_banking_sepa_credit_transfer/models/account_banking_sepa.py b/account_banking_sepa_credit_transfer/models/account_banking_sepa.py new file mode 100644 index 000000000..77213c29f --- /dev/null +++ b/account_banking_sepa_credit_transfer/models/account_banking_sepa.py @@ -0,0 +1,80 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Credit Transfer module for OpenERP +# Copyright (C) 2010-2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, fields, api +from openerp.addons.decimal_precision import decimal_precision as dp + +try: + from unidecode import unidecode +except ImportError: + unidecode = None + + +class BankingExportSepa(models.Model): + """SEPA export""" + _name = 'banking.export.sepa' + _description = __doc__ + _rec_name = 'filename' + + @api.one + def _generate_filename(self): + ref = self.payment_order_ids[0].reference + if ref: + label = unidecode(ref.replace('/', '-')) + else: + label = 'error' + self.filename = 'sct_%s.xml' % label + + payment_order_ids = fields.Many2many( + comodel_name='payment.order', column1='banking_export_sepa_id', + column2='account_order_id', relation='account_payment_order_sepa_rel', + string='Payment Orders', readonly=True) + nb_transactions = fields.Integer(string='Number of Transactions', + readonly=True) + total_amount = fields.Float(string='Total Amount', + digits_compute=dp.get_precision('Account'), + readonly=True) + batch_booking = fields.Boolean( + 'Batch Booking', readonly=True, + help="If true, the bank statement will display only one debit line " + "for all the wire transfers of the SEPA XML file ; if false, " + "the bank statement will display one debit line per wire " + "transfer of the SEPA XML file.") + charge_bearer = fields.Selection( + [('SLEV', 'Following Service Level'), + ('SHAR', 'Shared'), + ('CRED', 'Borne by Creditor'), + ('DEBT', 'Borne by Debtor')], string='Charge Bearer', readonly=True, + help="Following service level : transaction charges are to be applied " + "following the rules agreed in the service level and/or scheme " + "(SEPA Core messages must use this). Shared : transaction " + "charges on the creditor side are to be borne by the creditor, " + "transaction charges on the debtor side are to be borne by the " + "debtor. Borne by creditor : all transaction charges are to be " + "borne by the creditor. Borne by debtor : all transaction " + "charges are to be borne by the debtor.") + create_date = fields.Datetime('Generation Date', readonly=True) + file = fields.Binary('SEPA XML File', readonly=True) + filename = fields.Char(string='Filename', size=256, readonly=True, + compute=_generate_filename) + state = fields.Selection([('draft', 'Draft'), ('sent', 'Sent')], + string='State', readonly=True, default='draft') diff --git a/account_banking_sepa_credit_transfer/static/description/icon.png b/account_banking_sepa_credit_transfer/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e1485aabdd1bb71edc4867a3b83650e68bfda282 GIT binary patch literal 8373 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 literal 0 HcmV?d00001 diff --git a/account_banking_sepa_credit_transfer/static/description/icon.svg b/account_banking_sepa_credit_transfer/static/description/icon.svg new file mode 100644 index 000000000..266ef8442 --- /dev/null +++ b/account_banking_sepa_credit_transfer/static/description/icon.svg @@ -0,0 +1,92 @@ + + + +image/svg+xmlCREDITTRANSFER + \ No newline at end of file diff --git a/account_banking_sepa_credit_transfer/static/src/img/icon.png b/account_banking_sepa_credit_transfer/static/src/img/icon.png deleted file mode 100644 index 12ecf91ce177d6d36997bb6769f34ddd287a4465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6936 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 ey#t@*{{BDaJT*%o#VE@F0000