From 6b8fad6fcff54cc4269c47bc8d9a4887526469a8 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Sat, 3 Aug 2013 01:12:36 +0200
Subject: [PATCH 01/83] Add module account_banking_sepa_direct_debit that
implements pain.008.001.02, pain.008.001.03 and pain.008.001.04. This module
is not ready yet : the management of mandates is still missing. I am
currently trying to get more information about these mandates to decide what
is the best implemtation of the data model of the mandates (O2M on
res.partner ? O2M os res.partner.bank ?).
---
account_banking_sepa_direct_debit/__init__.py | 25 +
.../__openerp__.py | 72 ++
.../account_banking_sdd.py | 440 +++++++++
.../account_banking_sdd_view.xml | 77 ++
.../account_invoice_view.xml | 22 +
.../account_payment_view.xml | 26 +
account_banking_sepa_direct_debit/company.py | 90 ++
.../company_view.xml | 23 +
.../data/mandate_reference_sequence.xml | 21 +
.../data/pain.008.001.02.xsd | 879 +++++++++++++++++
.../data/pain.008.001.03.xsd | 925 ++++++++++++++++++
.../data/pain.008.001.04.xsd | 892 +++++++++++++++++
.../data/payment_type_sdd.xml | 35 +
.../account_banking_sepa_direct_debit.pot | 633 ++++++++++++
account_banking_sepa_direct_debit/i18n/fr.po | 642 ++++++++++++
.../mandate_expire_cron.xml | 26 +
.../res_partner_bank_view.xml | 48 +
.../sdd_mandate_view.xml | 152 +++
.../security/ir.model.access.csv | 4 +
.../original_mandate_required_security.xml | 17 +
.../sepa_direct_debit_demo.xml | 27 +
.../static/src/img/icon.png | Bin 0 -> 6892 bytes
.../wizard/__init__.py | 23 +
.../wizard/export_sdd.py | 451 +++++++++
.../wizard/export_sdd_view.xml | 37 +
25 files changed, 5587 insertions(+)
create mode 100644 account_banking_sepa_direct_debit/__init__.py
create mode 100644 account_banking_sepa_direct_debit/__openerp__.py
create mode 100644 account_banking_sepa_direct_debit/account_banking_sdd.py
create mode 100644 account_banking_sepa_direct_debit/account_banking_sdd_view.xml
create mode 100644 account_banking_sepa_direct_debit/account_invoice_view.xml
create mode 100644 account_banking_sepa_direct_debit/account_payment_view.xml
create mode 100644 account_banking_sepa_direct_debit/company.py
create mode 100644 account_banking_sepa_direct_debit/company_view.xml
create mode 100644 account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.02.xsd
create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.03.xsd
create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.04.xsd
create mode 100644 account_banking_sepa_direct_debit/data/payment_type_sdd.xml
create mode 100644 account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
create mode 100644 account_banking_sepa_direct_debit/i18n/fr.po
create mode 100644 account_banking_sepa_direct_debit/mandate_expire_cron.xml
create mode 100644 account_banking_sepa_direct_debit/res_partner_bank_view.xml
create mode 100644 account_banking_sepa_direct_debit/sdd_mandate_view.xml
create mode 100644 account_banking_sepa_direct_debit/security/ir.model.access.csv
create mode 100644 account_banking_sepa_direct_debit/security/original_mandate_required_security.xml
create mode 100644 account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml
create mode 100644 account_banking_sepa_direct_debit/static/src/img/icon.png
create mode 100644 account_banking_sepa_direct_debit/wizard/__init__.py
create mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd.py
create mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd_view.xml
diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py
new file mode 100644
index 00000000000..f852fb7bdba
--- /dev/null
+++ b/account_banking_sepa_direct_debit/__init__.py
@@ -0,0 +1,25 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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 company
+from . import wizard
+from . import account_banking_sdd
diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py
new file mode 100644
index 00000000000..5ea5dadb40e
--- /dev/null
+++ b/account_banking_sepa_direct_debit/__openerp__.py
@@ -0,0 +1,72 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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 .
+#
+##############################################################################
+{
+ 'name': 'Account Banking SEPA Direct Debit',
+ 'summary': 'Create SEPA files for Direct Debit',
+ 'version': '0.1',
+ 'license': 'AGPL-3',
+ 'author': 'Akretion',
+ 'website': 'http://www.akretion.com',
+ 'category': 'Banking addons',
+ 'depends': ['account_direct_debit', 'account_banking_pain_base'],
+ 'external_dependencies': {
+ 'python': ['unidecode', 'lxml'],
+ },
+ 'data': [
+ 'security/original_mandate_required_security.xml',
+ 'account_banking_sdd_view.xml',
+ 'sdd_mandate_view.xml',
+ 'res_partner_bank_view.xml',
+ 'account_payment_view.xml',
+ 'company_view.xml',
+ 'mandate_expire_cron.xml',
+ 'account_invoice_view.xml',
+ 'wizard/export_sdd_view.xml',
+ 'data/payment_type_sdd.xml',
+ 'data/mandate_reference_sequence.xml',
+ 'security/ir.model.access.csv',
+ ],
+ 'demo': ['sepa_direct_debit_demo.xml'],
+ 'description': '''
+Module to export direct debit 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 Direct Debit (SDD), more specifically PAIN
+versions 008.001.02, 008.001.03 and 008.001.04.
+It is part of the ISO 20022 standard, available on http://www.iso20022.org.
+
+The Implementation Guidelines for SEPA Direct Debit published by the European
+Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN
+version 008.001.02. So if you don't know which version your bank supports,
+you should try version 008.001.02 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.
+ ''',
+ 'active': False,
+ 'installable': True,
+}
diff --git a/account_banking_sepa_direct_debit/account_banking_sdd.py b/account_banking_sepa_direct_debit/account_banking_sdd.py
new file mode 100644
index 00000000000..87e50111b18
--- /dev/null
+++ b/account_banking_sepa_direct_debit/account_banking_sdd.py
@@ -0,0 +1,440 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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.tools.translate import _
+from openerp.addons.decimal_precision import decimal_precision as dp
+from unidecode import unidecode
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
+import logging
+
+NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36
+
+logger = logging.getLogger(__name__)
+
+
+class banking_export_sdd(orm.Model):
+ '''SEPA Direct Debit export'''
+ _name = 'banking.export.sdd'
+ _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] = 'sdd_%s.xml' % label
+ return res
+
+ _columns = {
+ 'payment_order_ids': fields.many2many(
+ 'payment.order',
+ 'account_payment_order_sdd_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 credit "
+ "line for all the direct debits of the SEPA file ; if false, "
+ "the bank statement will display one credit line per direct "
+ "debit of the SEPA 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 File', readonly=True),
+ 'filename': fields.function(
+ _generate_filename, type='char', size=256,
+ string='Filename', readonly=True, store=True),
+ 'state': fields.selection([
+ ('draft', 'Draft'),
+ ('sent', 'Sent'),
+ ], 'State', readonly=True),
+ }
+
+ _defaults = {
+ 'state': 'draft',
+ }
+
+
+class sdd_mandate(orm.Model):
+ '''SEPA Direct Debit Mandate'''
+ _name = 'sdd.mandate'
+ _description = __doc__
+ _rec_name = 'unique_mandate_reference'
+ _inherit = ['mail.thread']
+ _order = 'signature_date desc'
+ _track = {
+ 'state': {
+ 'account_banking_sepa_direct_debit.mandate_valid':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['state'] == 'valid',
+ 'account_banking_sepa_direct_debit.mandate_expired':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['state'] == 'expired',
+ 'account_banking_sepa_direct_debit.mandate_cancel':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['state'] == 'cancel',
+ },
+ 'recurrent_sequence_type': {
+ 'account_banking_sepa_direct_debit.recurrent_sequence_type_first':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'first',
+ 'account_banking_sepa_direct_debit.'
+ 'recurrent_sequence_type_recurring':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'recurring',
+ 'account_banking_sepa_direct_debit.recurrent_sequence_type_final':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'final',
+ }
+ }
+
+ _columns = {
+ 'partner_bank_id': fields.many2one(
+ 'res.partner.bank', 'Bank Account', track_visibility='onchange'),
+ 'partner_id': fields.related(
+ 'partner_bank_id', 'partner_id', type='many2one',
+ relation='res.partner', string='Partner', readonly=True),
+ 'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'unique_mandate_reference': fields.char(
+ 'Unique Mandate Reference', size=35, readonly=True,
+ track_visibility='always'),
+ 'type': fields.selection([
+ ('recurrent', 'Recurrent'),
+ ('oneoff', 'One-Off'),
+ ], 'Type of Mandate', required=True, track_visibility='always'),
+ 'recurrent_sequence_type': fields.selection([
+ ('first', 'First'),
+ ('recurring', 'Recurring'),
+ ('final', 'Final'),
+ ], 'Sequence Type for Next Debit', track_visibility='onchange',
+ help="This field is only used for Recurrent mandates, not for "
+ "One-Off mandates."),
+ 'signature_date': fields.date(
+ 'Date of Signature of the Mandate', track_visibility='onchange'),
+ 'scan': fields.binary('Scan of the Mandate'),
+ 'last_debit_date': fields.date(
+ 'Date of the Last Debit', readonly=True),
+ 'state': fields.selection([
+ ('draft', 'Draft'),
+ ('valid', 'Valid'),
+ ('expired', 'Expired'),
+ ('cancel', 'Cancelled'),
+ ], 'Status',
+ help="Only valid mandates can be used in a payment line. A "
+ "cancelled mandate is a mandate that has been cancelled by "
+ "the customer. A one-off mandate expires after its first use. "
+ "A recurrent mandate expires after it's final use or if it "
+ "hasn't been used for 36 months."),
+ 'payment_line_ids': fields.one2many(
+ 'payment.line', 'sdd_mandate_id', "Related Payment Lines"),
+ 'sepa_migrated': fields.boolean(
+ 'Migrated to SEPA', track_visibility='onchange',
+ help="If this field is not active, the mandate section of the "
+ "next direct debit file that include this mandate will contain "
+ "the 'Original Mandate Identification' and the 'Original "
+ "Creditor Scheme Identification'. This is required in a few "
+ "countries (Belgium for instance), but not in all countries. "
+ "If this is not required in your country, you should keep this "
+ "field always active."),
+ 'original_mandate_identification': fields.char(
+ 'Original Mandate Identification', size=35,
+ track_visibility='onchange',
+ help="When the field 'Migrated to SEPA' is not active, this "
+ "field will be used as the Original Mandate Identification in "
+ "the Direct Debit file."),
+ }
+
+ _defaults = {
+ 'company_id': lambda self, cr, uid, context:
+ self.pool['res.company']._company_default_get(
+ cr, uid, 'sdd.mandate', context=context),
+ 'unique_mandate_reference': '/',
+ 'state': 'draft',
+ 'sepa_migrated': True,
+ }
+
+ _sql_constraints = [(
+ 'mandate_ref_company_uniq',
+ 'unique(unique_mandate_reference, company_id)',
+ 'A Mandate with the same reference already exists for this company !'
+ )]
+
+ def create(self, cr, uid, vals, context=None):
+ if vals.get('unique_mandate_reference', '/') == '/':
+ vals['unique_mandate_reference'] = \
+ self.pool['ir.sequence'].next_by_code(
+ cr, uid, 'sdd.mandate.reference', context=context)
+ return super(sdd_mandate, self).create(cr, uid, vals, context=context)
+
+ def _check_sdd_mandate(self, cr, uid, ids):
+ for mandate in self.browse(cr, uid, ids):
+ if (mandate.signature_date and
+ mandate.signature_date >
+ datetime.today().strftime('%Y-%m-%d')):
+ raise orm.except_orm(
+ _('Error:'),
+ _("The date of signature of mandate '%s' is in the "
+ "future !")
+ % mandate.unique_mandate_reference)
+ if mandate.state == 'valid' and not mandate.signature_date:
+ raise orm.except_orm(
+ _('Error:'),
+ _("Cannot validate the mandate '%s' without a date of "
+ "signature.")
+ % mandate.unique_mandate_reference)
+ if mandate.state == 'valid' and not mandate.partner_bank_id:
+ raise orm.except_orm(
+ _('Error:'),
+ _("Cannot validate the mandate '%s' because it is not "
+ "attached to a bank account.")
+ % mandate.unique_mandate_reference)
+
+ if (mandate.signature_date and mandate.last_debit_date and
+ mandate.signature_date > mandate.last_debit_date):
+ raise orm.except_orm(
+ _('Error:'),
+ _("The mandate '%s' can't have a date of last debit "
+ "before the date of signature.")
+ % mandate.unique_mandate_reference)
+ if (mandate.type == 'recurrent'
+ and not mandate.recurrent_sequence_type):
+ raise orm.except_orm(
+ _('Error:'),
+ _("The recurrent mandate '%s' must have a sequence type.")
+ % mandate.unique_mandate_reference)
+ if (mandate.type == 'recurrent' and not mandate.sepa_migrated
+ and mandate.recurrent_sequence_type != 'first'):
+ raise orm.except_orm(
+ _('Error:'),
+ _("The recurrent mandate '%s' which is not marked as "
+ "'Migrated to SEPA' must have its recurrent sequence "
+ "type set to 'First'.")
+ % mandate.unique_mandate_reference)
+ if (mandate.type == 'recurrent' and not mandate.sepa_migrated
+ and not mandate.original_mandate_identification):
+ raise orm.except_orm(
+ _('Error:'),
+ _("You must set the 'Original Mandate Identification' "
+ "on the recurrent mandate '%s' which is not marked "
+ "as 'Migrated to SEPA'.")
+ % mandate.unique_mandate_reference)
+ return True
+
+ _constraints = [
+ (_check_sdd_mandate, "Error msg in raise", [
+ 'last_debit_date', 'signature_date', 'state', 'partner_bank_id',
+ 'type', 'recurrent_sequence_type', 'sepa_migrated',
+ 'original_mandate_identification',
+ ]),
+ ]
+
+ def mandate_type_change(self, cr, uid, ids, type):
+ if type == 'recurrent':
+ recurrent_sequence_type = 'first'
+ else:
+ recurrent_sequence_type = False
+ res = {'value': {'recurrent_sequence_type': recurrent_sequence_type}}
+ return res
+
+ def mandate_partner_bank_change(
+ self, cr, uid, ids, partner_bank_id, type, recurrent_sequence_type,
+ last_debit_date, state):
+ res = {'value': {}}
+ if partner_bank_id:
+ partner_bank_read = self.pool['res.partner.bank'].read(
+ cr, uid, partner_bank_id, ['partner_id'])['partner_id']
+ if partner_bank_read:
+ res['value']['partner_id'] = partner_bank_read[0]
+ if (state == 'valid' and partner_bank_id
+ and type == 'recurrent'
+ and recurrent_sequence_type != 'first'):
+ res['value']['recurrent_sequence_type'] = 'first'
+ res['warning'] = {
+ 'title': _('Mandate update'),
+ 'message': _(
+ "As you changed the bank account attached to this "
+ "mandate, the 'Sequence Type' has been set back to "
+ "'First'."),
+ }
+ return res
+
+ def validate(self, cr, uid, ids, context=None):
+ to_validate_ids = []
+ for mandate in self.browse(cr, uid, ids, context=context):
+ assert mandate.state == 'draft', 'Mandate should be in draft state'
+ to_validate_ids.append(mandate.id)
+ self.write(
+ cr, uid, to_validate_ids, {'state': 'valid'}, context=context)
+ return True
+
+ def cancel(self, cr, uid, ids, context=None):
+ to_cancel_ids = []
+ for mandate in self.browse(cr, uid, ids, context=context):
+ assert mandate.state in ('draft', 'valid'),\
+ 'Mandate should be in draft or valid state'
+ to_cancel_ids.append(mandate.id)
+ self.write(
+ cr, uid, to_cancel_ids, {'state': 'cancel'}, context=context)
+ return True
+
+ def back2draft(self, cr, uid, ids, context=None):
+ to_draft_ids = []
+ for mandate in self.browse(cr, uid, ids, context=context):
+ assert mandate.state == 'cancel',\
+ 'Mandate should be in cancel state'
+ to_draft_ids.append(mandate.id)
+ self.write(
+ cr, uid, to_draft_ids, {'state': 'draft'}, context=context)
+ return True
+
+ def _sdd_mandate_set_state_to_expired(self, cr, uid, context=None):
+ logger.info('Searching for SDD Mandates that must be set to Expired')
+ expire_limit_date = datetime.today() + \
+ relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY)
+ expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d')
+ expired_mandate_ids = self.search(cr, uid, [
+ '|',
+ ('last_debit_date', '=', False),
+ ('last_debit_date', '<=', expire_limit_date_str),
+ ('state', '=', 'valid'),
+ ('signature_date', '<=', expire_limit_date_str),
+ ], context=context)
+ if expired_mandate_ids:
+ self.write(
+ cr, uid, expired_mandate_ids, {'state': 'expired'},
+ context=context)
+ logger.info(
+ 'The following SDD Mandate IDs has been set to expired: %s'
+ % expired_mandate_ids)
+ else:
+ logger.info('0 SDD Mandates must be set to Expired')
+ return True
+
+
+class res_partner_bank(orm.Model):
+ _inherit = 'res.partner.bank'
+
+ _columns = {
+ 'sdd_mandate_ids': fields.one2many(
+ 'sdd.mandate', 'partner_bank_id', 'SEPA Direct Debit Mandates'),
+ }
+
+
+class payment_line(orm.Model):
+ _inherit = 'payment.line'
+
+ _columns = {
+ 'sdd_mandate_id': fields.many2one(
+ 'sdd.mandate', 'SEPA Direct Debit Mandate',
+ domain=[('state', '=', 'valid')]),
+ }
+
+ def create(self, cr, uid, vals, context=None):
+ '''If the customer invoice has a mandate, take it
+ otherwise, take the first valid mandate of the bank account'''
+ if context is None:
+ context = {}
+ if not vals:
+ vals = {}
+ partner_bank_id = vals.get('bank_id')
+ move_line_id = vals.get('move_line_id')
+ if (context.get('default_payment_order_type') == 'debit'
+ and 'sdd_mandate_id' not in vals):
+ if move_line_id:
+ line = self.pool['account.move.line'].browse(
+ cr, uid, move_line_id, context=context)
+ if (line.invoice and line.invoice.type == 'out_invoice'
+ and line.invoice.sdd_mandate_id):
+ vals.update({
+ 'sdd_mandate_id': line.invoice.sdd_mandate_id.id,
+ 'bank_id':
+ line.invoice.sdd_mandate_id.partner_bank_id.id,
+ })
+ if partner_bank_id and 'sdd_mandate_id' not in vals:
+ mandate_ids = self.pool['sdd.mandate'].search(cr, uid, [
+ ('partner_bank_id', '=', partner_bank_id),
+ ('state', '=', 'valid'),
+ ], context=context)
+ if mandate_ids:
+ vals['sdd_mandate_id'] = mandate_ids[0]
+ return super(payment_line, self).create(cr, uid, vals, context=context)
+
+ def _check_mandate_bank_link(self, cr, uid, ids):
+ for payline in self.browse(cr, uid, ids):
+ if (payline.sdd_mandate_id and payline.bank_id
+ and payline.sdd_mandate_id.partner_bank_id.id !=
+ payline.bank_id.id):
+ raise orm.except_orm(
+ _('Error:'),
+ _("The payment line with reference '%s' has the bank "
+ "account '%s' which is not attached to the mandate "
+ "'%s' (this mandate is attached to the bank account "
+ "'%s').") % (
+ payline.name,
+ self.pool['res.partner.bank'].name_get(
+ cr, uid, [payline.bank_id.id])[0][1],
+ payline.sdd_mandate_id.unique_mandate_reference,
+ self.pool['res.partner.bank'].name_get(
+ cr, uid,
+ [payline.sdd_mandate_id.partner_bank_id.id])[0][1],
+ ))
+ return True
+
+ _constraints = [
+ (_check_mandate_bank_link, 'Error msg in raise',
+ ['sdd_mandate_id', 'bank_id']),
+ ]
+
+
+class account_invoice(orm.Model):
+ _inherit = 'account.invoice'
+
+ _columns = {
+ 'sdd_mandate_id': fields.many2one(
+ 'sdd.mandate', 'SEPA Direct Debit Mandate',
+ domain=[('state', '=', 'valid')], readonly=True,
+ states={'draft': [('readonly', False)]})
+ }
diff --git a/account_banking_sepa_direct_debit/account_banking_sdd_view.xml b/account_banking_sepa_direct_debit/account_banking_sdd_view.xml
new file mode 100644
index 00000000000..f74b60353e6
--- /dev/null
+++ b/account_banking_sepa_direct_debit/account_banking_sdd_view.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+ account.banking.export.sdd.form
+ banking.export.sdd
+
+
+
+
+
+
+
+ account.banking.export.sdd.tree
+ banking.export.sdd
+
+
+
+
+
+
+
+
+
+
+
+
+ SEPA Direct Debit Files
+ banking.export.sdd
+ form
+ tree,form
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/account_invoice_view.xml b/account_banking_sepa_direct_debit/account_invoice_view.xml
new file mode 100644
index 00000000000..2ca480e5407
--- /dev/null
+++ b/account_banking_sepa_direct_debit/account_invoice_view.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ add.sdd.mandate.on.customer.invoice.form
+ account.invoice
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/account_payment_view.xml b/account_banking_sepa_direct_debit/account_payment_view.xml
new file mode 100644
index 00000000000..74098c44eed
--- /dev/null
+++ b/account_banking_sepa_direct_debit/account_payment_view.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ sdd.payment.order.form
+ payment.order
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/company.py b/account_banking_sepa_direct_debit/company.py
new file mode 100644
index 00000000000..6d54ba8e6ce
--- /dev/null
+++ b/account_banking_sepa_direct_debit/company.py
@@ -0,0 +1,90 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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
+import logging
+
+logger = logging.getLogger(__name__)
+
+
+class res_company(orm.Model):
+ _inherit = 'res.company'
+
+ _columns = {
+ 'sepa_creditor_identifier': fields.char(
+ 'SEPA Creditor Identifier', size=35,
+ help="Enter the Creditor Identifier that has been attributed "
+ "to your company to make SEPA Direct Debits. This identifier "
+ "is composed of :\n- your country ISO code (2 letters)\n- a "
+ "2-digits checkum\n- a 3-letters business code\n- a "
+ "country-specific identifier"),
+ 'original_creditor_identifier': fields.char(
+ 'Original Creditor Identifier', size=70),
+ }
+
+ def is_sepa_creditor_identifier_valid(
+ self, cr, uid, sepa_creditor_identifier, context=None):
+ """Check if SEPA Creditor Identifier is valid
+ @param sepa_creditor_identifier: SEPA Creditor Identifier as str
+ or unicode
+ @return: True if valid, False otherwise
+ """
+ if not isinstance(sepa_creditor_identifier, (str, unicode)):
+ return False
+ try:
+ sci_str = str(sepa_creditor_identifier)
+ except:
+ logger.warning(
+ "SEPA Creditor ID should contain only ASCII caracters.")
+ return False
+ sci = sci_str.lower()
+ if len(sci) < 9:
+ return False
+ before_replacement = sci[7:] + sci[0:2] + '00'
+ logger.debug(
+ "SEPA ID check before_replacement = %s" % before_replacement)
+ after_replacement = ''
+ for char in before_replacement:
+ if char.isalpha():
+ after_replacement += str(ord(char)-87)
+ else:
+ after_replacement += char
+ logger.debug(
+ "SEPA ID check after_replacement = %s" % after_replacement)
+ if int(sci[2:4]) == (98 - (int(after_replacement) % 97)):
+ return True
+ else:
+ return False
+
+ def _check_sepa_creditor_identifier(self, cr, uid, ids):
+ for company in self.browse(cr, uid, ids):
+ if company.sepa_creditor_identifier:
+ if not self.is_sepa_creditor_identifier_valid(
+ cr, uid, company.sepa_creditor_identifier):
+ return False
+ return True
+
+ _constraints = [
+ (_check_sepa_creditor_identifier,
+ "Invalid SEPA Creditor Identifier.",
+ ['sepa_creditor_identifier']),
+ ]
diff --git a/account_banking_sepa_direct_debit/company_view.xml b/account_banking_sepa_direct_debit/company_view.xml
new file mode 100644
index 00000000000..e4c9e0b9361
--- /dev/null
+++ b/account_banking_sepa_direct_debit/company_view.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ sepa_direct_debit.res.company.form
+ res.company
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
new file mode 100644
index 00000000000..68075d526dd
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ SDD Mandate Reference
+ sdd.mandate.reference
+
+
+
+ SDD Mandate Reference
+ sdd.mandate.reference
+ RUM
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd
new file mode 100644
index 00000000000..63359725617
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd
@@ -0,0 +1,879 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd
new file mode 100644
index 00000000000..73d8943794e
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd
@@ -0,0 +1,925 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd
new file mode 100644
index 00000000000..93806815afa
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd
@@ -0,0 +1,892 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/data/payment_type_sdd.xml b/account_banking_sepa_direct_debit/data/payment_type_sdd.xml
new file mode 100644
index 00000000000..a17b3b21ce8
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/payment_type_sdd.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+ SEPA Direct Debit v02 (recommended)
+ pain.008.001.02
+
+
+ debit
+
+
+
+ SEPA Direct Debit v03
+ pain.008.001.03
+
+
+ debit
+
+
+
+ SEPA Direct Debit v04
+ pain.008.001.04
+
+
+ debit
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
new file mode 100644
index 00000000000..0db5767263e
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
@@ -0,0 +1,633 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 7.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-23 22:24+0000\n"
+"PO-Revision-Date: 2013-12-23 22:24+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_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
+msgid "SEPA Direct Debit Mandate Validated"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
+#, python-format
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
+#, python-format
+msgid "Cannot validate the mandate '%s' without a date of signature."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:0
+#: view:res.partner.bank:0
+msgid "SDD Mandates"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:payment.line:0
+#: constraint:sdd.mandate:0
+msgid "Error msg in raise"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Reconciled"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
+#: view:res.partner.bank:0
+#: field:res.partner.bank,sdd_mandate_ids:0
+msgid "SEPA Direct Debit Mandates"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Validate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "Generate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
+msgid "SEPA Direct Debit Mandate Cancelled"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
+#, python-format
+msgid "Error:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,unique_mandate_reference:0
+msgid "Unique Mandate Reference"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
+#, python-format
+msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file_id:0
+msgid "SDD File"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
+msgid "SEPA Direct Debit Mandate has Expired"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
+#, python-format
+msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,charge_bearer:0
+#: help:banking.export.sdd.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 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 ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Reference"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "SEPA Direct Debit"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "SEPA Direct Debit XML file generation"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_summary:0
+msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
+msgid "Payment Line"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,create_date:0
+msgid "Generation Date"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
+#, python-format
+msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,nb_transactions:0
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "One-Off"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,state:0
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_follower_ids:0
+msgid "Followers"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_unread:0
+msgid "Unread Messages"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+#: field:banking.export.sdd,payment_order_ids:0
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Type"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Sent"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: sql_constraint:sdd.mandate:0
+msgid "A Mandate with the same reference already exists for this company !"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,state:0
+msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,recurrent_sequence_type:0
+msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
+#, python-format
+msgid "The date of signature of mandate '%s' is in the future !"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Signature Date"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,charge_bearer:0
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,signature_date:0
+msgid "Date of Signature of the Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
+msgid "Mandate Cancelled"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
+msgid "Generated SEPA Direct Debit Files"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,sepa_migrated:0
+msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,batch_booking:0
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
+#, python-format
+msgid "Cannot validate the mandate '%s' because it is not attached to a bank account."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
+#, python-format
+msgid "Mandate update"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,batch_booking:0
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,state:0
+msgid "Status"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,total_amount:0
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
+msgid "SEPA Direct Debit Files"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#, python-format
+msgid "The mandate '%s' can't have a date of last debit before the date of signature."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_is_follower:0
+msgid "Is a Follower"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,original_mandate_identification:0
+msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:payment.order:0
+msgid "SDD Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.invoice,sdd_mandate_id:0
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
+#: field:payment.line,sdd_mandate_id:0
+#: view:sdd.mandate:0
+msgid "SEPA Direct Debit Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#, python-format
+msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#, python-format
+msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,scan:0
+msgid "Scan of the Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,last_debit_date:0
+msgid "Date of the Last Debit"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
+msgid "Mandate Expired"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:res.company:0
+msgid "Invalid SEPA Creditor Identifier."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
+msgid "
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "General Information"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Valid"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
+msgid "Invoice"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: field:sdd.mandate,payment_line_ids:0
+msgid "Related Payment Lines"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "Recurrent"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,type:0
+msgid "Type of Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
+msgid "Mandate Validated"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,file:0
+msgid "SEPA File"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
+msgid "SEPA Direct Debit export"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Expired"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_bank_id:0
+msgid "Bank Account"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#, python-format
+msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
+#, python-format
+msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_ids:0
+msgid "Messages and communication history"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Search SEPA Direct Debit Mandates"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr ""
+
diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po
new file mode 100644
index 00000000000..9d30343dd67
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/fr.po
@@ -0,0 +1,642 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 7.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-23 22:25+0000\n"
+"PO-Revision-Date: 2013-12-23 22:25+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_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
+msgid "SEPA Direct Debit Mandate Validated"
+msgstr "Mandat de prélèvement SEPA validé"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Nom du fichier"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
+#, python-format
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
+msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
+#, python-format
+msgid "Cannot validate the mandate '%s' without a date of signature."
+msgstr "Impossible de valider le mandat '%s' sans date de signature."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Final"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Finir"
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:0
+#: view:res.partner.bank:0
+msgid "SDD Mandates"
+msgstr "Mandats SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:payment.line:0
+#: constraint:sdd.mandate:0
+msgid "Error msg in raise"
+msgstr "Error msg in raise"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Reconciled"
+msgstr "Réconcilié"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Type de séquence pour le prochain prélèvement"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "Supportés par le créancier"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
+#: view:res.partner.bank:0
+#: field:res.partner.bank,sdd_mandate_ids:0
+msgid "SEPA Direct Debit Mandates"
+msgstr "Mandats de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Validate"
+msgstr "Valider"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Type de séquence mis à Recurring"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "Generate"
+msgstr "Générer"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
+msgid "SEPA Direct Debit Mandate Cancelled"
+msgstr "Mandat de prélèvement SEPA annulé"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "Supportés par le débiteur"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
+#, python-format
+msgid "Error:"
+msgstr "Erreur :"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_ids:0
+msgid "Messages"
+msgstr "Messages"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,unique_mandate_reference:0
+msgid "Unique Mandate Reference"
+msgstr "Référence unique de mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Cancelled"
+msgstr "Annulé"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
+#, python-format
+msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
+msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr "If checked new messages require your attention."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file_id:0
+msgid "SDD File"
+msgstr "Fichier de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
+msgid "SEPA Direct Debit Mandate has Expired"
+msgstr "Le mandat de prélèvement SEPA a expiré"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
+#, python-format
+msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
+msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,charge_bearer:0
+#: help:banking.export.sdd.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 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 "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur."
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Reference"
+msgstr "Référence"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "SEPA Direct Debit"
+msgstr "Prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "SEPA Direct Debit XML file generation"
+msgstr "Génération de fichiers de prélèvement SEPA XML"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_summary:0
+msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
+msgid "Payment Line"
+msgstr "Ligne de paiement"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,create_date:0
+msgid "Generation Date"
+msgstr "Date de génération"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
+#, python-format
+msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')."
+msgstr "La ligne de paiement portant la référence '%s' est configurée avec le compte bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché au compte bancaire '%s')."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Créer"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,nb_transactions:0
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Nombre de transactions"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "One-Off"
+msgstr "One-Off"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,state:0
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "État"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "Le mandat récurrent '%s' doit avoir un type de séquence."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_follower_ids:0
+msgid "Followers"
+msgstr "Followers"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_unread:0
+msgid "Unread Messages"
+msgstr "Unread Messages"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+#: field:banking.export.sdd,payment_order_ids:0
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Ordres de paiement"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Type"
+msgstr "Type"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Sent"
+msgstr "Envoyé"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Ancien Identifiant Créancier"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Recurring"
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n"
+"- du code ISO de votre pays (2 lettres)\n"
+"- un code de contrôle à 2 chiffres\n"
+"- un code d'activité à 3 lettres\n"
+"- un identifiant national"
+
+#. module: account_banking_sepa_direct_debit
+#: sql_constraint:sdd.mandate:0
+msgid "A Mandate with the same reference already exists for this company !"
+msgstr "Un mandat avec la même référence existe déjà pour cette société !"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,state:0
+msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months."
+msgstr "Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. Un mandate annulé est un mandat qui a été annulé par le client. Un mandat One-Off expire à l'issue de sa première utilisation. Un mandate récurrent expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 mois."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,recurrent_sequence_type:0
+msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
+#, python-format
+msgid "The date of signature of mandate '%s' is in the future !"
+msgstr "La date de signature du mandat '%s' est dans le futur !"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Signature Date"
+msgstr "Date de signature"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,charge_bearer:0
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Répartition des frais"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_id:0
+msgid "Partner"
+msgstr "Partenaire"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "First"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,signature_date:0
+msgid "Date of Signature of the Mandate"
+msgstr "Date de signature du mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
+msgid "Mandate Cancelled"
+msgstr "Mandat annulé"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
+msgid "Generated SEPA Direct Debit Files"
+msgstr "Fichiers de prélèvement SEPA générés"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,sepa_migrated:0
+msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
+msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,company_id:0
+msgid "Company"
+msgstr "Société"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Export du fichier de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,batch_booking:0
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
+msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
+#, python-format
+msgid "Cannot validate the mandate '%s' because it is not attached to a bank account."
+msgstr "Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte bancaire."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Draft"
+msgstr "Brouillon"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
+#, python-format
+msgid "Mandate update"
+msgstr "Mise-à-jour du mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Partagée"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,batch_booking:0
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Crédit groupé"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Migré à SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,state:0
+msgid "Status"
+msgstr "Statut"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,total_amount:0
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Montant total"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
+msgid "SEPA Direct Debit Files"
+msgstr "Fichiers de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Suivant le niveau de service"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#, python-format
+msgid "The mandate '%s' can't have a date of last debit before the date of signature."
+msgstr "Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la date de signature."
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Type de Séquence mis à Final"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_is_follower:0
+msgid "Is a Follower"
+msgstr "Is a Follower"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,original_mandate_identification:0
+msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
+msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement."
+
+#. module: account_banking_sepa_direct_debit
+#: view:payment.order:0
+msgid "SDD Mandate"
+msgstr "Mandat de prélèvement"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Ancien Identifiant du Mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Sociétés"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_summary:0
+msgid "Summary"
+msgstr "Résumé"
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Ancien mandat requis (SEPA)"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.invoice,sdd_mandate_id:0
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
+#: field:payment.line,sdd_mandate_id:0
+#: view:sdd.mandate:0
+msgid "SEPA Direct Debit Mandate"
+msgstr "Mandat de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#, python-format
+msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
+msgstr "Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour partenaire '%s' et pour référence de facture '%s'."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#, python-format
+msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
+msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,scan:0
+msgid "Scan of the Mandate"
+msgstr "Scan du mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,last_debit_date:0
+msgid "Date of the Last Debit"
+msgstr "Date du dernier prélèvement"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
+msgid "Mandate Expired"
+msgstr "Mandat expiré"
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:res.company:0
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Identifiant créancier SEPA invalide."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Comptes bancaires"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
+msgid "
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n"
+" Cliquez pour créer un mandat de prélèvement SEPA.\n"
+"
\n"
+" Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n"
+"
\n"
+" "
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "General Information"
+msgstr "Informations générales"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Valid"
+msgstr "Valide"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
+msgid "Invoice"
+msgstr "Facture"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Cancel"
+msgstr "Annuler"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: field:sdd.mandate,payment_line_ids:0
+msgid "Related Payment Lines"
+msgstr "Lignes de paiement associées"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "Recurrent"
+msgstr "Récurrent"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Type de mandat"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
+msgid "Mandate Validated"
+msgstr "Mandat validé"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,file:0
+msgid "SEPA File"
+msgstr "Fichier SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "Identifiant créancier SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
+msgid "SEPA Direct Debit export"
+msgstr "Export de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Expired"
+msgstr "Expiré"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_bank_id:0
+msgid "Bank Account"
+msgstr "Compte bancaire"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#, python-format
+msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
+msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'."
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Type de Séquence mis à First"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
+#, python-format
+msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_ids:0
+msgid "Messages and communication history"
+msgstr "Messages and communication history"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Search SEPA Direct Debit Mandates"
+msgstr "Recherche dans les mandats de prélèvement SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Fichier"
+
diff --git a/account_banking_sepa_direct_debit/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/mandate_expire_cron.xml
new file mode 100644
index 00000000000..4cb0693d2d2
--- /dev/null
+++ b/account_banking_sepa_direct_debit/mandate_expire_cron.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+ Set SEPA Direct Debit Mandates to Expired
+
+
+ 1
+ days
+ -1
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/res_partner_bank_view.xml b/account_banking_sepa_direct_debit/res_partner_bank_view.xml
new file mode 100644
index 00000000000..0b32e9f1c26
--- /dev/null
+++ b/account_banking_sepa_direct_debit/res_partner_bank_view.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ sdd.mandate.res.partner.bank.form
+ res.partner.bank
+
+
+
+
+
+
+
+
+
+
+
+ sdd.mandate.res.partner.bank.tree
+ res.partner.bank
+
+
+
+
+
+
+
+
+
+
+ sdd.mandate.partner.form
+ res.partner
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/sdd_mandate_view.xml b/account_banking_sepa_direct_debit/sdd_mandate_view.xml
new file mode 100644
index 00000000000..bd1dd6e7976
--- /dev/null
+++ b/account_banking_sepa_direct_debit/sdd_mandate_view.xml
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+ sdd.mandate.form
+ sdd.mandate
+
+
+
+
+
+
+ sdd.mandate.tree
+ sdd.mandate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sdd.mandate.search
+ sdd.mandate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SEPA Direct Debit Mandates
+ sdd.mandate
+ form
+ tree,form
+
+
+ Click to create a new SEPA Direct Debit Mandate.
+
+ A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
+
+
+
+
+
+
+
+
+ Mandate Validated
+ sdd.mandate
+
+ SEPA Direct Debit Mandate Validated
+
+
+
+ Mandate Expired
+ sdd.mandate
+
+ SEPA Direct Debit Mandate has Expired
+
+
+
+ Mandate Cancelled
+ sdd.mandate
+
+ SEPA Direct Debit Mandate Cancelled
+
+
+
+ Sequence Type set to First
+ sdd.mandate
+
+ Sequence Type set to First
+
+
+
+ Sequence Type set to Recurring
+ sdd.mandate
+
+ Sequence Type set to Recurring
+
+
+
+ Sequence Type set to Final
+ sdd.mandate
+
+ Sequence Type set to Final
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/security/ir.model.access.csv b/account_banking_sepa_direct_debit/security/ir.model.access.csv
new file mode 100644
index 00000000000..cf78ffb59bc
--- /dev/null
+++ b/account_banking_sepa_direct_debit/security/ir.model.access.csv
@@ -0,0 +1,4 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_banking_export_sdd","Full access on banking.export.sdd","model_banking_export_sdd","account_payment.group_account_payment",1,1,1,1
+"access_sdd_mandate","Full access on sdd.mandate","model_sdd_mandate","account_payment.group_account_payment",1,1,1,1
+"access_sdd_mandate_read","Read access on sdd.mandate","model_sdd_mandate","base.group_user",1,0,0,0
diff --git a/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml b/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml
new file mode 100644
index 00000000000..e6a8570cfb6
--- /dev/null
+++ b/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ Original Mandate Required (SEPA)
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml
new file mode 100644
index 00000000000..22026108841
--- /dev/null
+++ b/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+ SEPA Direct Debit La Banque Postale
+
+
+
+
+
+
+
+ FR78ZZZ424242
+
+
+
+
+ recurrent
+ first
+ 2014-02-01
+ valid
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/static/src/img/icon.png b/account_banking_sepa_direct_debit/static/src/img/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d1d923b6506b33ca0825af17ed0ae36c9bd0dc6
GIT binary patch
literal 6892
zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*$`
z7B3e|!Eq@702*vbL_t(|+RdAHcwFVR?tgpFo<5^8Ga8M0v1A#^k}b=Yja)D`;hH!h
zp@cw^OL9)Yq+CcN<6E5%AqMj|;G$)Txm
zv~I!^I(n+U|IaV%J#*-PEC8EIvy(P$%HNgdO88Wo)4Jx^$zJiqnE@oNL}_sbt5#-`
zn{6jC!MNykqR|+A0~0j24O4rvo6#{JPP>^cm3fMya-x68^T%U{J0Cw#*ERV+0)Xw?
z^PE*Hm)%;JXZu1R7){^3zgZMD8a}eEn2qa~A&T!EDNduL$l2G|
z?|I^Ib>}0m9&R7`rvY&Lm$vLGD@wn^;}2!--hWoi&vSCawd=523?E3mswy0=Zs#vA
zoun|&&brdfuKK2dAOG~%haUe>0oZjz#fp-mjE6JR61P43w|dd#O5!uut;cB4@?ovo
zQ$0NQ{Bb_Au|UyC!v5;ou3Mk^+v&3(H~?R}sp@l8Yx3{!=oxn%sq5p*|9S~&uEY<;
z=<3=oDl2klUdLhz&puy6PtO=1-C8(wx_RhpKY8?x=ibRRHSgrhKe+w!`!|&5-t)J8
zO$jE8iLc(g^#gPF`Bo?##g=Sl+#MhkiefhDDJ#h!H^;$m|5#(WxIF8s%JMAJKMuF=
zdtU*ls6e{y3s*c@R+N6rZ(lg6`Q*peu(_)6JsINC$>
zNhT&HgP;mn%z8%0{G_=O*>rIsFYKuov(u8Qwr?!RaR*!X3=X2a=MdPs73ou#eexMs
ziuLN>zgRDR`R1)SY?gOqY+y`e0MUY=F=MeNqS0tTRZ&$1k7p7^_M^o7sPY7A
z%#FnmMHJ)L@cF~+ef=z18A+^NoilUoqcxpuSerNV`oEt!g59jeYSI7cg#$0%aNq#)
zdjjCc-`(+KNs;TuXZ}_%e&yy%m+bP9D8z(xM13|%wroUEL`4NuR7IKon;8I9Rh@pR
z#NPw_zA?gqZgj#3MtzKl$sk&-hSv5GBGDL?YjO!rg)y7-^z^yO&a?sWm)&((w4f^L
z2#y}Y&K93A-N&ee=ehSBM@H+}zGm)-xa
za=>@Ly7l^XtFrFfeV|2i-L;k2lFS#}@Kn@}*>NdJjv^$jVLGPO_yIn>dVBi_27_2E
z=U-1<;P1GHXfzTAlbyCsFDWSw%=$1Ula8J~H^=L`iOMp|3sNx|bcDk)k%-Ki)j7O=
zq+KXpmQq=iXKy-G)7`ja57>1>#fplOjGxvu4oaJ<3Q0{#Sk!PiCJ>d%NX^}e+2WXo
zz^L^0_HpRYVVav;@cDf2$|EF6OHxWX<5Rf=L-7bU8?@Mx%=Gk45Q`}cjd+>#1OfQp
z*KgopZMRf*QTl^7UbSlZk^v~aDC=QaQJoQ0q~xNE#f?`abV=JtNn0}~iw6P$nwy(B
z@cJ8^ZEhhH3Zbeh$;rv@=>*BiDZ&?7hR%@4%Hj-s{s?uadpTCyg(Qh6(@rFc0-wIR
zlDej$^tG#V9$r!ieCNxT?pj-xdFz`ed&TRnUdLi5Q&iSrw0#6?Vg{ht1qR|*5V_pC@ZYZRobyQqkoPNjFisiFnR675~=CXpXI_;Lsu0fxepPRCv
z@rnZarnWu>U9ir4EU5{b~()`rL9o%7qI`kM
zNfN56@Vlq~fXCxy-)n#2uP^Qa;MLdu!6jR&`0Qt{QhlQIW@n4;oLanAmJf|bXA^(0MA&0KTMm3;Xt-=wiIUei=U3aaCS0QF(oH@4m@s#B4U9
zo|hB;_=l%BR$as1egELb&wq(MFFnVmEjxJW#b-%OOh8o>+S)qs`vW}rn}=|vrlP6}
zimLGYXJ6okPhZ8vq=(*qHxZ=(gE)#t6zCtEM3!TetVl_Vs0p-u~@s;UrEVmRzJ1Odjz-8k%abUF?F{R6}TC(%kWvaFDn
znutz!E+NXY!ttXmihDBfz#aF!@@)|y$zrH-dx9)4T=?#)8Ykui*OG|JeD0r=lz=2j
z7m&PE#>Xe-yl*rZiALpFNmo%6L{WpmU?4Lijo!X~Iy!qm5Qzzn>0?ryVTI?|q=-4e
zAX=^ZDgbePSw^PQVJQnm6mhX)M`tNmGE;NA-E-rA3G8opWCWkji`P4wDx1wF91a`V
zS(!wmQ2-JX6H%1dIoGzB(CM@Yf`A}7h{fVQ6pBRW<{h05m)*L$;-VavSW%X}Ex~Hg
znHDi#RRt`G1xq$QcHYL`y0bQ$eZk)}Hl1b16;~6Q3Zo)$@utgXeV&+@fJP(Y_4+Ux
zjWeM#JTe+5N$p*PLlNYtJZ+$fsA8PqERo3U{n%|*bUKY;?Hbo*qSIwv24FE87CHJ7
z(dtY~0$_aHJ*OtnXf)XE^Ls!z9A?j+S1B)F6|WFgm1BqZ&Kp+2;1r38Rzl%0$;nCN
z=48bUmNZCO39artQC6@{eZg~GT}Q+ZU+pnWAtON)Q^JnnBYnJ}4*^LjvW@kP|0sAJ3KDxz|XhBJ*6m#m<^p^>XTu@j@w
z$jQ3XJo?B3yuAB4{_^}&05qIwV$;UT8RG$JYU;?%%{rF?G$IjMo#`LUsb>TMK@v@(
zMkAW^+6#1agr&6)CfxJI|NP-|*=1Y#Kev99y1IHcZ>~Zk3Y=+dV&@f?Q(Iey#bV**
zSN5@b)k?m4+qb!5=XLBqaEMd&4eYpl8@GM^4t8GoS@yiLm!6(JoT(|?e9P?&3=E%_
z2Q-X~`Z#r_pA+@H3=VtFM*xi=ScJ##xn?js%jR@tITs}OCg-)7ttlvqf*>$26AXt#
z?B9QYxHqY&N?gb&E?z;JEA=g2x1cIKF)>LX5I`e|bai$!G(1Yhnle;HrLplW7Zn%L
z($b2-U?3|q9Tk-mC+b;KUdqVG810>1tgkGmq2VkA%W}{g^mLwmjc{m+43Ac~dv;9M2ET#m{S8V1d0`d~#e{@cfq^b%|r*lc(qtok%#bQLGG8&Br
zqap6zo!vc@l*ARJNJK``NV8a7ykiu?F#Y|g97B>M!r=&G6Fzct?C5k7MuV1&v_u95
zJu{+4OjZ42OjUz#v8DxifE;{R>@P7f5lLEF_?V1FT&`5)XcRdXBQO=B`uGWa=dr>-
zAb`aZ&qu-F6lQb$sEdRn#N-%tb!S+XpM@kzOiXxiIV>z+<|KW(cPR)0k%&C4O(?`<
zB`AXG7J-S$z{1Cy?0Z+|zs+V_GJj}nYUavMT#q1%$k7-sr-RCMYi8v0uC5+_^1vgQ
zEoP!o8L!um)oNkqm7gUXj*^j)77t1Ftv!c$d+Ff|L@*e&(_n@`z%5QqMSCPkWNIq1
zu>L1|7Tvth=O+{j&7r?``@#T(!(oPoMsT|)h(@CvJb0Lm8#kaTDxuI68clqoxjET1
zx3+Qc&7%|*6{68-$j;8d7x3e-+t~f$(*%M+%oZ~#4m*AQgK_Yabol%cqSGWO7E>7-
z@sOPv=OmGktONql9w`u(I{>1Qh2uOD7+4g5(b183>+8Ho5;YoZHe0;Bov+d9@gd7m
zt@N73>ET3g#GDK4V6whoueNq%lNu~>|;
zF*hx(?L76{=XmgEchhv%PitEz*)Ek8g{jokbz`?#@OXn1U77kTL6$7t{9WYwxt5)!Ta?&&}9
zgCE|@8wU?_#g31#e0d=a4NWvOH1YfkyUEVVL?cOjao0CUNKD|FXJ4SRtB1S(<337?
zizqC}Lm*D4FJ6~VYKoP0<+)^}B~5FIqgYH@dWR?5#QM_%`#rv?NN6g$;87q5Dt=Gf
zyq^W9rsj?R#nNg|PcH_8o}d5xF>b!;3%FdVtSl);r_=GXpZ$`?re-3M2(RrufZ1%~
zc+Cmyb{luy^=(c!G!YI**t_?2%2$`NEI)@!w{GOlJHEl)Km2a|R0w*J!ya_g%JAC<
zv%;Y;et#r%;^fGF@y(OH14CoJx>UQ7p5F0=!@xg301c-b=I!hIyuKNg=k2*65{c)V
z*4B0k3zyN*(8#)VYlz7TjZMw`_4%i1s6WE-WBUO(c<3nk`MG!|y%ZMYV>IfiJJrCl
z{9FbGhdEwTM_z6=k#GdPPDfg*NKs)b&XoBnd}u1n@VKw8wyAqa1PJ(|hjm(sfdTiz
zWH2^Dz&mta40||steVNm`KQ&Q(I}_t>*s*r_4?3HQ`n6gH}D_d{}GK%&8%Bjfuh8?
z>XSRU=DN?bvg~4d`}zTRzgwq
zOec)so(wWN<|7oEEr^Vb`w>-D@dQGLW;DT1?I_vw`RglRZ||94%Oxe^d>x@lPmobh
zB8J3rCMG5cO$CY5LiIdN@O-uxXM&QXA;n?GY&K&uo3PuH85!tQ0pBo**$Cx{XYSN&d~BYBs;{(&?ibfX24bo{j5rcV?$2rFZmB3iAy;b##w2;U2~pG=Lz1
zsv=1ef+!G+#fZfeWla-l)q>am0q99^4
z>abYM)4V~QAuZ?k2Hz4pe11RO-MtJBk5E{UKl44UR?E~>5Tn?M$sjU1?x($T42Rt^
zlM7T8T3Y(?`9jqXJod&9X7vSn`zHTfkmFc8*fIjE=k^AQi(J#{kV;Cp1|_)^>P1x+eb1VKdRx)W>2sM4dW~XQGpT*7EuNjEsz(OSq9K#8@w)2#1cf
zQ(M;qz~Jz?1byIOGt2YrN_UU@H^+{(dFO49AFJ(ncx2qyQ&yC!?EOdM!U~ZH;fdD?
z`iB200C*<7jE%dei#i!Oa1xh8k03yDk_oGIw!j+*Mi?EQBovmrUOCqEiv{NcUOw11
zcB*mk?xX|*UXPz~_re8|MvUSgc@^JzN8^XRVsZpI*ojdW!erK?s*viil46gK@vU4D
zpKf_^PaPMp$x==>^xb{rNS}Mr5t*Mn_Qn$}9bmo*#f(sQcNbQ}C`rZvtY(S!u2Gs=hDmW)>Fsy3EH5RV
z11tvofiO?~{!OmfvOIF6rfb))eqViX$p8QxuIWCrJlB!1wk&Hyd*`U&3r5LIPriUR
zOc4pRpxbi^z^$Q{r7ubxqZ?7UMSvVP1`Fe37I8T6*((v>bix2Vc(+R
zaIPN+TG59_>0@&IEJ6PWp`edwBt$4Iqc<35866A;3HU|{1%?QC+nMq-U=({WXnklU
z6`w!M;p%o|S)sHzgA}_3lSxP4z+@Z%qmD7RpNAja&-EWGRl55op8x9`FWuDDwfMyN
zk{+0-s6hJEWmo)a^~#JJ51;532gick@-JIvRM~gB6h*}!lu=bNt|TckMuRwKvg_@u
z{!Blq&IHUR9o>CyN{Z6(`9fH&25L|Bu;-OieE#YRrLk@3iC2!i{N)QxiZ96n00sw9
z_P*Kn*P>+(8XJpR<1!iu7_clE%8APDGn8Vq_7y-q-{*UStuEh@c_`N_|9
z%!HH0tVfbWo_h8O1HGeMvtwoC#F>Hn?!5o+U%$|ue@6hkwf=FqeP3!yLQ7tzZPUeT
zvdvFDS1q)(k5F2iu_OcD>vFpTq&O^SG$IzWp1RY0JowAKtS`$@iVITv57l&k>7GaS
zKm1Ovsd=ZHIC`S{j80;Y$)qp3d~;!*2GRyK(-j~PZ7FsC|%XG73jE5iF
zk9*9^jaQc|V-tZ_4;TO1sk|iP-%{+B+@mMD#Y45-tXZAI
z&dWJSP9G?v0
z4@L=vqR5JZ$*9AqldxEHWTqyNnU&-T=)lS5-hmHtfBzqpiy;_LBaChU0000
+#
+# 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 export_sdd
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py
new file mode 100644
index 00000000000..19520d31803
--- /dev/null
+++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py
@@ -0,0 +1,451 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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.tools.translate import _
+from openerp import netsvc
+from datetime import datetime
+from lxml import etree
+
+
+class banking_export_sdd_wizard(orm.TransientModel):
+ _name = 'banking.export.sdd.wizard'
+ _inherit = ['banking.export.pain']
+ _description = 'Export SEPA Direct Debit File'
+ _columns = {
+ 'state': fields.selection([
+ ('create', 'Create'),
+ ('finish', 'Finish'),
+ ], 'State', readonly=True),
+ 'batch_booking': fields.boolean(
+ 'Batch Booking',
+ help="If true, the bank statement will display only one credit "
+ "line for all the direct debits of the SEPA file ; if false, "
+ "the bank statement will display one credit line per direct "
+ "debit of the SEPA file."),
+ 'charge_bearer': fields.selection([
+ ('SLEV', 'Following Service Level'),
+ ('SHAR', 'Shared'),
+ ('CRED', 'Borne by Creditor'),
+ ('DEBT', 'Borne by Debtor'),
+ ], 'Charge Bearer', required=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."),
+ 'nb_transactions': fields.related(
+ 'file_id', 'nb_transactions', type='integer',
+ string='Number of Transactions', readonly=True),
+ 'total_amount': fields.related(
+ 'file_id', 'total_amount', type='float', string='Total Amount',
+ readonly=True),
+ 'file_id': fields.many2one(
+ 'banking.export.sdd', 'SDD File', readonly=True),
+ 'file': fields.related(
+ 'file_id', 'file', string="File", type='binary', readonly=True),
+ 'filename': fields.related(
+ 'file_id', 'filename', string="Filename", type='char', size=256,
+ readonly=True),
+ 'payment_order_ids': fields.many2many(
+ 'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id',
+ 'payment_order_id', 'Payment Orders', readonly=True),
+ }
+
+ _defaults = {
+ 'charge_bearer': 'SLEV',
+ 'state': 'create',
+ }
+
+ def create(self, cr, uid, vals, context=None):
+ payment_order_ids = context.get('active_ids', [])
+ vals.update({
+ 'payment_order_ids': [[6, 0, payment_order_ids]],
+ })
+ return super(banking_export_sdd_wizard, self).create(
+ cr, uid, vals, context=context)
+
+ def _get_previous_bank(self, cr, uid, payline, context=None):
+ payline_obj = self.pool['payment.line']
+ previous_bank = False
+ payline_ids = payline_obj.search(
+ cr, uid, [
+ ('sdd_mandate_id', '=', payline.sdd_mandate_id.id),
+ ('bank_id', '!=', payline.bank_id.id),
+ ],
+ context=context)
+ if payline_ids:
+ older_lines = payline_obj.browse(
+ cr, uid, payline_ids, context=context)
+ previous_date = False
+ previous_payline_id = False
+ for older_line in older_lines:
+ older_line_date_sent = older_line.order_id.date_sent
+ if (older_line_date_sent
+ and older_line_date_sent > previous_date):
+ previous_date = older_line_date_sent
+ previous_payline_id = older_line.id
+ if previous_payline_id:
+ previous_payline = payline_obj.browse(
+ cr, uid, previous_payline_id, context=context)
+ previous_bank = previous_payline.bank_id
+ return previous_bank
+
+ def create_sepa(self, cr, uid, ids, context=None):
+ '''
+ Creates the SEPA Direct Debit file. That's the important code !
+ '''
+ sepa_export = self.browse(cr, uid, ids[0], context=context)
+
+ pain_flavor = sepa_export.payment_order_ids[0].mode.type.code
+ convert_to_ascii = \
+ sepa_export.payment_order_ids[0].mode.convert_to_ascii
+ if pain_flavor == 'pain.008.001.02':
+ bic_xml_tag = 'BIC'
+ name_maxsize = 70
+ root_xml_tag = 'CstmrDrctDbtInitn'
+ elif pain_flavor == 'pain.008.001.03':
+ bic_xml_tag = 'BICFI'
+ name_maxsize = 140
+ root_xml_tag = 'CstmrDrctDbtInitn'
+ elif pain_flavor == 'pain.008.001.04':
+ bic_xml_tag = 'BICFI'
+ name_maxsize = 140
+ root_xml_tag = 'CstmrDrctDbtInitn'
+ else:
+ raise orm.except_orm(
+ _('Error:'),
+ _("Payment Type Code '%s' is not supported. The only "
+ "Payment Type Code supported for SEPA Direct Debit "
+ "are 'pain.008.001.02', 'pain.008.001.03' and "
+ "'pain.008.001.04'.") % pain_flavor)
+
+ gen_args = {
+ 'bic_xml_tag': bic_xml_tag,
+ 'name_maxsize': name_maxsize,
+ 'convert_to_ascii': convert_to_ascii,
+ 'payment_method': 'DD',
+ 'pain_flavor': pain_flavor,
+ 'sepa_export': sepa_export,
+ 'file_obj': self.pool['banking.export.sdd'],
+ 'pain_xsd_file':
+ 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor,
+ }
+
+ pain_ns = {
+ 'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
+ None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
+ }
+
+ xml_root = etree.Element('Document', nsmap=pain_ns)
+ pain_root = etree.SubElement(xml_root, root_xml_tag)
+
+ # A. Group header
+ group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \
+ self.generate_group_header_block(
+ cr, uid, pain_root, gen_args, context=context)
+
+ transactions_count_1_6 = 0
+ total_amount = 0.0
+ amount_control_sum_1_7 = 0.0
+ lines_per_group = {}
+ # key = (requested_date, priority, sequence type)
+ # value = list of lines as objects
+ # Iterate on payment orders
+ today = fields.date.context_today(self, cr, uid, context=context)
+ for payment_order in sepa_export.payment_order_ids:
+ total_amount = total_amount + payment_order.total
+ # Iterate each payment lines
+ for line in payment_order.line_ids:
+ transactions_count_1_6 += 1
+ priority = line.priority
+ if payment_order.date_prefered == 'due':
+ requested_date = line.ml_maturity_date or today
+ elif payment_order.date_prefered == 'fixed':
+ requested_date = payment_order.date_scheduled or today
+ else:
+ requested_date = today
+ if not line.sdd_mandate_id:
+ raise orm.except_orm(
+ _('Error:'),
+ _("Missing SEPA Direct Debit mandate on the payment "
+ "line with partner '%s' and Invoice ref '%s'.")
+ % (line.partner_id.name,
+ line.ml_inv_ref.number))
+ if line.sdd_mandate_id.state != 'valid':
+ raise orm.except_orm(
+ _('Error:'),
+ _("The SEPA Direct Debit mandate with reference '%s' "
+ "for partner '%s' has expired.")
+ % (line.sdd_mandate_id.unique_mandate_reference,
+ line.sdd_mandate_id.partner_id.name))
+ if line.sdd_mandate_id.type == 'oneoff':
+ if not line.sdd_mandate_id.last_debit_date:
+ seq_type = 'OOFF'
+ else:
+ raise orm.except_orm(
+ _('Error:'),
+ _("The mandate with reference '%s' for partner "
+ "'%s' has type set to 'One-Off' and it has a "
+ "last debit date set to '%s', so we can't use "
+ "it.")
+ % (line.sdd_mandate_id.unique_mandate_reference,
+ line.sdd_mandate_id.partner_id.name,
+ line.sdd_mandate_id.last_debit_date))
+ elif line.sdd_mandate_id.type == 'recurrent':
+ seq_type_map = {
+ 'recurring': 'RCUR',
+ 'first': 'FRST',
+ 'final': 'FNAL',
+ }
+ seq_type_label = \
+ line.sdd_mandate_id.recurrent_sequence_type
+ assert seq_type_label is not False
+ seq_type = seq_type_map[seq_type_label]
+
+ key = (requested_date, priority, seq_type)
+ if key in lines_per_group:
+ lines_per_group[key].append(line)
+ else:
+ lines_per_group[key] = [line]
+ # Write requested_exec_date on 'Payment date' of the pay line
+ if requested_date != line.date:
+ self.pool['payment.line'].write(
+ cr, uid, line.id,
+ {'date': requested_date}, context=context)
+
+ for (requested_date, priority, sequence_type), lines in \
+ lines_per_group.items():
+ # B. Payment info
+ payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \
+ self.generate_start_payment_info_block(
+ cr, uid, pain_root,
+ "sepa_export.payment_order_ids[0].reference + '-' + "
+ "sequence_type + '-' + requested_date.replace('-', '') "
+ "+ '-' + priority",
+ priority, 'CORE', sequence_type, requested_date, {
+ 'sepa_export': sepa_export,
+ 'sequence_type': sequence_type,
+ 'priority': priority,
+ 'requested_date': requested_date,
+ }, gen_args, context=context)
+
+ self.generate_party_block(
+ cr, uid, payment_info_2_0, 'Cdtr', 'B',
+ 'sepa_export.payment_order_ids[0].mode.bank_id.partner_id.'
+ 'name',
+ 'sepa_export.payment_order_ids[0].mode.bank_id.acc_number',
+ 'sepa_export.payment_order_ids[0].mode.bank_id.bank.bic',
+ {'sepa_export': sepa_export},
+ gen_args, context=context)
+
+ charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr')
+ charge_bearer_2_24.text = sepa_export.charge_bearer
+
+ creditor_scheme_identification_2_27 = etree.SubElement(
+ payment_info_2_0, 'CdtrSchmeId')
+ self.generate_creditor_scheme_identification(
+ cr, uid, creditor_scheme_identification_2_27,
+ 'sepa_export.payment_order_ids[0].company_id.'
+ 'sepa_creditor_identifier',
+ 'SEPA Creditor Identifier', {'sepa_export': sepa_export},
+ 'SEPA', gen_args, context=context)
+
+ transactions_count_2_4 = 0
+ amount_control_sum_2_5 = 0.0
+ for line in lines:
+ transactions_count_2_4 += 1
+ # C. Direct Debit Transaction Info
+ dd_transaction_info_2_28 = etree.SubElement(
+ payment_info_2_0, 'DrctDbtTxInf')
+ payment_identification_2_29 = etree.SubElement(
+ dd_transaction_info_2_28, 'PmtId')
+ end2end_identification_2_31 = etree.SubElement(
+ payment_identification_2_29, 'EndToEndId')
+ end2end_identification_2_31.text = self._prepare_field(
+ cr, uid, 'End to End Identification', 'line.name',
+ {'line': line}, 35,
+ gen_args=gen_args, context=context)
+ currency_name = self._prepare_field(
+ cr, uid, 'Currency Code', 'line.currency.name',
+ {'line': line}, 3, gen_args=gen_args,
+ context=context)
+ instructed_amount_2_44 = etree.SubElement(
+ dd_transaction_info_2_28, 'InstdAmt', Ccy=currency_name)
+ instructed_amount_2_44.text = '%.2f' % line.amount_currency
+ amount_control_sum_1_7 += line.amount_currency
+ amount_control_sum_2_5 += line.amount_currency
+ dd_transaction_2_46 = etree.SubElement(
+ dd_transaction_info_2_28, 'DrctDbtTx')
+ mandate_related_info_2_47 = etree.SubElement(
+ dd_transaction_2_46, 'MndtRltdInf')
+ mandate_identification_2_48 = etree.SubElement(
+ mandate_related_info_2_47, 'MndtId')
+ mandate_identification_2_48.text = self._prepare_field(
+ cr, uid, 'Unique Mandate Reference',
+ 'line.sdd_mandate_id.unique_mandate_reference',
+ {'line': line}, 35,
+ gen_args=gen_args, context=context)
+ mandate_signature_date_2_49 = etree.SubElement(
+ mandate_related_info_2_47, 'DtOfSgntr')
+ mandate_signature_date_2_49.text = self._prepare_field(
+ cr, uid, 'Mandate Signature Date',
+ 'line.sdd_mandate_id.signature_date',
+ {'line': line}, 10,
+ gen_args=gen_args, context=context)
+ if sequence_type == 'FRST' and (
+ line.sdd_mandate_id.last_debit_date or
+ not line.sdd_mandate_id.sepa_migrated):
+ previous_bank = self._get_previous_bank(
+ cr, uid, line, context=context)
+ if previous_bank or not line.sdd_mandate_id.sepa_migrated:
+ amendment_indicator_2_50 = etree.SubElement(
+ mandate_related_info_2_47, 'AmdmntInd')
+ amendment_indicator_2_50.text = 'true'
+ amendment_info_details_2_51 = etree.SubElement(
+ mandate_related_info_2_47, 'AmdmntInfDtls')
+ if previous_bank:
+ if previous_bank.bank.bic == line.bank_id.bank.bic:
+ ori_debtor_account_2_57 = etree.SubElement(
+ amendment_info_details_2_51, 'OrgnlDbtrAcct')
+ ori_debtor_account_id = etree.SubElement(
+ ori_debtor_account_2_57, 'Id')
+ ori_debtor_account_iban = etree.SubElement(
+ ori_debtor_account_id, 'IBAN')
+ ori_debtor_account_iban.text = self._validate_iban(
+ cr, uid, self._prepare_field(
+ cr, uid, 'Original Debtor Account',
+ 'previous_bank.acc_number',
+ {'previous_bank': previous_bank},
+ gen_args=gen_args,
+ context=context),
+ context=context)
+ else:
+ ori_debtor_agent_2_58 = etree.SubElement(
+ amendment_info_details_2_51, 'OrgnlDbtrAgt')
+ ori_debtor_agent_institution = etree.SubElement(
+ ori_debtor_agent_2_58, 'FinInstnId')
+ ori_debtor_agent_bic = etree.SubElement(
+ ori_debtor_agent_institution, bic_xml_tag)
+ ori_debtor_agent_bic.text = self._prepare_field(
+ cr, uid, 'Original Debtor Agent',
+ 'previous_bank.bank.bic',
+ {'previous_bank': previous_bank},
+ gen_args=gen_args,
+ context=context)
+ ori_debtor_agent_other = etree.SubElement(
+ ori_debtor_agent_institution, 'Othr')
+ ori_debtor_agent_other_id = etree.SubElement(
+ ori_debtor_agent_other, 'Id')
+ ori_debtor_agent_other_id.text = 'SMNDA'
+ # SMNDA = Same Mandate New Debtor Agent
+ elif not line.sdd_mandate_id.sepa_migrated:
+ ori_mandate_identification_2_52 = etree.SubElement(
+ amendment_info_details_2_51, 'OrgnlMndtId')
+ ori_mandate_identification_2_52.text = \
+ self._prepare_field(
+ cr, uid, 'Original Mandate Identification',
+ 'line.sdd_mandate_id.'
+ 'original_mandate_identification',
+ {'line': line},
+ gen_args=gen_args,
+ context=context)
+ ori_creditor_scheme_id_2_53 = etree.SubElement(
+ amendment_info_details_2_51, 'OrgnlCdtrSchmeId')
+ self.generate_creditor_scheme_identification(
+ cr, uid, ori_creditor_scheme_id_2_53,
+ 'sepa_export.payment_order_ids[0].company_id.'
+ 'original_creditor_identifier',
+ 'Original Creditor Identifier',
+ {'sepa_export': sepa_export},
+ 'SEPA', gen_args, context=context)
+
+ self.generate_party_block(
+ cr, uid, dd_transaction_info_2_28, 'Dbtr', 'C',
+ 'line.partner_id.name',
+ 'line.bank_id.acc_number',
+ 'line.bank_id.bank.bic',
+ {'line': line}, gen_args, context=context)
+
+ self.generate_remittance_info_block(
+ cr, uid, dd_transaction_info_2_28,
+ line, gen_args, context=context)
+
+ nb_of_transactions_2_4.text = str(transactions_count_2_4)
+ control_sum_2_5.text = '%.2f' % amount_control_sum_2_5
+ nb_of_transactions_1_6.text = str(transactions_count_1_6)
+ control_sum_1_7.text = '%.2f' % amount_control_sum_1_7
+
+ return self.finalize_sepa_file_creation(
+ cr, uid, ids, xml_root, total_amount, transactions_count_1_6,
+ gen_args, context=context)
+
+ def cancel_sepa(self, cr, uid, ids, context=None):
+ '''
+ Cancel the SEPA file: just drop the file
+ '''
+ sepa_export = self.browse(cr, uid, ids[0], context=context)
+ self.pool.get('banking.export.sdd').unlink(
+ cr, uid, sepa_export.file_id.id, context=context)
+ return {'type': 'ir.actions.act_window_close'}
+
+ def save_sepa(self, cr, uid, ids, context=None):
+ '''
+ Save the SEPA Direct Debit file: mark all payments in the file
+ as 'sent'. Write 'last debit date' on mandate and set oneoff
+ mandate to expired
+ '''
+ sepa_export = self.browse(cr, uid, ids[0], context=context)
+ self.pool.get('banking.export.sdd').write(
+ cr, uid, sepa_export.file_id.id, {'state': 'sent'},
+ context=context)
+ wf_service = netsvc.LocalService('workflow')
+ for order in sepa_export.payment_order_ids:
+ wf_service.trg_validate(uid, 'payment.order', order.id, 'done', cr)
+ mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids]
+ self.pool['sdd.mandate'].write(
+ cr, uid, mandate_ids,
+ {'last_debit_date': datetime.today().strftime('%Y-%m-%d')},
+ context=context)
+ to_expire_ids = []
+ first_mandate_ids = []
+ for line in order.line_ids:
+ if line.sdd_mandate_id.type == 'oneoff':
+ to_expire_ids.append(line.sdd_mandate_id.id)
+ elif line.sdd_mandate_id.type == 'recurrent':
+ seq_type = line.sdd_mandate_id.recurrent_sequence_type
+ if seq_type == 'final':
+ to_expire_ids.append(line.sdd_mandate_id.id)
+ elif seq_type == 'first':
+ first_mandate_ids.append(line.sdd_mandate_id.id)
+ self.pool['sdd.mandate'].write(
+ cr, uid, to_expire_ids, {'state': 'expired'}, context=context)
+ self.pool['sdd.mandate'].write(
+ cr, uid, first_mandate_ids, {
+ 'recurrent_sequence_type': 'recurring',
+ 'sepa_migrated': True,
+ }, context=context)
+ return {'type': 'ir.actions.act_window_close'}
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml
new file mode 100644
index 00000000000..3699de91caf
--- /dev/null
+++ b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ banking.export.sdd.wizard.view
+ banking.export.sdd.wizard
+
+
+
+
+
+
+
From d040a4e71ecb22c410750ec6a78805ff7a9c5421 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of banking-addons-team
Date: Sat, 1 Feb 2014 06:56:49 +0000
Subject: [PATCH 02/83] Launchpad automatic translations update.
---
account_banking_sepa_direct_debit/i18n/fr.po | 199 +++--
account_banking_sepa_direct_debit/i18n/nl.po | 754 +++++++++++++++++++
2 files changed, 907 insertions(+), 46 deletions(-)
create mode 100644 account_banking_sepa_direct_debit/i18n/nl.po
diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po
index 9d30343dd67..3744da85064 100644
--- a/account_banking_sepa_direct_debit/i18n/fr.po
+++ b/account_banking_sepa_direct_debit/i18n/fr.po
@@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-12-23 22:25+0000\n"
-"PO-Revision-Date: 2013-12-23 22:25+0000\n"
-"Last-Translator: <>\n"
+"POT-Creation-Date: 2013-12-23 22:24+0000\n"
+"PO-Revision-Date: 2014-02-01 04:49+0000\n"
+"Last-Translator: Alexis de Lattre \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
+"X-Generator: Launchpad (build 17031)\n"
#. module: account_banking_sepa_direct_debit
#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
@@ -29,8 +30,12 @@ msgstr "Nom du fichier"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
#, python-format
-msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
-msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré."
+msgid ""
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr ""
+"Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire "
+"'%s' a expiré."
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
@@ -148,8 +153,14 @@ msgstr "Annulé"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
#, python-format
-msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
-msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'."
+msgid ""
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and "
+"'pain.008.001.04'."
+msgstr ""
+"Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type "
+"de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', "
+"'pain.008.001.03' et 'pain.008.001.04'."
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,message_unread:0
@@ -169,14 +180,32 @@ msgstr "Le mandat de prélèvement SEPA a expiré"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
#, python-format
-msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
-msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'."
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr ""
+"Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit "
+"avec sa séquence mise à 'First'."
#. module: account_banking_sepa_direct_debit
#: help:banking.export.sdd,charge_bearer:0
#: help:banking.export.sdd.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 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 "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur."
+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 ""
+"Suivant le niveau de service : la répartition des frais bancaires suit les "
+"règles pré-établies dans le schema ou dans le contrat avec la banque (les "
+"messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais "
+"bancaires côté débiteur sont à la charge du débiteur, les frais bancaires "
+"côté créancier sont à la charge du créancier. Supportés par le créancier : "
+"tous les frais bancaires sont à la charge du créancier. Supportés par le "
+"débiteur : tous les frais bancaires sont à la charge du débiteur."
#. module: account_banking_sepa_direct_debit
#: view:sdd.mandate:0
@@ -195,8 +224,12 @@ msgstr "Génération de fichiers de prélèvement SEPA XML"
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,message_summary:0
-msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
-msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
#. module: account_banking_sepa_direct_debit
#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
@@ -211,8 +244,14 @@ msgstr "Date de génération"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
#, python-format
-msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')."
-msgstr "La ligne de paiement portant la référence '%s' est configurée avec le compte bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché au compte bancaire '%s')."
+msgid ""
+"The payment line with reference '%s' has the bank account '%s' which is not "
+"attached to the mandate '%s' (this mandate is attached to the bank account "
+"'%s')."
+msgstr ""
+"La ligne de paiement portant la référence '%s' est configurée avec le compte "
+"bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché "
+"au compte bancaire '%s')."
#. module: account_banking_sepa_direct_debit
#: selection:banking.export.sdd.wizard,state:0
@@ -282,12 +321,16 @@ msgstr "Recurring"
#. module: account_banking_sepa_direct_debit
#: help:res.company,sepa_creditor_identifier:0
-msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to "
+"make SEPA Direct Debits. This identifier is composed of :\n"
"- your country ISO code (2 letters)\n"
"- a 2-digits checkum\n"
"- a 3-letters business code\n"
"- a country-specific identifier"
-msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n"
+msgstr ""
+"Entrez l'Identifiant créancier qui a été attribué à votre société pour "
+"réaliser des prélèvements SEPA. Cet identifiant est composé de :\n"
"- du code ISO de votre pays (2 lettres)\n"
"- un code de contrôle à 2 chiffres\n"
"- un code d'activité à 3 lettres\n"
@@ -300,13 +343,25 @@ msgstr "Un mandat avec la même référence existe déjà pour cette société !
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,state:0
-msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months."
-msgstr "Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. Un mandate annulé est un mandat qui a été annulé par le client. Un mandat One-Off expire à l'issue de sa première utilisation. Un mandate récurrent expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 mois."
+msgid ""
+"Only valid mandates can be used in a payment line. A cancelled mandate is a "
+"mandate that has been cancelled by the customer. A one-off mandate expires "
+"after its first use. A recurrent mandate expires after it's final use or if "
+"it hasn't been used for 36 months."
+msgstr ""
+"Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. "
+"Un mandate annulé est un mandat qui a été annulé par le client. Un mandat "
+"One-Off expire à l'issue de sa première utilisation. Un mandate récurrent "
+"expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 "
+"mois."
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,recurrent_sequence_type:0
-msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
-msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off."
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr ""
+"Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats "
+"One-Off."
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
@@ -352,8 +407,20 @@ msgstr "Fichiers de prélèvement SEPA générés"
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,sepa_migrated:0
-msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
-msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif."
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr ""
+"Si cette option n'est pas activée, la section qui concerne le mandat dans le "
+"prochain fichier de prélèvement qui incluera ce mandat contiendra les champs "
+"'Original Mandate Identification' et 'Original Creditor Scheme "
+"Identification'. Ces champs sont requis dans certains pays (en Belgique "
+"notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis "
+"dans votre pays, vous devriez garder ce champ toujours actif."
#. module: account_banking_sepa_direct_debit
#: field:sdd.mandate,company_id:0
@@ -368,14 +435,25 @@ msgstr "Export du fichier de prélèvement SEPA"
#. module: account_banking_sepa_direct_debit
#: help:banking.export.sdd,batch_booking:0
#: help:banking.export.sdd.wizard,batch_booking:0
-msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
-msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA."
+msgid ""
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr ""
+"Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit "
+"pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de "
+"banque fera apparaître une ligne de crédit pour chaque prélèvement du "
+"fichier SEPA."
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
#, python-format
-msgid "Cannot validate the mandate '%s' because it is not attached to a bank account."
-msgstr "Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte bancaire."
+msgid ""
+"Cannot validate the mandate '%s' because it is not attached to a bank "
+"account."
+msgstr ""
+"Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte "
+"bancaire."
#. module: account_banking_sepa_direct_debit
#: selection:banking.export.sdd,state:0
@@ -433,8 +511,12 @@ msgstr "Suivant le niveau de service"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
#, python-format
-msgid "The mandate '%s' can't have a date of last debit before the date of signature."
-msgstr "Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la date de signature."
+msgid ""
+"The mandate '%s' can't have a date of last debit before the date of "
+"signature."
+msgstr ""
+"Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la "
+"date de signature."
#. module: account_banking_sepa_direct_debit
#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
@@ -449,8 +531,12 @@ msgstr "Is a Follower"
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,original_mandate_identification:0
-msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
-msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement."
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr ""
+"Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original "
+"Mandate Identification' dans le fichier de prélèvement."
#. module: account_banking_sepa_direct_debit
#: view:payment.order:0
@@ -488,14 +574,22 @@ msgstr "Mandat de prélèvement SEPA"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
#, python-format
-msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
-msgstr "Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour partenaire '%s' et pour référence de facture '%s'."
+msgid ""
+"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and "
+"Invoice ref '%s'."
+msgstr ""
+"Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour "
+"partenaire '%s' et pour référence de facture '%s'."
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
#, python-format
-msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
-msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable."
+msgid ""
+"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
+"and it has a last debit date set to '%s', so we can't use it."
+msgstr ""
+"Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-"
+"Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable."
#. module: account_banking_sepa_direct_debit
#: field:sdd.mandate,scan:0
@@ -524,16 +618,22 @@ msgstr "Comptes bancaires"
#. module: account_banking_sepa_direct_debit
#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
-msgid "
\n"
+msgid ""
+"
\n"
" Click to create a new SEPA Direct Debit Mandate.\n"
"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer "
+"that gives you the autorization to do one or several direct debits on his "
+"bank account.\n"
"
\n"
" "
-msgstr "
\n"
+msgstr ""
+"
\n"
" Cliquez pour créer un mandat de prélèvement SEPA.\n"
"
\n"
-" Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n"
+" Un mandat de prélèvement SEPA est un document signé par votre client "
+"qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur "
+"son compte bancaire.\n"
"
\n"
" "
@@ -610,8 +710,12 @@ msgstr "Compte bancaire"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
#, python-format
-msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
-msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'."
+msgid ""
+"You must set the 'Original Mandate Identification' on the recurrent mandate "
+"'%s' which is not marked as 'Migrated to SEPA'."
+msgstr ""
+"Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat "
+"récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'."
#. module: account_banking_sepa_direct_debit
#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
@@ -622,8 +726,12 @@ msgstr "Type de Séquence mis à First"
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
#, python-format
-msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
-msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'."
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr ""
+"Etant donné que vous avez changé le compte bancaire associé à ce mandat, le "
+"'Type de séquence' a été remis à 'First'."
#. module: account_banking_sepa_direct_debit
#: help:sdd.mandate,message_ids:0
@@ -639,4 +747,3 @@ msgstr "Recherche dans les mandats de prélèvement SEPA"
#: field:banking.export.sdd.wizard,file:0
msgid "File"
msgstr "Fichier"
-
diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po
new file mode 100644
index 00000000000..2c2ccc12fc4
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/nl.po
@@ -0,0 +1,754 @@
+# Dutch translation for banking-addons
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the banking-addons package.
+# FIRST AUTHOR , 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: banking-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2013-12-23 22:24+0000\n"
+"PO-Revision-Date: 2014-04-24 10:38+0000\n"
+"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n"
+"Language-Team: Dutch \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
+"X-Generator: Launchpad (build 17031)\n"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
+msgid "SEPA Direct Debit Mandate Validated"
+msgstr "SEPA incasso machtiging bevestigd."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Bestandsnaam"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
+#, python-format
+msgid ""
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr ""
+"De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
+#, python-format
+msgid "Cannot validate the mandate '%s' without a date of signature."
+msgstr ""
+"Het is niet mogelijk de machtiging '%s' te bevestigen zonder een datum van "
+"ondertekenen."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Definitief"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Gereed"
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:0
+#: view:res.partner.bank:0
+msgid "SDD Mandates"
+msgstr "SDD machteging"
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:payment.line:0
+#: constraint:sdd.mandate:0
+msgid "Error msg in raise"
+msgstr "Fout bericht"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Reconciled"
+msgstr "Afgeletterd"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Reeks soort voor volgende incasso"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "Op rekening van schuldeiser"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
+#: view:res.partner.bank:0
+#: field:res.partner.bank,sdd_mandate_ids:0
+msgid "SEPA Direct Debit Mandates"
+msgstr "SEPA incasso machtegingen"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Validate"
+msgstr "Bevestigen"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Reeks soort ingesteld op herhalend"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "Generate"
+msgstr "Genereer"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
+msgid "SEPA Direct Debit Mandate Cancelled"
+msgstr "SEPA incasso machtegingen geannuleerd"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "Rekening van schuldenaar"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
+#, python-format
+msgid "Error:"
+msgstr "Fout:"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_ids:0
+msgid "Messages"
+msgstr "Berichten"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,unique_mandate_reference:0
+msgid "Unique Mandate Reference"
+msgstr "Unieke machtiging referentie"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Cancelled"
+msgstr "Geannuleerd"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
+#, python-format
+msgid ""
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and "
+"'pain.008.001.04'."
+msgstr ""
+"Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code "
+"ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en "
+"'pain.008.001.04'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file_id:0
+msgid "SDD File"
+msgstr "SDD bestand"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
+msgid "SEPA Direct Debit Mandate has Expired"
+msgstr "SEPA Direct incasso machtiging is verlopen"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
+#, python-format
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr ""
+"Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd "
+"naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,charge_bearer:0
+#: help:banking.export.sdd.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 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 ""
+"Volg service level: Transactie kosten worden toegepast volgens de "
+"afgesproken regels in het service level en/of schema (Voor SEPA berichten "
+"deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn "
+"voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de "
+"schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn "
+"voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle "
+"transactie kosten zijn voor rekening van de schuldeiser."
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Reference"
+msgstr "Referentie"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "SEPA Direct Debit"
+msgstr "SEPA Incasso (Direct Debit)"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+msgid "SEPA Direct Debit XML file generation"
+msgstr "SEPA Incasso XML bestand aanmaken"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+"Bevat de samenvatting van de chatter (aantal berichten,...). Deze "
+"samenvatting is direct in html formaat om zo in de kanban weergave te worden "
+"ingevoegd."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
+msgid "Payment Line"
+msgstr "Betaalregel"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,create_date:0
+msgid "Generation Date"
+msgstr "Aangemaakt op"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
+#, python-format
+msgid ""
+"The payment line with reference '%s' has the bank account '%s' which is not "
+"attached to the mandate '%s' (this mandate is attached to the bank account "
+"'%s')."
+msgstr ""
+"De betaalregel met referentie '%s' heeft het bankrekeningnummer '%s' welke "
+"niet is gekoppeld aan de machtiging '%s' (deze machtiging is gekoppeld aan "
+"bankrekening '%s')."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Aanmaken"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,nb_transactions:0
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Aantal transacties"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "One-Off"
+msgstr "Eenmalig"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,state:0
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "Status"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_follower_ids:0
+msgid "Followers"
+msgstr "Volgers"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_unread:0
+msgid "Unread Messages"
+msgstr "Ongelezen berichten"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+#: field:banking.export.sdd,payment_order_ids:0
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Betaalopdrachten"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Type"
+msgstr "Soort"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Sent"
+msgstr "Verstuurd"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Originele Incassant-ID"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Terugkerend"
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to "
+"make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr ""
+"Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit "
+"te voeren. De Incassant-ID is samengesteld uit:\n"
+"- uw ISO landcode (2 letters)\n"
+"- een 2 cijferig controlegetal\n"
+"- een 3 cijferig business code\n"
+"- een landspecifieke identifier"
+
+#. module: account_banking_sepa_direct_debit
+#: sql_constraint:sdd.mandate:0
+msgid "A Mandate with the same reference already exists for this company !"
+msgstr "Een machtiging met dezelfde referentie bestaat al vooR dit bedrijf!"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,state:0
+msgid ""
+"Only valid mandates can be used in a payment line. A cancelled mandate is a "
+"mandate that has been cancelled by the customer. A one-off mandate expires "
+"after its first use. A recurrent mandate expires after it's final use or if "
+"it hasn't been used for 36 months."
+msgstr ""
+"Alleen geldige machtigingen kunnen worden gebruikt op betaalregels. Een "
+"geannuleerde machtiging is een machtiging welke is geannuleerd door de "
+"klant. Een eenmalige machtiging verloopt na eenmalig gebruik. Een herhalende "
+"machtiging verloopt na zijn laatste gebruik of als deze niet is gebruikt "
+"voor 36 maanden."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,recurrent_sequence_type:0
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr ""
+"Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een "
+"eenmalige machtiging."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
+#, python-format
+msgid "The date of signature of mandate '%s' is in the future !"
+msgstr ""
+"De datum van de handtekening van de machtiging '%s' is in de toekomst!"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Signature Date"
+msgstr "Handtekening datum"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,charge_bearer:0
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Kostenverdeling"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_id:0
+msgid "Partner"
+msgstr "Relatie"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:sdd.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "Eerste"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,signature_date:0
+msgid "Date of Signature of the Mandate"
+msgstr "Datum avn de handtekening van de machtiging"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
+msgid "Mandate Cancelled"
+msgstr "Machtiging geannuleerd"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
+msgid "Generated SEPA Direct Debit Files"
+msgstr "Genereerde SEPA incasso bestanden"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,sepa_migrated:0
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr ""
+"Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso "
+"bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' "
+"en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in "
+"een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. "
+"Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt "
+"te houden."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,company_id:0
+msgid "Company"
+msgstr "Bedijf"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Exporteer SEPA incasso bestand"
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,batch_booking:0
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid ""
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr ""
+"Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven "
+"voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor "
+"iedere incasso een credit regel weergegeven op het bankafschrift."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
+#, python-format
+msgid ""
+"Cannot validate the mandate '%s' because it is not attached to a bank "
+"account."
+msgstr ""
+"Kan de machtiging '%s' niet bevestigen omdat deze niet is gekoppeld aan een "
+"bankrekening."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Draft"
+msgstr "Concept"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
+#, python-format
+msgid "Mandate update"
+msgstr "Machtiging bijwerken"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Gedeeld"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,batch_booking:0
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Bach verwerking"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Gemigreerd naar SEPa"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,state:0
+msgid "Status"
+msgstr "Status"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,total_amount:0
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Totaalbedrag"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
+msgid "SEPA Direct Debit Files"
+msgstr "SEPA incasso bestanden"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Volg service level"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#, python-format
+msgid ""
+"The mandate '%s' can't have a date of last debit before the date of "
+"signature."
+msgstr ""
+"De machtiging '%s' kan geen datum van laatste incasso hebben die eerder is "
+"dan de datum van ondertekening."
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Reeks soort ingesteld op definitief"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_is_follower:0
+msgid "Is a Follower"
+msgstr "Is een volger"
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,original_mandate_identification:0
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr ""
+"Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden "
+"gebruikt als de originele machtiging identificatie in het incasso bestand."
+
+#. module: account_banking_sepa_direct_debit
+#: view:payment.order:0
+msgid "SDD Mandate"
+msgstr "SDD machtiging"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Originele machtiging indificatie"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Bedrijven"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,message_summary:0
+msgid "Summary"
+msgstr "Samenvatting"
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Originele machtiging benodigd (SEPA)"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.invoice,sdd_mandate_id:0
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
+#: field:payment.line,sdd_mandate_id:0
+#: view:sdd.mandate:0
+msgid "SEPA Direct Debit Mandate"
+msgstr "SEPA incasso machtiging"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#, python-format
+msgid ""
+"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and "
+"Invoice ref '%s'."
+msgstr ""
+"Ontbrekende SEPA incasso machtiging op de betaalregel met relatie '%s' en "
+"factuur referentie '%s'."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#, python-format
+msgid ""
+"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
+"and it has a last debit date set to '%s', so we can't use it."
+msgstr ""
+"De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en "
+"de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet "
+"gebruiken."
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,scan:0
+msgid "Scan of the Mandate"
+msgstr "Scan van de machteging"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,last_debit_date:0
+msgid "Date of the Last Debit"
+msgstr "Datum van laatste incasso"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
+msgid "Mandate Expired"
+msgstr "Machtiging verlopen"
+
+#. module: account_banking_sepa_direct_debit
+#: constraint:res.company:0
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Ongeldige SEPA Incassant-ID."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Bankrekeningen"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
+msgid ""
+"
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer "
+"that gives you the autorization to do one or several direct debits on his "
+"bank account.\n"
+"
\n"
+" "
+msgstr ""
+"
\n"
+" Klik voor het maken van een nieuwe SEPA incasso machtiging.\n"
+"
\n"
+" Een SEPA incasso machtiging is een document ondertekend door uw "
+"klant, welke u toestemming geeft om incasso's uit te voeren op zijn "
+"bankrekening.\n"
+"
\n"
+" "
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:0
+msgid "General Information"
+msgstr "Algemene informatie"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Valid"
+msgstr "Geldig"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
+msgid "Invoice"
+msgstr "Factuur"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:0
+#: view:sdd.mandate:0
+msgid "Cancel"
+msgstr "Annuleer"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: field:sdd.mandate,payment_line_ids:0
+msgid "Related Payment Lines"
+msgstr "Gerelateerde betaalregels"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,type:0
+msgid "Recurrent"
+msgstr "Terugkerend"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Soort machtiging"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
+msgid "Mandate Validated"
+msgstr "Machtiging bevestigd"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,file:0
+msgid "SEPA File"
+msgstr "SEPA bestand"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "SEPA Incassant-ID"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
+msgid "SEPA Direct Debit export"
+msgstr "SEPA incasso export"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+#: selection:sdd.mandate,state:0
+msgid "Expired"
+msgstr "Verlopen"
+
+#. module: account_banking_sepa_direct_debit
+#: field:sdd.mandate,partner_bank_id:0
+msgid "Bank Account"
+msgstr "Bankrekening"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#, python-format
+msgid ""
+"You must set the 'Original Mandate Identification' on the recurrent mandate "
+"'%s' which is not marked as 'Migrated to SEPA'."
+msgstr ""
+"U dient de 'Originele machtiging identificatie' in te stellen op de "
+"herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar "
+"SEPA'"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Reeks ingesteld op eerste"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
+#, python-format
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr ""
+"Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet "
+"naar 'Eerste'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:sdd.mandate,message_ids:0
+msgid "Messages and communication history"
+msgstr "Berichten en communicatie historie"
+
+#. module: account_banking_sepa_direct_debit
+#: view:sdd.mandate:0
+msgid "Search SEPA Direct Debit Mandates"
+msgstr "Zoek SEPA incasso machtigingen"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Bestand"
From 6f6bc7067f62581318e83a87d9d6e338ade44d18 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Wed, 10 Sep 2014 12:19:20 +0200
Subject: [PATCH 03/83] [MIG] account_banking_sepa_direct_debit: Migration to
8.0
---
account_banking_sepa_direct_debit/__init__.py | 3 +-
.../__openerp__.py | 50 +-
.../account_banking_sdd.py | 440 ------------------
.../account_invoice_view.xml | 22 -
.../account_payment_view.xml | 26 --
.../data/mandate_expire_cron.xml | 24 +
.../data/mandate_reference_sequence.xml | 21 -
.../{ => demo}/sepa_direct_debit_demo.xml | 2 +-
.../mandate_expire_cron.xml | 26 --
.../models/__init__.py | 25 +
.../models/account_banking_mandate.py | 145 ++++++
.../models/banking_export_sdd.py | 82 ++++
.../{company.py => models/res_company.py} | 56 +--
.../res_partner_bank_view.xml | 48 --
.../sdd_mandate_view.xml | 152 ------
.../security/ir.model.access.csv | 2 -
.../static/description/icon.png | Bin 0 -> 7840 bytes
.../static/description/icon.svg | 92 ++++
.../static/src/img/icon.png | Bin 6892 -> 0 bytes
.../views/account_banking_mandate_view.xml | 117 +++++
.../{ => views}/account_banking_sdd_view.xml | 0
.../res_company_view.xml} | 0
.../wizard/export_sdd.py | 13 +-
23 files changed, 538 insertions(+), 808 deletions(-)
delete mode 100644 account_banking_sepa_direct_debit/account_banking_sdd.py
delete mode 100644 account_banking_sepa_direct_debit/account_invoice_view.xml
delete mode 100644 account_banking_sepa_direct_debit/account_payment_view.xml
create mode 100644 account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
delete mode 100644 account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
rename account_banking_sepa_direct_debit/{ => demo}/sepa_direct_debit_demo.xml (92%)
delete mode 100644 account_banking_sepa_direct_debit/mandate_expire_cron.xml
create mode 100644 account_banking_sepa_direct_debit/models/__init__.py
create mode 100644 account_banking_sepa_direct_debit/models/account_banking_mandate.py
create mode 100644 account_banking_sepa_direct_debit/models/banking_export_sdd.py
rename account_banking_sepa_direct_debit/{company.py => models/res_company.py} (60%)
delete mode 100644 account_banking_sepa_direct_debit/res_partner_bank_view.xml
delete mode 100644 account_banking_sepa_direct_debit/sdd_mandate_view.xml
create mode 100644 account_banking_sepa_direct_debit/static/description/icon.png
create mode 100644 account_banking_sepa_direct_debit/static/description/icon.svg
delete mode 100644 account_banking_sepa_direct_debit/static/src/img/icon.png
create mode 100644 account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
rename account_banking_sepa_direct_debit/{ => views}/account_banking_sdd_view.xml (100%)
rename account_banking_sepa_direct_debit/{company_view.xml => views/res_company_view.xml} (100%)
diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py
index f852fb7bdba..096fe8ad3fd 100644
--- a/account_banking_sepa_direct_debit/__init__.py
+++ b/account_banking_sepa_direct_debit/__init__.py
@@ -20,6 +20,5 @@
#
##############################################################################
-from . import company
+from . import models
from . import wizard
-from . import account_banking_sdd
diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py
index 5ea5dadb40e..6a95f025524 100644
--- a/account_banking_sepa_direct_debit/__openerp__.py
+++ b/account_banking_sepa_direct_debit/__openerp__.py
@@ -22,51 +22,45 @@
{
'name': 'Account Banking SEPA Direct Debit',
'summary': 'Create SEPA files for Direct Debit',
- 'version': '0.1',
+ 'version': '8.0.0.2.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_direct_debit', 'account_banking_pain_base'],
+ 'depends': [
+ 'account_direct_debit',
+ 'account_banking_pain_base',
+ 'account_banking_mandate',
+ ],
'external_dependencies': {
'python': ['unidecode', 'lxml'],
},
'data': [
- 'security/original_mandate_required_security.xml',
- 'account_banking_sdd_view.xml',
- 'sdd_mandate_view.xml',
- 'res_partner_bank_view.xml',
- 'account_payment_view.xml',
- 'company_view.xml',
- 'mandate_expire_cron.xml',
- 'account_invoice_view.xml',
+ 'views/account_banking_sdd_view.xml',
+ 'views/account_banking_mandate_view.xml',
+ 'views/res_company_view.xml',
'wizard/export_sdd_view.xml',
+ 'data/mandate_expire_cron.xml',
'data/payment_type_sdd.xml',
- 'data/mandate_reference_sequence.xml',
+ 'security/original_mandate_required_security.xml',
'security/ir.model.access.csv',
],
- 'demo': ['sepa_direct_debit_demo.xml'],
+ 'demo': ['demo/sepa_direct_debit_demo.xml'],
'description': '''
Module to export direct debit 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 Direct Debit (SDD), more specifically PAIN
-versions 008.001.02, 008.001.03 and 008.001.04.
-It is part of the ISO 20022 standard, available on http://www.iso20022.org.
+Customer-to-Bank payment instructions. This module implements SEPA Direct
+Debit (SDD), more specifically PAIN versions 008.001.02, 008.001.03 and
+008.001.04. It is part of the ISO 20022 standard, available on
+http://www.iso20022.org.
The Implementation Guidelines for SEPA Direct Debit published by the European
Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN
-version 008.001.02. So if you don't know which version your bank supports,
-you should try version 008.001.02 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.
+version 008.001.02. So if you don't know which version your bank supports, you
+should try version 008.001.02 first.
''',
- 'active': False,
'installable': True,
}
diff --git a/account_banking_sepa_direct_debit/account_banking_sdd.py b/account_banking_sepa_direct_debit/account_banking_sdd.py
deleted file mode 100644
index 87e50111b18..00000000000
--- a/account_banking_sepa_direct_debit/account_banking_sdd.py
+++ /dev/null
@@ -1,440 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# SEPA Direct Debit module for OpenERP
-# Copyright (C) 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.tools.translate import _
-from openerp.addons.decimal_precision import decimal_precision as dp
-from unidecode import unidecode
-from datetime import datetime
-from dateutil.relativedelta import relativedelta
-import logging
-
-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36
-
-logger = logging.getLogger(__name__)
-
-
-class banking_export_sdd(orm.Model):
- '''SEPA Direct Debit export'''
- _name = 'banking.export.sdd'
- _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] = 'sdd_%s.xml' % label
- return res
-
- _columns = {
- 'payment_order_ids': fields.many2many(
- 'payment.order',
- 'account_payment_order_sdd_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 credit "
- "line for all the direct debits of the SEPA file ; if false, "
- "the bank statement will display one credit line per direct "
- "debit of the SEPA 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 File', readonly=True),
- 'filename': fields.function(
- _generate_filename, type='char', size=256,
- string='Filename', readonly=True, store=True),
- 'state': fields.selection([
- ('draft', 'Draft'),
- ('sent', 'Sent'),
- ], 'State', readonly=True),
- }
-
- _defaults = {
- 'state': 'draft',
- }
-
-
-class sdd_mandate(orm.Model):
- '''SEPA Direct Debit Mandate'''
- _name = 'sdd.mandate'
- _description = __doc__
- _rec_name = 'unique_mandate_reference'
- _inherit = ['mail.thread']
- _order = 'signature_date desc'
- _track = {
- 'state': {
- 'account_banking_sepa_direct_debit.mandate_valid':
- lambda self, cr, uid, obj, ctx=None:
- obj['state'] == 'valid',
- 'account_banking_sepa_direct_debit.mandate_expired':
- lambda self, cr, uid, obj, ctx=None:
- obj['state'] == 'expired',
- 'account_banking_sepa_direct_debit.mandate_cancel':
- lambda self, cr, uid, obj, ctx=None:
- obj['state'] == 'cancel',
- },
- 'recurrent_sequence_type': {
- 'account_banking_sepa_direct_debit.recurrent_sequence_type_first':
- lambda self, cr, uid, obj, ctx=None:
- obj['recurrent_sequence_type'] == 'first',
- 'account_banking_sepa_direct_debit.'
- 'recurrent_sequence_type_recurring':
- lambda self, cr, uid, obj, ctx=None:
- obj['recurrent_sequence_type'] == 'recurring',
- 'account_banking_sepa_direct_debit.recurrent_sequence_type_final':
- lambda self, cr, uid, obj, ctx=None:
- obj['recurrent_sequence_type'] == 'final',
- }
- }
-
- _columns = {
- 'partner_bank_id': fields.many2one(
- 'res.partner.bank', 'Bank Account', track_visibility='onchange'),
- 'partner_id': fields.related(
- 'partner_bank_id', 'partner_id', type='many2one',
- relation='res.partner', string='Partner', readonly=True),
- 'company_id': fields.many2one('res.company', 'Company', required=True),
- 'unique_mandate_reference': fields.char(
- 'Unique Mandate Reference', size=35, readonly=True,
- track_visibility='always'),
- 'type': fields.selection([
- ('recurrent', 'Recurrent'),
- ('oneoff', 'One-Off'),
- ], 'Type of Mandate', required=True, track_visibility='always'),
- 'recurrent_sequence_type': fields.selection([
- ('first', 'First'),
- ('recurring', 'Recurring'),
- ('final', 'Final'),
- ], 'Sequence Type for Next Debit', track_visibility='onchange',
- help="This field is only used for Recurrent mandates, not for "
- "One-Off mandates."),
- 'signature_date': fields.date(
- 'Date of Signature of the Mandate', track_visibility='onchange'),
- 'scan': fields.binary('Scan of the Mandate'),
- 'last_debit_date': fields.date(
- 'Date of the Last Debit', readonly=True),
- 'state': fields.selection([
- ('draft', 'Draft'),
- ('valid', 'Valid'),
- ('expired', 'Expired'),
- ('cancel', 'Cancelled'),
- ], 'Status',
- help="Only valid mandates can be used in a payment line. A "
- "cancelled mandate is a mandate that has been cancelled by "
- "the customer. A one-off mandate expires after its first use. "
- "A recurrent mandate expires after it's final use or if it "
- "hasn't been used for 36 months."),
- 'payment_line_ids': fields.one2many(
- 'payment.line', 'sdd_mandate_id', "Related Payment Lines"),
- 'sepa_migrated': fields.boolean(
- 'Migrated to SEPA', track_visibility='onchange',
- help="If this field is not active, the mandate section of the "
- "next direct debit file that include this mandate will contain "
- "the 'Original Mandate Identification' and the 'Original "
- "Creditor Scheme Identification'. This is required in a few "
- "countries (Belgium for instance), but not in all countries. "
- "If this is not required in your country, you should keep this "
- "field always active."),
- 'original_mandate_identification': fields.char(
- 'Original Mandate Identification', size=35,
- track_visibility='onchange',
- help="When the field 'Migrated to SEPA' is not active, this "
- "field will be used as the Original Mandate Identification in "
- "the Direct Debit file."),
- }
-
- _defaults = {
- 'company_id': lambda self, cr, uid, context:
- self.pool['res.company']._company_default_get(
- cr, uid, 'sdd.mandate', context=context),
- 'unique_mandate_reference': '/',
- 'state': 'draft',
- 'sepa_migrated': True,
- }
-
- _sql_constraints = [(
- 'mandate_ref_company_uniq',
- 'unique(unique_mandate_reference, company_id)',
- 'A Mandate with the same reference already exists for this company !'
- )]
-
- def create(self, cr, uid, vals, context=None):
- if vals.get('unique_mandate_reference', '/') == '/':
- vals['unique_mandate_reference'] = \
- self.pool['ir.sequence'].next_by_code(
- cr, uid, 'sdd.mandate.reference', context=context)
- return super(sdd_mandate, self).create(cr, uid, vals, context=context)
-
- def _check_sdd_mandate(self, cr, uid, ids):
- for mandate in self.browse(cr, uid, ids):
- if (mandate.signature_date and
- mandate.signature_date >
- datetime.today().strftime('%Y-%m-%d')):
- raise orm.except_orm(
- _('Error:'),
- _("The date of signature of mandate '%s' is in the "
- "future !")
- % mandate.unique_mandate_reference)
- if mandate.state == 'valid' and not mandate.signature_date:
- raise orm.except_orm(
- _('Error:'),
- _("Cannot validate the mandate '%s' without a date of "
- "signature.")
- % mandate.unique_mandate_reference)
- if mandate.state == 'valid' and not mandate.partner_bank_id:
- raise orm.except_orm(
- _('Error:'),
- _("Cannot validate the mandate '%s' because it is not "
- "attached to a bank account.")
- % mandate.unique_mandate_reference)
-
- if (mandate.signature_date and mandate.last_debit_date and
- mandate.signature_date > mandate.last_debit_date):
- raise orm.except_orm(
- _('Error:'),
- _("The mandate '%s' can't have a date of last debit "
- "before the date of signature.")
- % mandate.unique_mandate_reference)
- if (mandate.type == 'recurrent'
- and not mandate.recurrent_sequence_type):
- raise orm.except_orm(
- _('Error:'),
- _("The recurrent mandate '%s' must have a sequence type.")
- % mandate.unique_mandate_reference)
- if (mandate.type == 'recurrent' and not mandate.sepa_migrated
- and mandate.recurrent_sequence_type != 'first'):
- raise orm.except_orm(
- _('Error:'),
- _("The recurrent mandate '%s' which is not marked as "
- "'Migrated to SEPA' must have its recurrent sequence "
- "type set to 'First'.")
- % mandate.unique_mandate_reference)
- if (mandate.type == 'recurrent' and not mandate.sepa_migrated
- and not mandate.original_mandate_identification):
- raise orm.except_orm(
- _('Error:'),
- _("You must set the 'Original Mandate Identification' "
- "on the recurrent mandate '%s' which is not marked "
- "as 'Migrated to SEPA'.")
- % mandate.unique_mandate_reference)
- return True
-
- _constraints = [
- (_check_sdd_mandate, "Error msg in raise", [
- 'last_debit_date', 'signature_date', 'state', 'partner_bank_id',
- 'type', 'recurrent_sequence_type', 'sepa_migrated',
- 'original_mandate_identification',
- ]),
- ]
-
- def mandate_type_change(self, cr, uid, ids, type):
- if type == 'recurrent':
- recurrent_sequence_type = 'first'
- else:
- recurrent_sequence_type = False
- res = {'value': {'recurrent_sequence_type': recurrent_sequence_type}}
- return res
-
- def mandate_partner_bank_change(
- self, cr, uid, ids, partner_bank_id, type, recurrent_sequence_type,
- last_debit_date, state):
- res = {'value': {}}
- if partner_bank_id:
- partner_bank_read = self.pool['res.partner.bank'].read(
- cr, uid, partner_bank_id, ['partner_id'])['partner_id']
- if partner_bank_read:
- res['value']['partner_id'] = partner_bank_read[0]
- if (state == 'valid' and partner_bank_id
- and type == 'recurrent'
- and recurrent_sequence_type != 'first'):
- res['value']['recurrent_sequence_type'] = 'first'
- res['warning'] = {
- 'title': _('Mandate update'),
- 'message': _(
- "As you changed the bank account attached to this "
- "mandate, the 'Sequence Type' has been set back to "
- "'First'."),
- }
- return res
-
- def validate(self, cr, uid, ids, context=None):
- to_validate_ids = []
- for mandate in self.browse(cr, uid, ids, context=context):
- assert mandate.state == 'draft', 'Mandate should be in draft state'
- to_validate_ids.append(mandate.id)
- self.write(
- cr, uid, to_validate_ids, {'state': 'valid'}, context=context)
- return True
-
- def cancel(self, cr, uid, ids, context=None):
- to_cancel_ids = []
- for mandate in self.browse(cr, uid, ids, context=context):
- assert mandate.state in ('draft', 'valid'),\
- 'Mandate should be in draft or valid state'
- to_cancel_ids.append(mandate.id)
- self.write(
- cr, uid, to_cancel_ids, {'state': 'cancel'}, context=context)
- return True
-
- def back2draft(self, cr, uid, ids, context=None):
- to_draft_ids = []
- for mandate in self.browse(cr, uid, ids, context=context):
- assert mandate.state == 'cancel',\
- 'Mandate should be in cancel state'
- to_draft_ids.append(mandate.id)
- self.write(
- cr, uid, to_draft_ids, {'state': 'draft'}, context=context)
- return True
-
- def _sdd_mandate_set_state_to_expired(self, cr, uid, context=None):
- logger.info('Searching for SDD Mandates that must be set to Expired')
- expire_limit_date = datetime.today() + \
- relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY)
- expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d')
- expired_mandate_ids = self.search(cr, uid, [
- '|',
- ('last_debit_date', '=', False),
- ('last_debit_date', '<=', expire_limit_date_str),
- ('state', '=', 'valid'),
- ('signature_date', '<=', expire_limit_date_str),
- ], context=context)
- if expired_mandate_ids:
- self.write(
- cr, uid, expired_mandate_ids, {'state': 'expired'},
- context=context)
- logger.info(
- 'The following SDD Mandate IDs has been set to expired: %s'
- % expired_mandate_ids)
- else:
- logger.info('0 SDD Mandates must be set to Expired')
- return True
-
-
-class res_partner_bank(orm.Model):
- _inherit = 'res.partner.bank'
-
- _columns = {
- 'sdd_mandate_ids': fields.one2many(
- 'sdd.mandate', 'partner_bank_id', 'SEPA Direct Debit Mandates'),
- }
-
-
-class payment_line(orm.Model):
- _inherit = 'payment.line'
-
- _columns = {
- 'sdd_mandate_id': fields.many2one(
- 'sdd.mandate', 'SEPA Direct Debit Mandate',
- domain=[('state', '=', 'valid')]),
- }
-
- def create(self, cr, uid, vals, context=None):
- '''If the customer invoice has a mandate, take it
- otherwise, take the first valid mandate of the bank account'''
- if context is None:
- context = {}
- if not vals:
- vals = {}
- partner_bank_id = vals.get('bank_id')
- move_line_id = vals.get('move_line_id')
- if (context.get('default_payment_order_type') == 'debit'
- and 'sdd_mandate_id' not in vals):
- if move_line_id:
- line = self.pool['account.move.line'].browse(
- cr, uid, move_line_id, context=context)
- if (line.invoice and line.invoice.type == 'out_invoice'
- and line.invoice.sdd_mandate_id):
- vals.update({
- 'sdd_mandate_id': line.invoice.sdd_mandate_id.id,
- 'bank_id':
- line.invoice.sdd_mandate_id.partner_bank_id.id,
- })
- if partner_bank_id and 'sdd_mandate_id' not in vals:
- mandate_ids = self.pool['sdd.mandate'].search(cr, uid, [
- ('partner_bank_id', '=', partner_bank_id),
- ('state', '=', 'valid'),
- ], context=context)
- if mandate_ids:
- vals['sdd_mandate_id'] = mandate_ids[0]
- return super(payment_line, self).create(cr, uid, vals, context=context)
-
- def _check_mandate_bank_link(self, cr, uid, ids):
- for payline in self.browse(cr, uid, ids):
- if (payline.sdd_mandate_id and payline.bank_id
- and payline.sdd_mandate_id.partner_bank_id.id !=
- payline.bank_id.id):
- raise orm.except_orm(
- _('Error:'),
- _("The payment line with reference '%s' has the bank "
- "account '%s' which is not attached to the mandate "
- "'%s' (this mandate is attached to the bank account "
- "'%s').") % (
- payline.name,
- self.pool['res.partner.bank'].name_get(
- cr, uid, [payline.bank_id.id])[0][1],
- payline.sdd_mandate_id.unique_mandate_reference,
- self.pool['res.partner.bank'].name_get(
- cr, uid,
- [payline.sdd_mandate_id.partner_bank_id.id])[0][1],
- ))
- return True
-
- _constraints = [
- (_check_mandate_bank_link, 'Error msg in raise',
- ['sdd_mandate_id', 'bank_id']),
- ]
-
-
-class account_invoice(orm.Model):
- _inherit = 'account.invoice'
-
- _columns = {
- 'sdd_mandate_id': fields.many2one(
- 'sdd.mandate', 'SEPA Direct Debit Mandate',
- domain=[('state', '=', 'valid')], readonly=True,
- states={'draft': [('readonly', False)]})
- }
diff --git a/account_banking_sepa_direct_debit/account_invoice_view.xml b/account_banking_sepa_direct_debit/account_invoice_view.xml
deleted file mode 100644
index 2ca480e5407..00000000000
--- a/account_banking_sepa_direct_debit/account_invoice_view.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- add.sdd.mandate.on.customer.invoice.form
- account.invoice
-
-
-
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/account_payment_view.xml b/account_banking_sepa_direct_debit/account_payment_view.xml
deleted file mode 100644
index 74098c44eed..00000000000
--- a/account_banking_sepa_direct_debit/account_payment_view.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
- sdd.payment.order.form
- payment.order
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
new file mode 100644
index 00000000000..79aa0568910
--- /dev/null
+++ b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+ Set SEPA Direct Debit Mandates to Expired
+
+
+ 1
+ days
+ -1
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
deleted file mode 100644
index 68075d526dd..00000000000
--- a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
- SDD Mandate Reference
- sdd.mandate.reference
-
-
-
- SDD Mandate Reference
- sdd.mandate.reference
- RUM
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
similarity index 92%
rename from account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml
rename to account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
index 22026108841..041082d76cf 100644
--- a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml
+++ b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
@@ -15,7 +15,7 @@
FR78ZZZ424242
-
+recurrentfirst
diff --git a/account_banking_sepa_direct_debit/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/mandate_expire_cron.xml
deleted file mode 100644
index 4cb0693d2d2..00000000000
--- a/account_banking_sepa_direct_debit/mandate_expire_cron.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
- Set SEPA Direct Debit Mandates to Expired
-
-
- 1
- days
- -1
-
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py
new file mode 100644
index 00000000000..274855e14c3
--- /dev/null
+++ b/account_banking_sepa_direct_debit/models/__init__.py
@@ -0,0 +1,25 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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 banking_export_sdd
+from . import res_company
+from . import account_banking_mandate
diff --git a/account_banking_sepa_direct_debit/models/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py
new file mode 100644
index 00000000000..4df70637868
--- /dev/null
+++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py
@@ -0,0 +1,145 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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, exceptions, _
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
+import logging
+
+NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36
+
+logger = logging.getLogger(__name__)
+
+
+class AccountBankingMandate(models.Model):
+ """SEPA Direct Debit Mandate"""
+ _inherit = 'account.banking.mandate'
+ _track = {
+ 'recurrent_sequence_type': {
+ 'account_banking_sepa_direct_debit.recurrent_sequence_type_first':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'first',
+ 'account_banking_sepa_direct_debit.'
+ 'recurrent_sequence_type_recurring':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'recurring',
+ 'account_banking_sepa_direct_debit.recurrent_sequence_type_final':
+ lambda self, cr, uid, obj, ctx=None:
+ obj['recurrent_sequence_type'] == 'final',
+ }
+ }
+
+ type = fields.Selection([('recurrent', 'Recurrent'),
+ ('oneoff', 'One-Off')],
+ string='Type of Mandate', required=True,
+ track_visibility='always')
+ recurrent_sequence_type = fields.Selection(
+ [('first', 'First'),
+ ('recurring', 'Recurring'),
+ ('final', 'Final')],
+ string='Sequence Type for Next Debit', track_visibility='onchange',
+ help="This field is only used for Recurrent mandates, not for "
+ "One-Off mandates.", default="first")
+ sepa_migrated = fields.Boolean(
+ string='Migrated to SEPA', track_visibility='onchange',
+ help="If this field is not active, the mandate section of the next "
+ "direct debit file that include this mandate will contain the "
+ "'Original Mandate Identification' and the 'Original Creditor "
+ "Scheme Identification'. This is required in a few countries "
+ "(Belgium for instance), but not in all countries. If this is "
+ "not required in your country, you should keep this field always "
+ "active.", default=True)
+ original_mandate_identification = fields.Char(
+ string='Original Mandate Identification', track_visibility='onchange',
+ help="When the field 'Migrated to SEPA' is not active, this field "
+ "will be used as the Original Mandate Identification in the "
+ "Direct Debit file.")
+ scheme = fields.Selection([('CORE', 'Basic (CORE)'),
+ ('B2B', 'Enterprise (B2B)')],
+ string='Scheme', required=True, default="CORE")
+
+ @api.one
+ @api.constrains('type', 'recurrent_sequence_type')
+ def _check_recurring_type(self):
+ if (self.type == 'recurrent'
+ and not self.recurrent_sequence_type):
+ raise exceptions.Warning(
+ _("The recurrent mandate '%s' must have a sequence type.")
+ % self.unique_mandate_reference)
+
+ @api.one
+ @api.constrains('type', 'recurrent_sequence_type', 'sepa_migrated')
+ def _check_migrated_to_sepa(self):
+ if (self.type == 'recurrent' and not self.sepa_migrated
+ and self.recurrent_sequence_type != 'first'):
+ raise exceptions.Warning(
+ _("The recurrent mandate '%s' which is not marked as "
+ "'Migrated to SEPA' must have its recurrent sequence type "
+ "set to 'First'.") % self.unique_mandate_reference)
+
+ @api.one
+ @api.constrains('type', 'original_mandate_identification', 'sepa_migrated')
+ def _check_original_mandate_identification(self):
+ if (self.type == 'recurrent' and not self.sepa_migrated
+ and not self.original_mandate_identification):
+ raise exceptions.Warning(
+ _("You must set the 'Original Mandate Identification' on the "
+ "recurrent mandate '%s' which is not marked as 'Migrated to "
+ "SEPA'.") % self.unique_mandate_reference)
+
+ @api.one
+ @api.onchange('partner_bank_id')
+ def mandate_partner_bank_change(self):
+ super(AccountBankingMandate, self).mandate_partner_bank_change()
+ res = {}
+ if (self.state == 'valid' and self.partner_bank_id
+ and self.type == 'recurrent'
+ and self.recurrent_sequence_type != 'first'):
+ self.recurrent_sequence_type = 'first'
+ res['warning'] = {
+ 'title': _('Mandate update'),
+ 'message': _("As you changed the bank account attached to "
+ "this mandate, the 'Sequence Type' has been set "
+ "back to 'First'."),
+ }
+ return res
+
+ @api.multi
+ def _sdd_mandate_set_state_to_expired(self):
+ logger.info('Searching for SDD Mandates that must be set to Expired')
+ expire_limit_date = datetime.today() + \
+ relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY)
+ expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d')
+ expired_mandates = self.search(
+ ['|',
+ ('last_debit_date', '=', False),
+ ('last_debit_date', '<=', expire_limit_date_str),
+ ('state', '=', 'valid'),
+ ('signature_date', '<=', expire_limit_date_str)])
+ if expired_mandates:
+ expired_mandates.write({'state': 'expired'})
+ logger.info(
+ 'The following SDD Mandate IDs has been set to expired: %s'
+ % expired_mandates.ids)
+ else:
+ logger.info('0 SDD Mandates must be set to Expired')
+ return True
diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
new file mode 100644
index 00000000000..80536aa038b
--- /dev/null
+++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
@@ -0,0 +1,82 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# SEPA Direct Debit module for OpenERP
+# Copyright (C) 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 BankingExportSdd(models.Model):
+ """SEPA Direct Debit export"""
+ _name = 'banking.export.sdd'
+ _description = __doc__
+ _rec_name = 'filename'
+
+ @api.one
+ def _generate_filename(self):
+ filename = ''
+ if self.payment_order_ids:
+ ref = self.payment_order_ids[0].reference
+ label = unidecode(ref.replace('/', '-')) if ref else 'error'
+ filename = 'sdd_%s.xml' % label
+ self.filename = filename
+
+ payment_order_ids = fields.Many2many(
+ comodel_name='payment.order',
+ relation='account_payment_order_sdd_rel',
+ column1='banking_export_sepa_id', column2='account_order_id',
+ 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 credit line "
+ "for all the direct debits of the SEPA file ; if false, the bank "
+ "statement will display one credit line per direct debit of the "
+ "SEPA 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(string='Generation Date', readonly=True)
+ file = fields.Binary(string='SEPA File', readonly=True)
+ filename = fields.Char(compute=_generate_filename, size=256,
+ string='Filename', readonly=True, store=True)
+ state = fields.Selection([('draft', 'Draft'), ('sent', 'Sent')],
+ string='State', readonly=True, default='draft')
diff --git a/account_banking_sepa_direct_debit/company.py b/account_banking_sepa_direct_debit/models/res_company.py
similarity index 60%
rename from account_banking_sepa_direct_debit/company.py
rename to account_banking_sepa_direct_debit/models/res_company.py
index 6d54ba8e6ce..327edc40134 100644
--- a/account_banking_sepa_direct_debit/company.py
+++ b/account_banking_sepa_direct_debit/models/res_company.py
@@ -20,29 +20,27 @@
#
##############################################################################
-from openerp.osv import orm, fields
+from openerp import models, fields, api, exceptions, _
import logging
logger = logging.getLogger(__name__)
-class res_company(orm.Model):
+class ResCompany(models.Model):
_inherit = 'res.company'
- _columns = {
- 'sepa_creditor_identifier': fields.char(
- 'SEPA Creditor Identifier', size=35,
- help="Enter the Creditor Identifier that has been attributed "
- "to your company to make SEPA Direct Debits. This identifier "
- "is composed of :\n- your country ISO code (2 letters)\n- a "
- "2-digits checkum\n- a 3-letters business code\n- a "
- "country-specific identifier"),
- 'original_creditor_identifier': fields.char(
- 'Original Creditor Identifier', size=70),
- }
+ sepa_creditor_identifier = fields.Char(
+ string='SEPA Creditor Identifier', size=35,
+ help="Enter the Creditor Identifier that has been attributed to your "
+ "company to make SEPA Direct Debits. This identifier is composed "
+ "of :\n- your country ISO code (2 letters)\n- a 2-digits "
+ "checkum\n- a 3-letters business code\n- a country-specific "
+ "identifier")
+ original_creditor_identifier = fields.Char(
+ string='Original Creditor Identifier', size=70)
def is_sepa_creditor_identifier_valid(
- self, cr, uid, sepa_creditor_identifier, context=None):
+ self, sepa_creditor_identifier):
"""Check if SEPA Creditor Identifier is valid
@param sepa_creditor_identifier: SEPA Creditor Identifier as str
or unicode
@@ -51,12 +49,11 @@ def is_sepa_creditor_identifier_valid(
if not isinstance(sepa_creditor_identifier, (str, unicode)):
return False
try:
- sci_str = str(sepa_creditor_identifier)
+ sci = str(sepa_creditor_identifier).lower()
except:
logger.warning(
"SEPA Creditor ID should contain only ASCII caracters.")
return False
- sci = sci_str.lower()
if len(sci) < 9:
return False
before_replacement = sci[7:] + sci[0:2] + '00'
@@ -70,21 +67,14 @@ def is_sepa_creditor_identifier_valid(
after_replacement += char
logger.debug(
"SEPA ID check after_replacement = %s" % after_replacement)
- if int(sci[2:4]) == (98 - (int(after_replacement) % 97)):
- return True
- else:
- return False
-
- def _check_sepa_creditor_identifier(self, cr, uid, ids):
- for company in self.browse(cr, uid, ids):
- if company.sepa_creditor_identifier:
- if not self.is_sepa_creditor_identifier_valid(
- cr, uid, company.sepa_creditor_identifier):
- return False
- return True
+ return int(sci[2:4]) == (98 - (int(after_replacement) % 97))
- _constraints = [
- (_check_sepa_creditor_identifier,
- "Invalid SEPA Creditor Identifier.",
- ['sepa_creditor_identifier']),
- ]
+ @api.one
+ @api.constrains('sepa_creditor_identifier')
+ def _check_sepa_creditor_identifier(self):
+ if self.sepa_creditor_identifier:
+ if not self.is_sepa_creditor_identifier_valid(
+ self.sepa_creditor_identifier):
+ raise exceptions.Warning(
+ _('Error'),
+ _("Invalid SEPA Creditor Identifier."))
diff --git a/account_banking_sepa_direct_debit/res_partner_bank_view.xml b/account_banking_sepa_direct_debit/res_partner_bank_view.xml
deleted file mode 100644
index 0b32e9f1c26..00000000000
--- a/account_banking_sepa_direct_debit/res_partner_bank_view.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
- sdd.mandate.res.partner.bank.form
- res.partner.bank
-
-
-
-
-
-
-
-
-
-
-
- sdd.mandate.res.partner.bank.tree
- res.partner.bank
-
-
-
-
-
-
-
-
-
-
- sdd.mandate.partner.form
- res.partner
-
-
-
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/sdd_mandate_view.xml b/account_banking_sepa_direct_debit/sdd_mandate_view.xml
deleted file mode 100644
index bd1dd6e7976..00000000000
--- a/account_banking_sepa_direct_debit/sdd_mandate_view.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
-
-
-
-
- sdd.mandate.form
- sdd.mandate
-
-
-
-
-
-
- sdd.mandate.tree
- sdd.mandate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sdd.mandate.search
- sdd.mandate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SEPA Direct Debit Mandates
- sdd.mandate
- form
- tree,form
-
-
- Click to create a new SEPA Direct Debit Mandate.
-
- A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
-
+ Click to create a new SEPA Direct Debit Mandate.
+
+ A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
+
+
+
+
+
+
+
+ sdd.mandate.res.partner.bank.tree
+ res.partner.bank
+
+
+
+ SDD Mandates
+
+
+
+
+
+ sdd.mandate.partner.form
+ res.partner
+
+
+
+ SDD Mandates
+
+
+
+
+
+ Sequence Type set to First
+ account.banking.mandate
+
+ Sequence Type set to First
+
+
+
+ Sequence Type set to Recurring
+ account.banking.mandate
+
+ Sequence Type set to Recurring
+
+
+
+ Sequence Type set to Final
+ account.banking.mandate
+
+ Sequence Type set to Final
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/account_banking_sdd_view.xml b/account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml
similarity index 100%
rename from account_banking_sepa_direct_debit/account_banking_sdd_view.xml
rename to account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml
diff --git a/account_banking_sepa_direct_debit/company_view.xml b/account_banking_sepa_direct_debit/views/res_company_view.xml
similarity index 100%
rename from account_banking_sepa_direct_debit/company_view.xml
rename to account_banking_sepa_direct_debit/views/res_company_view.xml
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py
index 19520d31803..60dce7653f8 100644
--- a/account_banking_sepa_direct_debit/wizard/export_sdd.py
+++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py
@@ -23,7 +23,7 @@
from openerp.osv import orm, fields
from openerp.tools.translate import _
-from openerp import netsvc
+from openerp import workflow
from datetime import datetime
from lxml import etree
@@ -195,6 +195,7 @@ def create_sepa(self, cr, uid, ids, context=None):
"line with partner '%s' and Invoice ref '%s'.")
% (line.partner_id.name,
line.ml_inv_ref.number))
+ scheme = line.sdd_mandate_id.scheme
if line.sdd_mandate_id.state != 'valid':
raise orm.except_orm(
_('Error:'),
@@ -225,8 +226,7 @@ def create_sepa(self, cr, uid, ids, context=None):
line.sdd_mandate_id.recurrent_sequence_type
assert seq_type_label is not False
seq_type = seq_type_map[seq_type_label]
-
- key = (requested_date, priority, seq_type)
+ key = (requested_date, priority, seq_type, scheme)
if key in lines_per_group:
lines_per_group[key].append(line)
else:
@@ -237,7 +237,7 @@ def create_sepa(self, cr, uid, ids, context=None):
cr, uid, line.id,
{'date': requested_date}, context=context)
- for (requested_date, priority, sequence_type), lines in \
+ for (requested_date, priority, sequence_type, scheme), lines in \
lines_per_group.items():
# B. Payment info
payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \
@@ -246,7 +246,7 @@ def create_sepa(self, cr, uid, ids, context=None):
"sepa_export.payment_order_ids[0].reference + '-' + "
"sequence_type + '-' + requested_date.replace('-', '') "
"+ '-' + priority",
- priority, 'CORE', sequence_type, requested_date, {
+ priority, scheme, sequence_type, requested_date, {
'sepa_export': sepa_export,
'sequence_type': sequence_type,
'priority': priority,
@@ -422,9 +422,8 @@ def save_sepa(self, cr, uid, ids, context=None):
self.pool.get('banking.export.sdd').write(
cr, uid, sepa_export.file_id.id, {'state': 'sent'},
context=context)
- wf_service = netsvc.LocalService('workflow')
for order in sepa_export.payment_order_ids:
- wf_service.trg_validate(uid, 'payment.order', order.id, 'done', cr)
+ workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr)
mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids]
self.pool['sdd.mandate'].write(
cr, uid, mandate_ids,
From 250829e65f8270eea97a275c82e36342bd5b1470 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Fri, 10 Oct 2014 20:09:17 +0200
Subject: [PATCH 04/83] replace old sdd.mandate referencess
---
.../models/banking_export_sdd.py | 3 +
.../wizard/export_sdd.py | 60 +++++++++----------
2 files changed, 33 insertions(+), 30 deletions(-)
diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
index 80536aa038b..44cd03b6e4f 100644
--- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py
+++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
@@ -38,10 +38,13 @@ class BankingExportSdd(models.Model):
@api.one
def _generate_filename(self):
filename = ''
+ # FIXME : we never enter inside the IF to give a good filename
if self.payment_order_ids:
ref = self.payment_order_ids[0].reference
label = unidecode(ref.replace('/', '-')) if ref else 'error'
filename = 'sdd_%s.xml' % label
+ else:
+ filename = 'sdd.xml'
self.filename = filename
payment_order_ids = fields.Many2many(
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py
index 60dce7653f8..79ead28b890 100644
--- a/account_banking_sepa_direct_debit/wizard/export_sdd.py
+++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py
@@ -93,7 +93,7 @@ def _get_previous_bank(self, cr, uid, payline, context=None):
previous_bank = False
payline_ids = payline_obj.search(
cr, uid, [
- ('sdd_mandate_id', '=', payline.sdd_mandate_id.id),
+ ('mandate_id', '=', payline.mandate_id.id),
('bank_id', '!=', payline.bank_id.id),
],
context=context)
@@ -188,23 +188,23 @@ def create_sepa(self, cr, uid, ids, context=None):
requested_date = payment_order.date_scheduled or today
else:
requested_date = today
- if not line.sdd_mandate_id:
+ if not line.mandate_id:
raise orm.except_orm(
_('Error:'),
_("Missing SEPA Direct Debit mandate on the payment "
"line with partner '%s' and Invoice ref '%s'.")
% (line.partner_id.name,
line.ml_inv_ref.number))
- scheme = line.sdd_mandate_id.scheme
- if line.sdd_mandate_id.state != 'valid':
+ scheme = line.mandate_id.scheme
+ if line.mandate_id.state != 'valid':
raise orm.except_orm(
_('Error:'),
_("The SEPA Direct Debit mandate with reference '%s' "
"for partner '%s' has expired.")
- % (line.sdd_mandate_id.unique_mandate_reference,
- line.sdd_mandate_id.partner_id.name))
- if line.sdd_mandate_id.type == 'oneoff':
- if not line.sdd_mandate_id.last_debit_date:
+ % (line.mandate_id.unique_mandate_reference,
+ line.mandate_id.partner_id.name))
+ if line.mandate_id.type == 'oneoff':
+ if not line.mandate_id.last_debit_date:
seq_type = 'OOFF'
else:
raise orm.except_orm(
@@ -213,17 +213,17 @@ def create_sepa(self, cr, uid, ids, context=None):
"'%s' has type set to 'One-Off' and it has a "
"last debit date set to '%s', so we can't use "
"it.")
- % (line.sdd_mandate_id.unique_mandate_reference,
- line.sdd_mandate_id.partner_id.name,
- line.sdd_mandate_id.last_debit_date))
- elif line.sdd_mandate_id.type == 'recurrent':
+ % (line.mandate_id.unique_mandate_reference,
+ line.mandate_id.partner_id.name,
+ line.mandate_id.last_debit_date))
+ elif line.mandate_id.type == 'recurrent':
seq_type_map = {
'recurring': 'RCUR',
'first': 'FRST',
'final': 'FNAL',
}
seq_type_label = \
- line.sdd_mandate_id.recurrent_sequence_type
+ line.mandate_id.recurrent_sequence_type
assert seq_type_label is not False
seq_type = seq_type_map[seq_type_label]
key = (requested_date, priority, seq_type, scheme)
@@ -306,22 +306,22 @@ def create_sepa(self, cr, uid, ids, context=None):
mandate_related_info_2_47, 'MndtId')
mandate_identification_2_48.text = self._prepare_field(
cr, uid, 'Unique Mandate Reference',
- 'line.sdd_mandate_id.unique_mandate_reference',
+ 'line.mandate_id.unique_mandate_reference',
{'line': line}, 35,
gen_args=gen_args, context=context)
mandate_signature_date_2_49 = etree.SubElement(
mandate_related_info_2_47, 'DtOfSgntr')
mandate_signature_date_2_49.text = self._prepare_field(
cr, uid, 'Mandate Signature Date',
- 'line.sdd_mandate_id.signature_date',
+ 'line.mandate_id.signature_date',
{'line': line}, 10,
gen_args=gen_args, context=context)
if sequence_type == 'FRST' and (
- line.sdd_mandate_id.last_debit_date or
- not line.sdd_mandate_id.sepa_migrated):
+ line.mandate_id.last_debit_date or
+ not line.mandate_id.sepa_migrated):
previous_bank = self._get_previous_bank(
cr, uid, line, context=context)
- if previous_bank or not line.sdd_mandate_id.sepa_migrated:
+ if previous_bank or not line.mandate_id.sepa_migrated:
amendment_indicator_2_50 = etree.SubElement(
mandate_related_info_2_47, 'AmdmntInd')
amendment_indicator_2_50.text = 'true'
@@ -362,13 +362,13 @@ def create_sepa(self, cr, uid, ids, context=None):
ori_debtor_agent_other, 'Id')
ori_debtor_agent_other_id.text = 'SMNDA'
# SMNDA = Same Mandate New Debtor Agent
- elif not line.sdd_mandate_id.sepa_migrated:
+ elif not line.mandate_id.sepa_migrated:
ori_mandate_identification_2_52 = etree.SubElement(
amendment_info_details_2_51, 'OrgnlMndtId')
ori_mandate_identification_2_52.text = \
self._prepare_field(
cr, uid, 'Original Mandate Identification',
- 'line.sdd_mandate_id.'
+ 'line.mandate_id.'
'original_mandate_identification',
{'line': line},
gen_args=gen_args,
@@ -424,25 +424,25 @@ def save_sepa(self, cr, uid, ids, context=None):
context=context)
for order in sepa_export.payment_order_ids:
workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr)
- mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids]
- self.pool['sdd.mandate'].write(
+ mandate_ids = [line.mandate_id.id for line in order.line_ids]
+ self.pool['account.banking.mandate'].write(
cr, uid, mandate_ids,
{'last_debit_date': datetime.today().strftime('%Y-%m-%d')},
context=context)
to_expire_ids = []
first_mandate_ids = []
for line in order.line_ids:
- if line.sdd_mandate_id.type == 'oneoff':
- to_expire_ids.append(line.sdd_mandate_id.id)
- elif line.sdd_mandate_id.type == 'recurrent':
- seq_type = line.sdd_mandate_id.recurrent_sequence_type
+ if line.mandate_id.type == 'oneoff':
+ to_expire_ids.append(line.mandate_id.id)
+ elif line.mandate_id.type == 'recurrent':
+ seq_type = line.mandate_id.recurrent_sequence_type
if seq_type == 'final':
- to_expire_ids.append(line.sdd_mandate_id.id)
+ to_expire_ids.append(line.mandate_id.id)
elif seq_type == 'first':
- first_mandate_ids.append(line.sdd_mandate_id.id)
- self.pool['sdd.mandate'].write(
+ first_mandate_ids.append(line.mandate_id.id)
+ self.pool['account.banking.mandate'].write(
cr, uid, to_expire_ids, {'state': 'expired'}, context=context)
- self.pool['sdd.mandate'].write(
+ self.pool['account.banking.mandate'].write(
cr, uid, first_mandate_ids, {
'recurrent_sequence_type': 'recurring',
'sepa_migrated': True,
From 44ef6c6100e9cdb30aeb9294e9edb214df630d0f Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Tue, 21 Oct 2014 01:53:12 +0200
Subject: [PATCH 05/83] [FIX+IMP] account_banking_sepa_direct_debit: Several
things:
* Restore scheme field in mandate view
* Uncaught flake8 errors
* Set args correctly for cron job
* Split for removing stock dependency on sale
* Remove old translations templates
* More reorder on folder structure
* Translation template files
* Translations to spanish
---
.../data/mandate_expire_cron.xml | 2 +-
.../account_banking_sepa_direct_debit.pot | 556 ++++++------------
account_banking_sepa_direct_debit/i18n/es.po | 456 ++++++++++++++
.../models/banking_export_sdd.py | 3 +-
.../models/res_company.py | 2 +-
.../views/account_banking_mandate_view.xml | 1 +
.../wizard/export_sdd.py | 97 ++-
7 files changed, 686 insertions(+), 431 deletions(-)
create mode 100644 account_banking_sepa_direct_debit/i18n/es.po
diff --git a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
index 79aa0568910..48fe6fc637d 100644
--- a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
+++ b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
index 0db5767263e..a39fa750ae4 100644
--- a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
+++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.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_direct_debit
#
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:24+0000\n"
-"PO-Revision-Date: 2013-12-23 22:24+0000\n"
+"POT-Creation-Date: 2014-10-31 22:53+0000\n"
+"PO-Revision-Date: 2014-10-31 22:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -16,160 +16,150 @@ msgstr ""
"Plural-Forms: \n"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
-msgid "SEPA Direct Debit Mandate Validated"
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid "
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,filename:0
-#: field:banking.export.sdd.wizard,filename:0
-msgid "Filename"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120
#, python-format
-msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
+msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
-#, python-format
-msgid "Cannot validate the mandate '%s' without a date of signature."
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Final"
+#: field:banking.export.sdd,batch_booking:0
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Finish"
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:res.partner:0
-#: view:res.partner.bank:0
-msgid "SDD Mandates"
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: constraint:payment.line:0
-#: constraint:sdd.mandate:0
-msgid "Error msg in raise"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Reconciled"
+#: field:banking.export.sdd,charge_bearer:0
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,recurrent_sequence_type:0
-msgid "Sequence Type for Next Debit"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Creditor"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
-#: view:res.partner.bank:0
-#: field:res.partner.bank,sdd_mandate_ids:0
-msgid "SEPA Direct Debit Mandates"
+#: field:banking.export.sdd,create_uid:0
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Validate"
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-msgid "Sequence Type set to Recurring"
+#: selection:banking.export.sdd,state:0
+msgid "Draft"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "Generate"
+#: help:res.company,sepa_creditor_identifier:0
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
-msgid "SEPA Direct Debit Mandate Cancelled"
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Debtor"
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79
+#, python-format
+msgid "Error"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202
#, python-format
msgid "Error:"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_ids:0
-msgid "Messages"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,unique_mandate_reference:0
-msgid "Unique Mandate Reference"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Cancelled"
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
-#, python-format
-msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
+#: field:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_unread:0
-msgid "If checked new messages require your attention."
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file_id:0
-msgid "SDD File"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
-msgid "SEPA Direct Debit Mandate has Expired"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
-#, python-format
-msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -179,28 +169,18 @@ msgid "Following service level : transaction charges are to be applied following
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Reference"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "SEPA Direct Debit"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "SEPA Direct Debit XML file generation"
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+msgid "General Information"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_summary:0
-msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
-msgid "Payment Line"
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
+msgid "Generated SEPA Direct Debit Files"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -209,65 +189,67 @@ msgid "Generation Date"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
-#, python-format
-msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')."
+#: field:banking.export.sdd,id:0
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Create"
+#: help:account.banking.mandate,sepa_migrated:0
+msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,nb_transactions:0
-#: field:banking.export.sdd.wizard,nb_transactions:0
-msgid "Number of Transactions"
+#: help:banking.export.sdd,batch_booking:0
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "One-Off"
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,state:0
-#: field:banking.export.sdd.wizard,state:0
-msgid "State"
+#: field:banking.export.sdd,write_uid:0
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
-#, python-format
-msgid "The recurrent mandate '%s' must have a sequence type."
+#: field:banking.export.sdd,write_date:0
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_follower_ids:0
-msgid "Followers"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119
+#, python-format
+msgid "Mandate update"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_unread:0
-msgid "Unread Messages"
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-#: field:banking.export.sdd,payment_order_ids:0
-#: field:banking.export.sdd.wizard,payment_order_ids:0
-msgid "Payment Orders"
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186
+#, python-format
+msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Type"
+#: field:banking.export.sdd,nb_transactions:0
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Sent"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+msgid "One-Off"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -276,160 +258,100 @@ msgid "Original Creditor Identifier"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Recurring"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:res.company,sepa_creditor_identifier:0
-msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
-"- your country ISO code (2 letters)\n"
-"- a 2-digits checkum\n"
-"- a 3-letters business code\n"
-"- a country-specific identifier"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: sql_constraint:sdd.mandate:0
-msgid "A Mandate with the same reference already exists for this company !"
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,state:0
-msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months."
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,recurrent_sequence_type:0
-msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+#: field:banking.export.sdd,payment_order_ids:0
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138
#, python-format
-msgid "The date of signature of mandate '%s' is in the future !"
+msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Signature Date"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+msgid "Recurrent"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,charge_bearer:0
-#: field:banking.export.sdd.wizard,charge_bearer:0
-msgid "Charge Bearer"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_id:0
-msgid "Partner"
+#: field:banking.export.sdd.wizard,file_id:0
+msgid "SDD File"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "First"
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,signature_date:0
-msgid "Date of Signature of the Mandate"
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
-msgid "Mandate Cancelled"
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree
+msgid "SEPA Direct Debit"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
-msgid "Generated SEPA Direct Debit Files"
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
+msgid "SEPA Direct Debit Files"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,sepa_migrated:0
-msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,company_id:0
-msgid "Company"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
-msgid "Export SEPA Direct Debit File"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
+msgid "SEPA Direct Debit export"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,batch_booking:0
-#: help:banking.export.sdd.wizard,batch_booking:0
-msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
+#: field:banking.export.sdd,file:0
+msgid "SEPA File"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
-#, python-format
-msgid "Cannot validate the mandate '%s' because it is not attached to a bank account."
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
msgstr ""
#. module: account_banking_sepa_direct_debit
#: selection:banking.export.sdd,state:0
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Draft"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
-#, python-format
-msgid "Mandate update"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Shared"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,batch_booking:0
-#: field:banking.export.sdd.wizard,batch_booking:0
-msgid "Batch Booking"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,sepa_migrated:0
-msgid "Migrated to SEPA"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,state:0
-msgid "Status"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,total_amount:0
-#: field:banking.export.sdd.wizard,total_amount:0
-msgid "Total Amount"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
-msgid "SEPA Direct Debit Files"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Following Service Level"
+msgid "Sent"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
-#, python-format
-msgid "The mandate '%s' can't have a date of last debit before the date of signature."
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -439,195 +361,87 @@ msgid "Sequence Type set to Final"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,original_mandate_identification:0
-msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:payment.order:0
-msgid "SDD Mandate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,original_mandate_identification:0
-msgid "Original Mandate Identification"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
-msgid "Companies"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_summary:0
-msgid "Summary"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
-msgid "Original Mandate Required (SEPA)"
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:account.invoice,sdd_mandate_id:0
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
-#: field:payment.line,sdd_mandate_id:0
-#: view:sdd.mandate:0
-msgid "SEPA Direct Debit Mandate"
+#: field:banking.export.sdd,state:0
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194
#, python-format
-msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203
#, python-format
msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,scan:0
-msgid "Scan of the Mandate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,last_debit_date:0
-msgid "Date of the Last Debit"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
-msgid "Mandate Expired"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: constraint:res.company:0
-msgid "Invalid SEPA Creditor Identifier."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
-msgid "Bank Accounts"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
-msgid "
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
-"
\n"
-" "
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "General Information"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Valid"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
-msgid "Invoice"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95
+#, python-format
+msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Cancel"
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: field:sdd.mandate,payment_line_ids:0
-msgid "Related Payment Lines"
+#: field:banking.export.sdd,total_amount:0
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "Recurrent"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,type:0
+#: field:account.banking.mandate,type:0
msgid "Type of Mandate"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
-msgid "Mandate Validated"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,file:0
-msgid "SEPA File"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:res.company,sepa_creditor_identifier:0
-msgid "SEPA Creditor Identifier"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
-msgid "SEPA Direct Debit export"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Expired"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_bank_id:0
-msgid "Bank Account"
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105
#, python-format
msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
msgstr ""
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-msgid "Sequence Type set to First"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
-#, python-format
-msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
-msgstr ""
-
diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po
new file mode 100644
index 00000000000..98334c842e6
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/es.po
@@ -0,0 +1,456 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 8.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-10-31 22:53+0000\n"
+"PO-Revision-Date: 2014-10-31 22:53+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_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid "
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n"
+" Pulse para crear un nuevo mandato de adeudo directo SEPA.\n"
+"
\n"
+" Un mandato de adeudo directo SEPA es un documento firmado por su cliente que le autoriza a realizar uno o más cobros directos en su cuenta bancaria, también conocidas como domiciliaciones.\n"
+"
\n"
+" "
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr "Un mandato bancario genérico"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120
+#, python-format
+msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+msgstr "Puesto que ha cambiar la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'."
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr "Básico (CORE)"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,batch_booking:0
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Registro en lote"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "A cargo del acreedor"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "A cargo del deudor"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,charge_bearer:0
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "A cargo del portador"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Compañías"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Crear"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,create_uid:0
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n"
+"- el código ISO de 2 letras de su país\n"
+"- dos dígitos de comprobación\n"
+"- tres letras de código de negocio\n"
+"- un identificador específico de país (en España, el NIF)"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
+msgstr "Empresa (B2B)"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202
+#, python-format
+msgid "Error:"
+msgstr "Error:"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Exportar archivo de adeudo directo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Archivo"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Nombre de archivo"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Final"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Finalizar"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "Inicial"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Según el acuerdo de servicio"
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,charge_bearer:0
+#: help:banking.export.sdd.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 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_direct_debit
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+msgid "General Information"
+msgstr "Información general"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
+msgstr "Generar"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
+msgid "Generated SEPA Direct Debit Files"
+msgstr "Archivos de adeudos directos SEPA generados"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,create_date:0
+msgid "Generation Date"
+msgstr "Fecha de generación"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,id:0
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr "ID"
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,sepa_migrated:0
+msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
+msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado."
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd,batch_booking:0
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA 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_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Identificador de acreedor SEPA no válido."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,write_uid:0
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,write_date:0
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119
+#, python-format
+msgid "Mandate update"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Migrado a SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186
+#, python-format
+msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
+msgstr "Falta el mandato de adeudo directo SEPA en la línea con la empresa '%s' y la factura con referencia '%s'"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,nb_transactions:0
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Nº de transacciones"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+msgid "One-Off"
+msgstr "Único"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Identificador del acreedor original"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Identificación del mandato original"
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Mandato original requerido (SEPA)"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+#: field:banking.export.sdd,payment_order_ids:0
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Órdenes de pago"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138
+#, python-format
+msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+msgid "Recurrent"
+msgstr "Recurrente"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Periódico"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file_id:0
+msgid "SDD File"
+msgstr "Archivo SDD"
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
+msgstr "Mandatos SDD"
+
+#. module: account_banking_sepa_direct_debit
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "Identificador de acreedor SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
+#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree
+msgid "SEPA Direct Debit"
+msgstr "Adeudo directo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
+#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
+msgid "SEPA Direct Debit Files"
+msgstr "Archivos de adeudos directos SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
+msgstr "Mandatos de adeudos directos SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
+msgstr "Generación del archivo XML de adeudo directo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
+msgid "SEPA Direct Debit export"
+msgstr "Exportación de adeudo directo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,file:0
+msgid "SEPA File"
+msgstr "Archivo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
+msgstr "Esquema"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,state:0
+msgid "Sent"
+msgstr "Enviado"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Tipo de secuencia para el próximo cobro"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Tipo de secuencia establecida a 'Final'"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Tipo de secuencia establecida a 'Inicial'"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Tipo de secuencia establecida a 'Recurrente'"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd,charge_bearer:0
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Compartidos"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,state:0
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194
+#, python-format
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
+msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203
+#, python-format
+msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
+msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "El mandato periódico '%s' debe tener un tipo de secuencia."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95
+#, python-format
+msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
+msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd,total_amount:0
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Importe total"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
+msgstr "Tipo"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Tipo de mandato"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
+msgstr "Validar"
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
+msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105
+#, python-format
+msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
+msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'."
+
diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
index 44cd03b6e4f..84ac0b5e72c 100644
--- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py
+++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py
@@ -36,9 +36,8 @@ class BankingExportSdd(models.Model):
_rec_name = 'filename'
@api.one
+ @api.depends('payment_order_ids', 'payment_order_ids.reference')
def _generate_filename(self):
- filename = ''
- # FIXME : we never enter inside the IF to give a good filename
if self.payment_order_ids:
ref = self.payment_order_ids[0].reference
label = unidecode(ref.replace('/', '-')) if ref else 'error'
diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py
index 327edc40134..46f98bbc2ec 100644
--- a/account_banking_sepa_direct_debit/models/res_company.py
+++ b/account_banking_sepa_direct_debit/models/res_company.py
@@ -62,7 +62,7 @@ def is_sepa_creditor_identifier_valid(
after_replacement = ''
for char in before_replacement:
if char.isalpha():
- after_replacement += str(ord(char)-87)
+ after_replacement += str(ord(char) - 87)
else:
after_replacement += char
logger.debug(
diff --git a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
index eba8ae28b40..a2065dc7588 100644
--- a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
+++ b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
@@ -18,6 +18,7 @@
+
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py
index 79ead28b890..aa46ff8b122 100644
--- a/account_banking_sepa_direct_debit/wizard/export_sdd.py
+++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py
@@ -28,35 +28,34 @@
from lxml import etree
-class banking_export_sdd_wizard(orm.TransientModel):
+class BankingExportSddWizard(orm.TransientModel):
_name = 'banking.export.sdd.wizard'
_inherit = ['banking.export.pain']
_description = 'Export SEPA Direct Debit File'
_columns = {
- 'state': fields.selection([
- ('create', 'Create'),
- ('finish', 'Finish'),
- ], 'State', readonly=True),
+ 'state': fields.selection(
+ [('create', 'Create'),
+ ('finish', 'Finish')], 'State', readonly=True),
'batch_booking': fields.boolean(
'Batch Booking',
help="If true, the bank statement will display only one credit "
"line for all the direct debits of the SEPA file ; if false, "
"the bank statement will display one credit line per direct "
"debit of the SEPA file."),
- 'charge_bearer': fields.selection([
- ('SLEV', 'Following Service Level'),
- ('SHAR', 'Shared'),
- ('CRED', 'Borne by Creditor'),
- ('DEBT', 'Borne by Debtor'),
- ], 'Charge Bearer', required=True,
+ 'charge_bearer': fields.selection(
+ [('SLEV', 'Following Service Level'),
+ ('SHAR', 'Shared'),
+ ('CRED', 'Borne by Creditor'),
+ ('DEBT', 'Borne by Debtor')], 'Charge Bearer', required=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."),
+ "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."),
'nb_transactions': fields.related(
'file_id', 'nb_transactions', type='integer',
string='Number of Transactions', readonly=True),
@@ -73,19 +72,19 @@ class banking_export_sdd_wizard(orm.TransientModel):
'payment_order_ids': fields.many2many(
'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id',
'payment_order_id', 'Payment Orders', readonly=True),
- }
+ }
_defaults = {
'charge_bearer': 'SLEV',
'state': 'create',
- }
+ }
def create(self, cr, uid, vals, context=None):
payment_order_ids = context.get('active_ids', [])
vals.update({
'payment_order_ids': [[6, 0, payment_order_ids]],
})
- return super(banking_export_sdd_wizard, self).create(
+ return super(BankingExportSddWizard, self).create(
cr, uid, vals, context=context)
def _get_previous_bank(self, cr, uid, payline, context=None):
@@ -115,9 +114,7 @@ def _get_previous_bank(self, cr, uid, payline, context=None):
return previous_bank
def create_sepa(self, cr, uid, ids, context=None):
- '''
- Creates the SEPA Direct Debit file. That's the important code !
- '''
+ """Creates the SEPA Direct Debit file. That's the important code !"""
sepa_export = self.browse(cr, uid, ids[0], context=context)
pain_flavor = sepa_export.payment_order_ids[0].mode.type.code
@@ -139,10 +136,9 @@ def create_sepa(self, cr, uid, ids, context=None):
raise orm.except_orm(
_('Error:'),
_("Payment Type Code '%s' is not supported. The only "
- "Payment Type Code supported for SEPA Direct Debit "
- "are 'pain.008.001.02', 'pain.008.001.03' and "
- "'pain.008.001.04'.") % pain_flavor)
-
+ "Payment Type Code supported for SEPA Direct Debit are "
+ "'pain.008.001.02', 'pain.008.001.03' and "
+ "'pain.008.001.04'.") % pain_flavor)
gen_args = {
'bic_xml_tag': bic_xml_tag,
'name_maxsize': name_maxsize,
@@ -154,20 +150,16 @@ def create_sepa(self, cr, uid, ids, context=None):
'pain_xsd_file':
'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor,
}
-
pain_ns = {
'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
- }
-
+ }
xml_root = etree.Element('Document', nsmap=pain_ns)
pain_root = etree.SubElement(xml_root, root_xml_tag)
-
# A. Group header
group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \
self.generate_group_header_block(
cr, uid, pain_root, gen_args, context=context)
-
transactions_count_1_6 = 0
total_amount = 0.0
amount_control_sum_1_7 = 0.0
@@ -192,36 +184,35 @@ def create_sepa(self, cr, uid, ids, context=None):
raise orm.except_orm(
_('Error:'),
_("Missing SEPA Direct Debit mandate on the payment "
- "line with partner '%s' and Invoice ref '%s'.")
+ "line with partner '%s' and Invoice ref '%s'.")
% (line.partner_id.name,
- line.ml_inv_ref.number))
+ line.ml_inv_ref.number))
scheme = line.mandate_id.scheme
if line.mandate_id.state != 'valid':
raise orm.except_orm(
_('Error:'),
_("The SEPA Direct Debit mandate with reference '%s' "
- "for partner '%s' has expired.")
+ "for partner '%s' has expired.")
% (line.mandate_id.unique_mandate_reference,
- line.mandate_id.partner_id.name))
+ line.mandate_id.partner_id.name))
if line.mandate_id.type == 'oneoff':
- if not line.mandate_id.last_debit_date:
- seq_type = 'OOFF'
- else:
+ seq_type = 'OOFF'
+ if line.mandate_id.last_debit_date:
raise orm.except_orm(
_('Error:'),
_("The mandate with reference '%s' for partner "
- "'%s' has type set to 'One-Off' and it has a "
- "last debit date set to '%s', so we can't use "
- "it.")
+ "'%s' has type set to 'One-Off' and it has a "
+ "last debit date set to '%s', so we can't use "
+ "it.")
% (line.mandate_id.unique_mandate_reference,
- line.mandate_id.partner_id.name,
- line.mandate_id.last_debit_date))
+ line.mandate_id.partner_id.name,
+ line.mandate_id.last_debit_date))
elif line.mandate_id.type == 'recurrent':
seq_type_map = {
'recurring': 'RCUR',
'first': 'FRST',
'final': 'FNAL',
- }
+ }
seq_type_label = \
line.mandate_id.recurrent_sequence_type
assert seq_type_label is not False
@@ -261,10 +252,8 @@ def create_sepa(self, cr, uid, ids, context=None):
'sepa_export.payment_order_ids[0].mode.bank_id.bank.bic',
{'sepa_export': sepa_export},
gen_args, context=context)
-
charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr')
charge_bearer_2_24.text = sepa_export.charge_bearer
-
creditor_scheme_identification_2_27 = etree.SubElement(
payment_info_2_0, 'CdtrSchmeId')
self.generate_creditor_scheme_identification(
@@ -273,7 +262,6 @@ def create_sepa(self, cr, uid, ids, context=None):
'sepa_creditor_identifier',
'SEPA Creditor Identifier', {'sepa_export': sepa_export},
'SEPA', gen_args, context=context)
-
transactions_count_2_4 = 0
amount_control_sum_2_5 = 0.0
for line in lines:
@@ -404,20 +392,17 @@ def create_sepa(self, cr, uid, ids, context=None):
gen_args, context=context)
def cancel_sepa(self, cr, uid, ids, context=None):
- '''
- Cancel the SEPA file: just drop the file
- '''
+ """Cancel the SEPA file: just drop the file"""
sepa_export = self.browse(cr, uid, ids[0], context=context)
self.pool.get('banking.export.sdd').unlink(
cr, uid, sepa_export.file_id.id, context=context)
return {'type': 'ir.actions.act_window_close'}
def save_sepa(self, cr, uid, ids, context=None):
- '''
- Save the SEPA Direct Debit file: mark all payments in the file
+ """Save the SEPA Direct Debit file: mark all payments in the file
as 'sent'. Write 'last debit date' on mandate and set oneoff
- mandate to expired
- '''
+ mandate to expired.
+ """
sepa_export = self.browse(cr, uid, ids[0], context=context)
self.pool.get('banking.export.sdd').write(
cr, uid, sepa_export.file_id.id, {'state': 'sent'},
From 9bbb150ec80331f2cb2c74456b1109dd22aa0668 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Fri, 19 Dec 2014 23:59:02 +0100
Subject: [PATCH 06/83] [IMP] account_banking_sepa_direct_debit: 5 things:
* Transfer move: one transfer move for each payment.order with only 1 line in the transfer account for the total of the account move. Move the inherit of the 'Invoice' button of payment.order from account_banking_payment_transfer to account_banking_payment_export Demo data: Add a bank account + mandate on Agrolait, to be able to easily test multi-partner SEPA DD
* mandates: search by reference, add group_by, add seq type in tree view
* Add scheme in mandate tree+search view Replace tabs by spaces in mandate views account_banking_mandate/views/account_banking_mandate_view.xml: convert from dos to unix format
* Add sale_ok and purchase_ok filters in partner/sale/purchase form views Use widget=selection for payment_mode_id fields Update demo data
* Limit lenght of mandate reference, according to ISO 20022
---
.../demo/sepa_direct_debit_demo.xml | 9 +
.../models/account_banking_mandate.py | 21 +-
.../views/account_banking_mandate_view.xml | 203 +++++++++---------
.../wizard/export_sdd.py | 4 +-
4 files changed, 130 insertions(+), 107 deletions(-)
diff --git a/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
index 041082d76cf..51a24bad1e1 100644
--- a/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
+++ b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml
@@ -9,6 +9,7 @@
+
@@ -23,5 +24,13 @@
valid
+
+
+ recurrent
+ first
+
+ valid
+
+
diff --git a/account_banking_sepa_direct_debit/models/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py
index 4df70637868..56b4c870d8b 100644
--- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py
+++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py
@@ -70,18 +70,20 @@ class AccountBankingMandate(models.Model):
"active.", default=True)
original_mandate_identification = fields.Char(
string='Original Mandate Identification', track_visibility='onchange',
+ size=35,
help="When the field 'Migrated to SEPA' is not active, this field "
"will be used as the Original Mandate Identification in the "
"Direct Debit file.")
scheme = fields.Selection([('CORE', 'Basic (CORE)'),
('B2B', 'Enterprise (B2B)')],
string='Scheme', required=True, default="CORE")
+ unique_mandate_reference = fields.Char(size=35) # cf ISO 20022
@api.one
@api.constrains('type', 'recurrent_sequence_type')
def _check_recurring_type(self):
- if (self.type == 'recurrent'
- and not self.recurrent_sequence_type):
+ if (self.type == 'recurrent' and
+ not self.recurrent_sequence_type):
raise exceptions.Warning(
_("The recurrent mandate '%s' must have a sequence type.")
% self.unique_mandate_reference)
@@ -89,8 +91,8 @@ def _check_recurring_type(self):
@api.one
@api.constrains('type', 'recurrent_sequence_type', 'sepa_migrated')
def _check_migrated_to_sepa(self):
- if (self.type == 'recurrent' and not self.sepa_migrated
- and self.recurrent_sequence_type != 'first'):
+ if (self.type == 'recurrent' and not self.sepa_migrated and
+ self.recurrent_sequence_type != 'first'):
raise exceptions.Warning(
_("The recurrent mandate '%s' which is not marked as "
"'Migrated to SEPA' must have its recurrent sequence type "
@@ -99,8 +101,8 @@ def _check_migrated_to_sepa(self):
@api.one
@api.constrains('type', 'original_mandate_identification', 'sepa_migrated')
def _check_original_mandate_identification(self):
- if (self.type == 'recurrent' and not self.sepa_migrated
- and not self.original_mandate_identification):
+ if (self.type == 'recurrent' and not self.sepa_migrated and
+ not self.original_mandate_identification):
raise exceptions.Warning(
_("You must set the 'Original Mandate Identification' on the "
"recurrent mandate '%s' which is not marked as 'Migrated to "
@@ -111,9 +113,10 @@ def _check_original_mandate_identification(self):
def mandate_partner_bank_change(self):
super(AccountBankingMandate, self).mandate_partner_bank_change()
res = {}
- if (self.state == 'valid' and self.partner_bank_id
- and self.type == 'recurrent'
- and self.recurrent_sequence_type != 'first'):
+ if (self.state == 'valid' and
+ self.partner_bank_id and
+ self.type == 'recurrent' and
+ self.recurrent_sequence_type != 'first'):
self.recurrent_sequence_type = 'first'
res['warning'] = {
'title': _('Mandate update'),
diff --git a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
index a2065dc7588..366edfaf89d 100644
--- a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
+++ b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml
@@ -5,114 +5,125 @@
The licence is in the file __openerp__.py
-->
-
- sdd.mandate.form
- account.banking.mandate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sdd.mandate.tree
- account.banking.mandate
-
-
-
-
-
-
-
-
- sdd.mandate.search
- account.banking.mandate
-
-
-
-
-
-
-
-
+
+ sdd.mandate.form
+ account.banking.mandate
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- SEPA Direct Debit Mandates
- account.banking.mandate
- form
- tree,form
-
-
- Click to create a new SEPA Direct Debit Mandate.
-
- A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
-
+ Click to create a new SEPA Direct Debit Mandate.
+
+ A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
+
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
-"
\n"
-" "
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
msgstr "
\n"
-" Pulse para crear un nuevo mandato de adeudo directo SEPA.\n"
-"
\n"
-" Un mandato de adeudo directo SEPA es un documento firmado por su cliente que le autoriza a realizar uno o más cobros directos en su cuenta bancaria, también conocidas como domiciliaciones.\n"
-"
\n"
-" "
+" Pulse para crear un nuevo mandato bancario.\n"
+"
\n"
+" Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n"
+"
\n"
" Click to create a new SEPA Direct Debit Mandate.\n"
"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer "
+"that gives you the autorization to do one or several direct debits on his "
+"bank account.\n"
"
\n"
" "
-msgstr "
\n"
+msgstr ""
+"
\n"
" Pulse para crear un nuevo mandato bancario.\n"
"
\n"
-" Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n"
+" Un mandato bancario es un documento firmado por su cliente que le da "
+"la autorización para hacer una o varias operaciones en su cuenta bancaria.\n"
"
By signing this mandate form, you authorise (A)
+ to send instructions to your bank to debit your account and (B) your bank to
+ debit your account in accordance with the instructions from .
+
+
+
+
+
+
+ This mandate is only intended for business-to-business transactions.
+ You are not entitled to a refund from your bank after your account has
+ been debited, but you are entitled to request your bank
+ not to debit your account up until the day on which the payment is due.
+
+
+ As part of your rights, you are entitled to a refund from
+ your bank under the terms and conditions of your agreement
+ with your bank.
+ A refund must be claimed within 8 weeks starting from the date on which your account was debited.
+
+
+
+
+
+
+ To be completed by the debtor
+
+
Debtor's Name:
+
Address of the Debtor:
+
Postal Code - City - Town:
+
+ -
+ -
+
+
+
Country of the debtor:
+
Swift BIC (up to 8 or 11 characteres):
+
Account Number - IBAN:
+
Type of payment:
+
+ Recurrent
+ One-Off
+
+
Date - Location:
+
+
Signature of the debtor:
+
+
+
+
+
+
+
+
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+ NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.
+ THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK.
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n Click to create a new SEPA Direct Debit Mandate.\n
\n A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n
\n "
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr "A generic banking mandate"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
+"CREDITOR FOR STORAGE."
+msgstr "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+msgstr "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Account Number - IBAN:"
+msgstr "Account Number - IBAN:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address of the Debtor:"
+msgstr "Address of the Debtor:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address:"
+msgstr "Address:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"As part of your rights, you are entitled to a refund from\n"
+" your bank under the terms and conditions of your agreement\n"
+" with your bank.\n"
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr "As part of your rights, you are entitled to a refund from\n your bank under the terms and conditions of your agreement\n with your bank.\n A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
+#, python-format
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+msgstr "Bank Payment Lines"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr "Basic (CORE)"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Batch Booking"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "Borne by Creditor"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "Borne by Debtor"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "By signing this mandate form, you authorise (A)"
+msgstr "By signing this mandate form, you authorise (A)"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
+msgstr "Cancel"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Charge Bearer"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Companies"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country of the debtor:"
+msgstr "Country of the debtor:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country:"
+msgstr "Country:"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Create"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
+msgstr "Created by"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
+msgstr "Created on"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Creditor's Name:"
+msgstr "Creditor's Name:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Date - Location:"
+msgstr "Date - Location:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Debtor's Name:"
+msgstr "Debtor's Name:"
+
+#. module: account_banking_sepa_direct_debit
+#: help:payment.mode,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
+"This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\nThis identifier is composed of :\n- your country ISO code (2 letters)\n- a 2-digits checkum\n- a 3-letters business code\n- a country-specific identifier"
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n- your country ISO code (2 letters)\n- a 2-digits checkum\n- a 3-letters business code\n- a country-specific identifier"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
+msgstr "Enterprise (B2B)"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Export SEPA Direct Debit File"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "File"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Filename"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Final"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Finish"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "First"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Following Service Level"
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd.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 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 "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."
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
+msgstr "Generate"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr "ID"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Identifier:"
+msgstr "Identifier:"
+
+#. module: account_banking_sepa_direct_debit
+#: help:payment.mode,original_creditor_identifier:0
+msgid ""
+"If not defined, Original Creditor Identifier from company will be used."
+msgstr "If not defined, Original Creditor Identifier from company will be used."
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,sepa_migrated:0
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid ""
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Invalid SEPA Creditor Identifier."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
+msgstr "Last Updated by"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
+msgstr "Last Updated on"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Mandate Reference:"
+msgstr "Mandate Reference:"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
+#, python-format
+msgid "Mandate update"
+msgstr "Mandate update"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Migrated to SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
+#, python-format
+msgid ""
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
+msgstr "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Number of Transactions"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "One-Off"
+msgstr "One-Off"
+
+#. module: account_banking_sepa_direct_debit
+#: field:payment.mode,original_creditor_identifier:0
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Original Creditor Identifier"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Original Mandate Identification"
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Original Mandate Required (SEPA)"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
+msgid "Payment Mode"
+msgstr "Payment Mode"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Payment Orders"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117
+#, python-format
+msgid ""
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
+" 'pain.008.001.04'."
+msgstr "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Postal Code - City - Town:"
+msgstr "Postal Code - City - Town:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Recurrent"
+msgstr "Recurrent"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Recurring"
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
+msgstr "SDD Mandates"
+
+#. module: account_banking_sepa_direct_debit
+#: field:payment.mode,sepa_creditor_identifier:0
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "SEPA Creditor Identifier"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
+msgstr "SEPA Direct Debit Mandates"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
+msgstr "SEPA Direct Debit XML file generation"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
+msgstr "Scheme"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Business-To-Business Direct debit Mandate"
+msgstr "Sepa Business-To-Business Direct debit Mandate"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Direct Debit Mandate"
+msgstr "Sepa Direct Debit Mandate"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35
+#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate
+#, python-format
+msgid "Sepa Mandate"
+msgstr "Sepa Mandate"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Sequence Type"
+msgstr "Sequence Type"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Sequence Type for Next Debit"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Sequence Type set to Final"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Sequence Type set to First"
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Sequence Type set to Recurring"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Shared"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Signature of the debtor:"
+msgstr "Signature of the debtor:"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "State"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Swift BIC (up to 8 or 11 characteres):"
+msgstr "Swift BIC (up to 8 or 11 characteres):"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166
+#, python-format
+msgid ""
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
+#, python-format
+msgid ""
+"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
+"and it has a last debit date set to '%s', so we can't use it."
+msgstr "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "The recurrent mandate '%s' must have a sequence type."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr "This field is only used for Recurrent mandates, not for One-Off mandates."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"This mandate is only intended for business-to-business transactions.\n"
+" You are not entitled to a refund from your bank after your account has\n"
+" been debited, but you are entitled to request your bank\n"
+" not to debit your account up until the day on which the payment is due."
+msgstr "This mandate is only intended for business-to-business transactions.\n You are not entitled to a refund from your bank after your account has\n been debited, but you are entitled to request your bank\n not to debit your account up until the day on which the payment is due."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the creditor"
+msgstr "To be completed by the creditor"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the debtor"
+msgstr "To be completed by the debtor"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Total Amount"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
+msgstr "Type"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Type of Mandate"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Type of payment:"
+msgstr "Type of payment:"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
+msgstr "Validate"
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
+#, python-format
+msgid ""
+"You must set the 'Original Mandate Identification' on the recurrent mandate "
+"'%s' which is not marked as 'Migrated to SEPA'."
+msgstr "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"to send instructions to your bank to debit your account and (B) your bank to\n"
+" debit your account in accordance with the instructions from"
+msgstr "to send instructions to your bank to debit your account and (B) your bank to\n debit your account in accordance with the instructions from"
diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po
index ce10768cddd..8f64295d1e1 100644
--- a/account_banking_sepa_direct_debit/i18n/es.po
+++ b/account_banking_sepa_direct_debit/i18n/es.po
@@ -1,20 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * account_banking_sepa_direct_debit
-#
+# * account_banking_sepa_direct_debit
+#
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 8.0\n"
+"Project-Id-Version: bank-payment (8.0)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-04-05 20:32+0000\n"
-"PO-Revision-Date: 2016-04-05 23:01+0100\n"
-"Last-Translator: Sergio Teruel \n"
-"Language-Team: \n"
-"Language: es_ES\n"
+"POT-Creation-Date: 2016-04-08 00:46+0000\n"
+"PO-Revision-Date: 2016-04-07 16:04+0000\n"
+"Last-Translator: OCA Transbot \n"
+"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"Content-Transfer-Encoding: \n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_banking_sepa_direct_debit
#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
@@ -22,19 +23,10 @@ msgid ""
"
\n"
" Click to create a new SEPA Direct Debit Mandate.\n"
"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer "
-"that gives you the autorization to do one or several direct debits on his "
-"bank account.\n"
-"
\n"
-" "
-msgstr ""
-"
\n"
-" Pulse para crear un nuevo mandato bancario.\n"
-"
\n"
-" Un mandato bancario es un documento firmado por su cliente que le da "
-"la autorización para hacer una o varias operaciones en su cuenta bancaria.\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
"
\n"
" "
+msgstr "
\n Pulse para crear un nuevo mandato bancario.\n
\n Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n
\n "
#. module: account_banking_sepa_direct_debit
#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
@@ -46,25 +38,15 @@ msgstr "Un mandato bancario genérico"
msgid ""
"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
"CREDITOR FOR STORAGE."
-msgstr ""
-"TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA "
-"ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA."
+msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA."
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
-"CREDITOR FOR STORAGE.\n"
-" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S "
-"AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
-" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED "
-"AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
-msgstr ""
-"TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA "
-"ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA "
-"ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE "
-"LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON "
-"LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN."
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN."
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
@@ -85,27 +67,18 @@ msgstr "Dirección:"
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
"As part of your rights, you are entitled to a refund from\n"
-" your bank under the terms and conditions of your "
-"agreement\n"
+" your bank under the terms and conditions of your agreement\n"
" with your bank.\n"
-" A refund must be claimed within 8 weeks starting "
-"from the date on which your account was debited."
-msgstr ""
-"Como parte de sus derechos, el deudor está legitimado al reembolso por su "
-"entidad en los términos y condiciones del contrato suscrito con la misma. La "
-"solicitud de reembolso deberá efectuarse dentro de las ocho semanas que "
-"siguen a la fecha de adeudo en cuenta. Puede obtener información adicional "
-"sobre sus derechos en su entidad financiera."
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:110
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
#, python-format
msgid ""
"As you changed the bank account attached to this mandate, the 'Sequence "
"Type' has been set back to 'First'."
-msgstr ""
-"Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el "
-"'Tipo de secuencia' se ha vuelto a 'Inicial'."
+msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'."
#. module: account_banking_sepa_direct_debit
#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
@@ -135,8 +108,7 @@ msgstr "A cargo del deudor"
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid "By signing this mandate form, you authorise (A)"
-msgstr ""
-"Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) "
+msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) "
#. module: account_banking_sepa_direct_debit
#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
@@ -196,40 +168,23 @@ msgstr "Nombre del deudor:"
#. module: account_banking_sepa_direct_debit
#: help:payment.mode,sepa_creditor_identifier:0
msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to "
-"make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from "
-"company will be used.\n"
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
"This identifier is composed of :\n"
"- your country ISO code (2 letters)\n"
"- a 2-digits checkum\n"
"- a 3-letters business code\n"
"- a country-specific identifier"
-msgstr ""
-"Introduzca el identificador de acreedor que se le ha atribuido a su compañía "
-"para realizar adeudos directos SEPA. Su banco suele poseer esta información. "
-"Este identificador se compone de:\n"
-"- el código ISO de 2 letras de su país\n"
-"- dos dígitos de comprobación\n"
-"- tres letras de código de negocio\n"
-"- un identificador específico de país (en España, el NIF)"
+msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)"
#. module: account_banking_sepa_direct_debit
#: help:res.company,sepa_creditor_identifier:0
msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to "
-"make SEPA Direct Debits. This identifier is composed of :\n"
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
"- your country ISO code (2 letters)\n"
"- a 2-digits checkum\n"
"- a 3-letters business code\n"
"- a country-specific identifier"
-msgstr ""
-"Introduzca el identificador de acreedor que se le ha atribuido a su compañía "
-"para realizar adeudos directos SEPA. Su banco suele poseer esta información. "
-"Este identificador se compone de:\n"
-"- el código ISO de 2 letras de su país\n"
-"- dos dígitos de comprobación\n"
-"- tres letras de código de negocio\n"
-"- un identificador específico de país (en España, el NIF)"
+msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)"
#. module: account_banking_sepa_direct_debit
#: selection:account.banking.mandate,scheme:0
@@ -237,8 +192,8 @@ msgid "Enterprise (B2B)"
msgstr "Empresa (B2B)"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:41
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
#, python-format
msgid "Error"
msgstr "Error"
@@ -282,21 +237,13 @@ msgstr "Según el acuerdo de servicio"
#: help:banking.export.sdd.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 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."
+"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_direct_debit
#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
@@ -315,7 +262,8 @@ msgstr "Identificador:"
#. module: account_banking_sepa_direct_debit
#: help:payment.mode,original_creditor_identifier:0
-msgid "If not defined, Original Creditor Identifier from company will be used."
+msgid ""
+"If not defined, Original Creditor Identifier from company will be used."
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -327,13 +275,7 @@ msgid ""
"required in a few countries (Belgium for instance), but not in all "
"countries. If this is not required in your country, you should keep this "
"field always active."
-msgstr ""
-"Si este campo no está marcado, la sección 'mandato' del próximo archivo de "
-"adeudo directo que lo incluya contendrá el valor de los campos "
-"'Identificación del mandato original' y 'Identificación del esquema original "
-"del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), "
-"pero no en todos ellos. Si no es un requisito en su país, este campo siempre "
-"debe estar marcado."
+msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado."
#. module: account_banking_sepa_direct_debit
#: help:banking.export.sdd.wizard,batch_booking:0
@@ -341,15 +283,11 @@ msgid ""
"If true, the bank statement will display only one credit line for all the "
"direct debits of the SEPA file ; if false, the bank statement will display "
"one credit line per direct debit of the SEPA 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."
+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_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
#, python-format
msgid "Invalid SEPA Creditor Identifier."
msgstr "Identificador de acreedor SEPA no válido."
@@ -370,7 +308,7 @@ msgid "Mandate Reference:"
msgstr "Referencia del mandato:"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:109
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
#, python-format
msgid "Mandate update"
msgstr "Actualizacion de mandato"
@@ -384,11 +322,9 @@ msgstr "Migrado a SEPA"
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
#, python-format
msgid ""
-"Missing SEPA Direct Debit mandate on the bank payment line with partner "
-"'%s' (reference '%s')."
-msgstr ""
-"Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la "
-"empresa '%s' (referencia '%s')."
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
+msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la empresa '%s' (referencia '%s')."
#. module: account_banking_sepa_direct_debit
#: field:banking.export.sdd.wizard,nb_transactions:0
@@ -433,12 +369,9 @@ msgstr "Órdenes de pago"
#, python-format
msgid ""
"Payment Type Code '%s' is not supported. The only Payment Type Code "
-"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and "
-"'pain.008.001.04'."
-msgstr ""
-"El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo "
-"de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', "
-"'pain.008.001.03' y 'pain.008.001.04'."
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
+" 'pain.008.001.04'."
+msgstr "El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', 'pain.008.001.03' y 'pain.008.001.04'."
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
@@ -557,9 +490,7 @@ msgstr "Swift BIC (puede contener 8 u 11 posiciones):"
msgid ""
"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
"expired."
-msgstr ""
-"El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' "
-"ha expirado."
+msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado."
#. module: account_banking_sepa_direct_debit
#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
@@ -567,25 +498,21 @@ msgstr ""
msgid ""
"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
"and it has a last debit date set to '%s', so we can't use it."
-msgstr ""
-"El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya "
-"tiene como fecha de último cobro '%s', por lo que no se puede usar."
+msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
#, python-format
msgid "The recurrent mandate '%s' must have a sequence type."
msgstr "El mandato periódico '%s' debe tener un tipo de secuencia."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:84
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
#, python-format
msgid ""
"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
"have its recurrent sequence type set to 'First'."
-msgstr ""
-"El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe "
-"establecer su tipo de secuencia a 'Inicial'."
+msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'."
#. module: account_banking_sepa_direct_debit
#: help:account.banking.mandate,recurrent_sequence_type:0
@@ -597,19 +524,10 @@ msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos."
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
"This mandate is only intended for business-to-business transactions.\n"
-" You are not entitled to a refund from your bank "
-"after your account has\n"
-" been debited, but you are entitled to request your "
-"bank\n"
-" not to debit your account up until the day on which "
-"the payment is due."
-msgstr ""
-"Esta orden de domiciliación está prevista para operaciones exclusivamente "
-"entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le "
-"reembolse una vez que se haya realizado el cargo en cuenta, pero puede "
-"solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha "
-"debida. Podrá obtener información detallada del procedimiento en su entidad "
-"financiera."
+" You are not entitled to a refund from your bank after your account has\n"
+" been debited, but you are entitled to request your bank\n"
+" not to debit your account up until the day on which the payment is due."
+msgstr "Esta orden de domiciliación está prevista para operaciones exclusivamente entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le reembolse una vez que se haya realizado el cargo en cuenta, pero puede solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha debida. Podrá obtener información detallada del procedimiento en su entidad financiera."
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
@@ -652,28 +570,19 @@ msgstr "Validar"
msgid ""
"When the field 'Migrated to SEPA' is not active, this field will be used as "
"the Original Mandate Identification in the Direct Debit file."
-msgstr ""
-"Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como "
-"identificación del mandato original en el archivo de adeudo directo."
+msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:94
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
#, python-format
msgid ""
"You must set the 'Original Mandate Identification' on the recurrent mandate "
"'%s' which is not marked as 'Migrated to SEPA'."
-msgstr ""
-"Debe establecer el campo 'Identificación de mandato original en el mandato "
-"periódico '%s', que no está marcado como 'Migrado a SEPA'."
+msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'."
#. module: account_banking_sepa_direct_debit
#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"to send instructions to your bank to debit your account and (B) your bank "
-"to\n"
-" debit your account in accordance with the "
-"instructions from"
-msgstr ""
-"a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) "
-"a la entidad para efectuar los adeudos en su cuenta siguiendo las "
-"instrucciones del acreedor "
+"to send instructions to your bank to debit your account and (B) your bank to\n"
+" debit your account in accordance with the instructions from"
+msgstr "a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor "
diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po
index 3744da85064..75cc33f0fbe 100644
--- a/account_banking_sepa_direct_debit/i18n/fr.po
+++ b/account_banking_sepa_direct_debit/i18n/fr.po
@@ -1,749 +1,588 @@
-# Translation of OpenERP Server.
+# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * account_banking_sepa_direct_debit
-#
+# * account_banking_sepa_direct_debit
+#
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: OpenERP Server 7.0\n"
+"Project-Id-Version: bank-payment (8.0)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-12-23 22:24+0000\n"
-"PO-Revision-Date: 2014-02-01 04:49+0000\n"
-"Last-Translator: Alexis de Lattre \n"
-"Language-Team: \n"
+"POT-Creation-Date: 2016-04-08 00:46+0000\n"
+"PO-Revision-Date: 2016-04-07 16:04+0000\n"
+"Last-Translator: OCA Transbot \n"
+"Language-Team: French (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
-msgid "SEPA Direct Debit Mandate Validated"
-msgstr "Mandat de prélèvement SEPA validé"
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid ""
+"
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n Cliquez pour créer un mandat de prélèvement SEPA.\n
\n Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n
\n "
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,filename:0
-#: field:banking.export.sdd.wizard,filename:0
-msgid "Filename"
-msgstr "Nom du fichier"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
-#, python-format
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
-"expired."
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
+"CREDITOR FOR STORAGE."
msgstr ""
-"Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire "
-"'%s' a expiré."
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
-#, python-format
-msgid "Cannot validate the mandate '%s' without a date of signature."
-msgstr "Impossible de valider le mandat '%s' sans date de signature."
-
-#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Final"
-msgstr "Final"
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Finish"
-msgstr "Finir"
#. module: account_banking_sepa_direct_debit
-#: view:res.partner:0
-#: view:res.partner.bank:0
-msgid "SDD Mandates"
-msgstr "Mandats SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: constraint:payment.line:0
-#: constraint:sdd.mandate:0
-msgid "Error msg in raise"
-msgstr "Error msg in raise"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Account Number - IBAN:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Reconciled"
-msgstr "Réconcilié"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address of the Debtor:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,recurrent_sequence_type:0
-msgid "Sequence Type for Next Debit"
-msgstr "Type de séquence pour le prochain prélèvement"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Creditor"
-msgstr "Supportés par le créancier"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"As part of your rights, you are entitled to a refund from\n"
+" your bank under the terms and conditions of your agreement\n"
+" with your bank.\n"
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
-#: view:res.partner.bank:0
-#: field:res.partner.bank,sdd_mandate_ids:0
-msgid "SEPA Direct Debit Mandates"
-msgstr "Mandats de prélèvement SEPA"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
+#, python-format
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'."
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Validate"
-msgstr "Valider"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-msgid "Sequence Type set to Recurring"
-msgstr "Type de séquence mis à Recurring"
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "Generate"
-msgstr "Générer"
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Crédit groupé"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
-msgid "SEPA Direct Debit Mandate Cancelled"
-msgstr "Mandat de prélèvement SEPA annulé"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "Supportés par le créancier"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
#: selection:banking.export.sdd.wizard,charge_bearer:0
msgid "Borne by Debtor"
msgstr "Supportés par le débiteur"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
-#, python-format
-msgid "Error:"
-msgstr "Erreur :"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "By signing this mandate form, you authorise (A)"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_ids:0
-msgid "Messages"
-msgstr "Messages"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
+msgstr "Annuler"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,unique_mandate_reference:0
-msgid "Unique Mandate Reference"
-msgstr "Référence unique de mandat"
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Répartition des frais"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Cancelled"
-msgstr "Annulé"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Sociétés"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
-#, python-format
-msgid ""
-"Payment Type Code '%s' is not supported. The only Payment Type Code "
-"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and "
-"'pain.008.001.04'."
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country of the debtor:"
msgstr ""
-"Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type "
-"de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', "
-"'pain.008.001.03' et 'pain.008.001.04'."
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "If checked new messages require your attention."
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file_id:0
-msgid "SDD File"
-msgstr "Fichier de prélèvement SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
-msgid "SEPA Direct Debit Mandate has Expired"
-msgstr "Le mandat de prélèvement SEPA a expiré"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Créer"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
-#, python-format
-msgid ""
-"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
-"have its recurrent sequence type set to 'First'."
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
msgstr ""
-"Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit "
-"avec sa séquence mise à 'First'."
#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,charge_bearer:0
-#: help:banking.export.sdd.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 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."
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
msgstr ""
-"Suivant le niveau de service : la répartition des frais bancaires suit les "
-"règles pré-établies dans le schema ou dans le contrat avec la banque (les "
-"messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais "
-"bancaires côté débiteur sont à la charge du débiteur, les frais bancaires "
-"côté créancier sont à la charge du créancier. Supportés par le créancier : "
-"tous les frais bancaires sont à la charge du créancier. Supportés par le "
-"débiteur : tous les frais bancaires sont à la charge du débiteur."
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Reference"
-msgstr "Référence"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Creditor's Name:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "SEPA Direct Debit"
-msgstr "Prélèvement SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Date - Location:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "SEPA Direct Debit XML file generation"
-msgstr "Génération de fichiers de prélèvement SEPA XML"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Debtor's Name:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_summary:0
+#: help:payment.mode,sepa_creditor_identifier:0
msgid ""
-"Holds the Chatter summary (number of messages, ...). This summary is "
-"directly in html format in order to be inserted in kanban views."
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
+"This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
msgstr ""
-"Holds the Chatter summary (number of messages, ...). This summary is "
-"directly in html format in order to be inserted in kanban views."
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
-msgid "Payment Line"
-msgstr "Ligne de paiement"
+#: help:res.company,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n- du code ISO de votre pays (2 lettres)\n- un code de contrôle à 2 chiffres\n- un code d'activité à 3 lettres\n- un identifiant national"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,create_date:0
-msgid "Generation Date"
-msgstr "Date de génération"
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
#, python-format
-msgid ""
-"The payment line with reference '%s' has the bank account '%s' which is not "
-"attached to the mandate '%s' (this mandate is attached to the bank account "
-"'%s')."
+msgid "Error"
msgstr ""
-"La ligne de paiement portant la référence '%s' est configurée avec le compte "
-"bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché "
-"au compte bancaire '%s')."
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Create"
-msgstr "Créer"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,nb_transactions:0
-#: field:banking.export.sdd.wizard,nb_transactions:0
-msgid "Number of Transactions"
-msgstr "Nombre de transactions"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Export du fichier de prélèvement SEPA"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "One-Off"
-msgstr "One-Off"
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Fichier"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,state:0
-#: field:banking.export.sdd.wizard,state:0
-msgid "State"
-msgstr "État"
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Nom du fichier"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
-#, python-format
-msgid "The recurrent mandate '%s' must have a sequence type."
-msgstr "Le mandat récurrent '%s' doit avoir un type de séquence."
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Final"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_follower_ids:0
-msgid "Followers"
-msgstr "Followers"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Finir"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_unread:0
-msgid "Unread Messages"
-msgstr "Unread Messages"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "First"
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-#: field:banking.export.sdd,payment_order_ids:0
-#: field:banking.export.sdd.wizard,payment_order_ids:0
-msgid "Payment Orders"
-msgstr "Ordres de paiement"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Suivant le niveau de service"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Type"
-msgstr "Type"
+#: help:banking.export.sdd.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 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 "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Sent"
-msgstr "Envoyé"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
+msgstr "Générer"
#. module: account_banking_sepa_direct_debit
-#: field:res.company,original_creditor_identifier:0
-msgid "Original Creditor Identifier"
-msgstr "Ancien Identifiant Créancier"
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Recurring"
-msgstr "Recurring"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Identifier:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:res.company,sepa_creditor_identifier:0
+#: help:payment.mode,original_creditor_identifier:0
msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to "
-"make SEPA Direct Debits. This identifier is composed of :\n"
-"- your country ISO code (2 letters)\n"
-"- a 2-digits checkum\n"
-"- a 3-letters business code\n"
-"- a country-specific identifier"
+"If not defined, Original Creditor Identifier from company will be used."
msgstr ""
-"Entrez l'Identifiant créancier qui a été attribué à votre société pour "
-"réaliser des prélèvements SEPA. Cet identifiant est composé de :\n"
-"- du code ISO de votre pays (2 lettres)\n"
-"- un code de contrôle à 2 chiffres\n"
-"- un code d'activité à 3 lettres\n"
-"- un identifiant national"
#. module: account_banking_sepa_direct_debit
-#: sql_constraint:sdd.mandate:0
-msgid "A Mandate with the same reference already exists for this company !"
-msgstr "Un mandat avec la même référence existe déjà pour cette société !"
+#: help:account.banking.mandate,sepa_migrated:0
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif."
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,state:0
+#: help:banking.export.sdd.wizard,batch_booking:0
msgid ""
-"Only valid mandates can be used in a payment line. A cancelled mandate is a "
-"mandate that has been cancelled by the customer. A one-off mandate expires "
-"after its first use. A recurrent mandate expires after it's final use or if "
-"it hasn't been used for 36 months."
-msgstr ""
-"Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. "
-"Un mandate annulé est un mandat qui a été annulé par le client. Un mandat "
-"One-Off expire à l'issue de sa première utilisation. Un mandate récurrent "
-"expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 "
-"mois."
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA."
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,recurrent_sequence_type:0
-msgid ""
-"This field is only used for Recurrent mandates, not for One-Off mandates."
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Identifiant créancier SEPA invalide."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
msgstr ""
-"Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats "
-"One-Off."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
-#, python-format
-msgid "The date of signature of mandate '%s' is in the future !"
-msgstr "La date de signature du mandat '%s' est dans le futur !"
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Signature Date"
-msgstr "Date de signature"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Mandate Reference:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,charge_bearer:0
-#: field:banking.export.sdd.wizard,charge_bearer:0
-msgid "Charge Bearer"
-msgstr "Répartition des frais"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
+#, python-format
+msgid "Mandate update"
+msgstr "Mise-à-jour du mandat"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_id:0
-msgid "Partner"
-msgstr "Partenaire"
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Migré à SEPA"
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "First"
-msgstr "First"
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
+#, python-format
+msgid ""
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,signature_date:0
-msgid "Date of Signature of the Mandate"
-msgstr "Date de signature du mandat"
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Nombre de transactions"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
-msgid "Mandate Cancelled"
-msgstr "Mandat annulé"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "One-Off"
+msgstr "One-Off"
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
-msgid "Generated SEPA Direct Debit Files"
-msgstr "Fichiers de prélèvement SEPA générés"
+#: field:payment.mode,original_creditor_identifier:0
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Ancien Identifiant Créancier"
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,sepa_migrated:0
-msgid ""
-"If this field is not active, the mandate section of the next direct debit "
-"file that include this mandate will contain the 'Original Mandate "
-"Identification' and the 'Original Creditor Scheme Identification'. This is "
-"required in a few countries (Belgium for instance), but not in all "
-"countries. If this is not required in your country, you should keep this "
-"field always active."
-msgstr ""
-"Si cette option n'est pas activée, la section qui concerne le mandat dans le "
-"prochain fichier de prélèvement qui incluera ce mandat contiendra les champs "
-"'Original Mandate Identification' et 'Original Creditor Scheme "
-"Identification'. Ces champs sont requis dans certains pays (en Belgique "
-"notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis "
-"dans votre pays, vous devriez garder ce champ toujours actif."
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Ancien Identifiant du Mandat"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,company_id:0
-msgid "Company"
-msgstr "Société"
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Ancien mandat requis (SEPA)"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
-msgid "Export SEPA Direct Debit File"
-msgstr "Export du fichier de prélèvement SEPA"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
+msgid "Payment Mode"
+msgstr "Mode de paiement"
#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,batch_booking:0
-#: help:banking.export.sdd.wizard,batch_booking:0
-msgid ""
-"If true, the bank statement will display only one credit line for all the "
-"direct debits of the SEPA file ; if false, the bank statement will display "
-"one credit line per direct debit of the SEPA file."
-msgstr ""
-"Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit "
-"pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de "
-"banque fera apparaître une ligne de crédit pour chaque prélèvement du "
-"fichier SEPA."
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Ordres de paiement"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117
#, python-format
msgid ""
-"Cannot validate the mandate '%s' because it is not attached to a bank "
-"account."
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
+" 'pain.008.001.04'."
+msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Postal Code - City - Town:"
msgstr ""
-"Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte "
-"bancaire."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Draft"
-msgstr "Brouillon"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Recurrent"
+msgstr "Récurrent"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
-#, python-format
-msgid "Mandate update"
-msgstr "Mise-à-jour du mandat"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Recurring"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Shared"
-msgstr "Partagée"
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
+msgstr "Mandats SEPA"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,batch_booking:0
-#: field:banking.export.sdd.wizard,batch_booking:0
-msgid "Batch Booking"
-msgstr "Crédit groupé"
+#: field:payment.mode,sepa_creditor_identifier:0
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "Identifiant créancier SEPA"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,sepa_migrated:0
-msgid "Migrated to SEPA"
-msgstr "Migré à SEPA"
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
+msgstr "Mandats de prélèvement SEPA"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,state:0
-msgid "Status"
-msgstr "Statut"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
+msgstr "Génération de fichiers de prélèvement SEPA XML"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,total_amount:0
-#: field:banking.export.sdd.wizard,total_amount:0
-msgid "Total Amount"
-msgstr "Montant total"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
-msgid "SEPA Direct Debit Files"
-msgstr "Fichiers de prélèvement SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Business-To-Business Direct debit Mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Following Service Level"
-msgstr "Suivant le niveau de service"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Direct Debit Mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35
+#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate
#, python-format
-msgid ""
-"The mandate '%s' can't have a date of last debit before the date of "
-"signature."
+msgid "Sepa Mandate"
msgstr ""
-"Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la "
-"date de signature."
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-msgid "Sequence Type set to Final"
-msgstr "Type de Séquence mis à Final"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Sequence Type"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Is a Follower"
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Type de séquence pour le prochain prélèvement"
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,original_mandate_identification:0
-msgid ""
-"When the field 'Migrated to SEPA' is not active, this field will be used as "
-"the Original Mandate Identification in the Direct Debit file."
-msgstr ""
-"Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original "
-"Mandate Identification' dans le fichier de prélèvement."
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Type de Séquence mis à Final"
#. module: account_banking_sepa_direct_debit
-#: view:payment.order:0
-msgid "SDD Mandate"
-msgstr "Mandat de prélèvement"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Type de Séquence mis à First"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,original_mandate_identification:0
-msgid "Original Mandate Identification"
-msgstr "Ancien Identifiant du Mandat"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Type de séquence mis à Recurring"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
-msgid "Companies"
-msgstr "Sociétés"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Partagée"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_summary:0
-msgid "Summary"
-msgstr "Résumé"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Signature of the debtor:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
-msgid "Original Mandate Required (SEPA)"
-msgstr "Ancien mandat requis (SEPA)"
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "État"
#. module: account_banking_sepa_direct_debit
-#: field:account.invoice,sdd_mandate_id:0
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
-#: field:payment.line,sdd_mandate_id:0
-#: view:sdd.mandate:0
-msgid "SEPA Direct Debit Mandate"
-msgstr "Mandat de prélèvement SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Swift BIC (up to 8 or 11 characteres):"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166
#, python-format
msgid ""
-"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and "
-"Invoice ref '%s'."
-msgstr ""
-"Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour "
-"partenaire '%s' et pour référence de facture '%s'."
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
#, python-format
msgid ""
"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
"and it has a last debit date set to '%s', so we can't use it."
-msgstr ""
-"Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-"
-"Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable."
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,scan:0
-msgid "Scan of the Mandate"
-msgstr "Scan du mandat"
+msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable."
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,last_debit_date:0
-msgid "Date of the Last Debit"
-msgstr "Date du dernier prélèvement"
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
-msgid "Mandate Expired"
-msgstr "Mandat expiré"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "Le mandat récurrent '%s' doit avoir un type de séquence."
#. module: account_banking_sepa_direct_debit
-#: constraint:res.company:0
-msgid "Invalid SEPA Creditor Identifier."
-msgstr "Identifiant créancier SEPA invalide."
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'."
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
-msgid "Bank Accounts"
-msgstr "Comptes bancaires"
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off."
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer "
-"that gives you the autorization to do one or several direct debits on his "
-"bank account.\n"
-"
\n"
-" "
+"This mandate is only intended for business-to-business transactions.\n"
+" You are not entitled to a refund from your bank after your account has\n"
+" been debited, but you are entitled to request your bank\n"
+" not to debit your account up until the day on which the payment is due."
msgstr ""
-"
\n"
-" Cliquez pour créer un mandat de prélèvement SEPA.\n"
-"
\n"
-" Un mandat de prélèvement SEPA est un document signé par votre client "
-"qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur "
-"son compte bancaire.\n"
-"
\n"
-" "
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "General Information"
-msgstr "Informations générales"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Valid"
-msgstr "Valide"
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
-msgid "Invoice"
-msgstr "Facture"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the creditor"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Cancel"
-msgstr "Annuler"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the debtor"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: field:sdd.mandate,payment_line_ids:0
-msgid "Related Payment Lines"
-msgstr "Lignes de paiement associées"
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Montant total"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "Recurrent"
-msgstr "Récurrent"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
+msgstr "Type"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,type:0
+#: field:account.banking.mandate,type:0
msgid "Type of Mandate"
msgstr "Type de mandat"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
-msgid "Mandate Validated"
-msgstr "Mandat validé"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,file:0
-msgid "SEPA File"
-msgstr "Fichier SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: field:res.company,sepa_creditor_identifier:0
-msgid "SEPA Creditor Identifier"
-msgstr "Identifiant créancier SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
-msgid "SEPA Direct Debit export"
-msgstr "Export de prélèvement SEPA"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Type of payment:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Expired"
-msgstr "Expiré"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
+msgstr "Valider"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_bank_id:0
-msgid "Bank Account"
-msgstr "Compte bancaire"
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
#, python-format
msgid ""
"You must set the 'Original Mandate Identification' on the recurrent mandate "
"'%s' which is not marked as 'Migrated to SEPA'."
-msgstr ""
-"Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat "
-"récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'."
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-msgid "Sequence Type set to First"
-msgstr "Type de Séquence mis à First"
+msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
-#, python-format
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"As you changed the bank account attached to this mandate, the 'Sequence "
-"Type' has been set back to 'First'."
+"to send instructions to your bank to debit your account and (B) your bank to\n"
+" debit your account in accordance with the instructions from"
msgstr ""
-"Etant donné que vous avez changé le compte bancaire associé à ce mandat, le "
-"'Type de séquence' a été remis à 'First'."
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_ids:0
-msgid "Messages and communication history"
-msgstr "Messages and communication history"
-
-#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
-msgstr "Recherche dans les mandats de prélèvement SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
-msgstr "Fichier"
diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po
index 2c2ccc12fc4..8fb3b71df72 100644
--- a/account_banking_sepa_direct_debit/i18n/nl.po
+++ b/account_banking_sepa_direct_debit/i18n/nl.po
@@ -1,754 +1,589 @@
-# Dutch translation for banking-addons
-# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
-# This file is distributed under the same license as the banking-addons package.
-# FIRST AUTHOR , 2014.
-#
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+# Translators:
+# FIRST AUTHOR , 2014
msgid ""
msgstr ""
-"Project-Id-Version: banking-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2013-12-23 22:24+0000\n"
-"PO-Revision-Date: 2014-04-24 10:38+0000\n"
-"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n"
-"Language-Team: Dutch \n"
+"Project-Id-Version: bank-payment (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-04-08 00:46+0000\n"
+"PO-Revision-Date: 2016-04-07 16:04+0000\n"
+"Last-Translator: OCA Transbot \n"
+"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid
-msgid "SEPA Direct Debit Mandate Validated"
-msgstr "SEPA incasso machtiging bevestigd."
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid ""
+"
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n Klik voor het maken van een nieuwe SEPA incasso machtiging.\n
\n Een SEPA incasso machtiging is een document ondertekend door uw klant, welke u toestemming geeft om incasso's uit te voeren op zijn bankrekening.\n
\n "
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,filename:0
-#: field:banking.export.sdd.wizard,filename:0
-msgid "Filename"
-msgstr "Bestandsnaam"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200
-#, python-format
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
-"expired."
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
+"CREDITOR FOR STORAGE."
msgstr ""
-"De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219
-#, python-format
-msgid "Cannot validate the mandate '%s' without a date of signature."
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
msgstr ""
-"Het is niet mogelijk de machtiging '%s' te bevestigen zonder een datum van "
-"ondertekenen."
-
-#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Final"
-msgstr "Definitief"
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Finish"
-msgstr "Gereed"
#. module: account_banking_sepa_direct_debit
-#: view:res.partner:0
-#: view:res.partner.bank:0
-msgid "SDD Mandates"
-msgstr "SDD machteging"
-
-#. module: account_banking_sepa_direct_debit
-#: constraint:payment.line:0
-#: constraint:sdd.mandate:0
-msgid "Error msg in raise"
-msgstr "Fout bericht"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Account Number - IBAN:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Reconciled"
-msgstr "Afgeletterd"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address of the Debtor:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,recurrent_sequence_type:0
-msgid "Sequence Type for Next Debit"
-msgstr "Reeks soort voor volgende incasso"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Creditor"
-msgstr "Op rekening van schuldeiser"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"As part of your rights, you are entitled to a refund from\n"
+" your bank under the terms and conditions of your agreement\n"
+" with your bank.\n"
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu
-#: view:res.partner.bank:0
-#: field:res.partner.bank,sdd_mandate_ids:0
-msgid "SEPA Direct Debit Mandates"
-msgstr "SEPA incasso machtegingen"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
+#, python-format
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr "Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet naar 'Eerste'."
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Validate"
-msgstr "Bevestigen"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-msgid "Sequence Type set to Recurring"
-msgstr "Reeks soort ingesteld op herhalend"
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "Generate"
-msgstr "Genereer"
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Bach verwerking"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel
-msgid "SEPA Direct Debit Mandate Cancelled"
-msgstr "SEPA incasso machtegingen geannuleerd"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr "Op rekening van schuldeiser"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
#: selection:banking.export.sdd.wizard,charge_bearer:0
msgid "Borne by Debtor"
msgstr "Rekening van schuldenaar"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209
-#, python-format
-msgid "Error:"
-msgstr "Fout:"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "By signing this mandate form, you authorise (A)"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_ids:0
-msgid "Messages"
-msgstr "Berichten"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
+msgstr "Annuleer"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,unique_mandate_reference:0
-msgid "Unique Mandate Reference"
-msgstr "Unieke machtiging referentie"
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Kostenverdeling"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Cancelled"
-msgstr "Geannuleerd"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Bedrijven"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141
-#, python-format
-msgid ""
-"Payment Type Code '%s' is not supported. The only Payment Type Code "
-"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and "
-"'pain.008.001.04'."
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country of the debtor:"
msgstr ""
-"Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code "
-"ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en "
-"'pain.008.001.04'."
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen."
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file_id:0
-msgid "SDD File"
-msgstr "SDD bestand"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired
-msgid "SEPA Direct Debit Mandate has Expired"
-msgstr "SEPA Direct incasso machtiging is verlopen"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Aanmaken"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246
-#, python-format
-msgid ""
-"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
-"have its recurrent sequence type set to 'First'."
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
msgstr ""
-"Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd "
-"naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'."
#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,charge_bearer:0
-#: help:banking.export.sdd.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 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."
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
msgstr ""
-"Volg service level: Transactie kosten worden toegepast volgens de "
-"afgesproken regels in het service level en/of schema (Voor SEPA berichten "
-"deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn "
-"voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de "
-"schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn "
-"voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle "
-"transactie kosten zijn voor rekening van de schuldeiser."
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Reference"
-msgstr "Referentie"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Creditor's Name:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "SEPA Direct Debit"
-msgstr "SEPA Incasso (Direct Debit)"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Date - Location:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-msgid "SEPA Direct Debit XML file generation"
-msgstr "SEPA Incasso XML bestand aanmaken"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Debtor's Name:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_summary:0
+#: help:payment.mode,sepa_creditor_identifier:0
msgid ""
-"Holds the Chatter summary (number of messages, ...). This summary is "
-"directly in html format in order to be inserted in kanban views."
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
+"This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
msgstr ""
-"Bevat de samenvatting van de chatter (aantal berichten,...). Deze "
-"samenvatting is direct in html formaat om zo in de kanban weergave te worden "
-"ingevoegd."
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line
-msgid "Payment Line"
-msgstr "Betaalregel"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,create_date:0
-msgid "Generation Date"
-msgstr "Aangemaakt op"
+#: help:res.company,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr "Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit te voeren. De Incassant-ID is samengesteld uit:\n- uw ISO landcode (2 letters)\n- een 2 cijferig controlegetal\n- een 3 cijferig business code\n- een landspecifieke identifier"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396
-#, python-format
-msgid ""
-"The payment line with reference '%s' has the bank account '%s' which is not "
-"attached to the mandate '%s' (this mandate is attached to the bank account "
-"'%s')."
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
msgstr ""
-"De betaalregel met referentie '%s' heeft het bankrekeningnummer '%s' welke "
-"niet is gekoppeld aan de machtiging '%s' (deze machtiging is gekoppeld aan "
-"bankrekening '%s')."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Create"
-msgstr "Aanmaken"
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
+#, python-format
+msgid "Error"
+msgstr "Fout"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,nb_transactions:0
-#: field:banking.export.sdd.wizard,nb_transactions:0
-msgid "Number of Transactions"
-msgstr "Aantal transacties"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr "Exporteer SEPA incasso bestand"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "One-Off"
-msgstr "Eenmalig"
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Bestand"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,state:0
-#: field:banking.export.sdd.wizard,state:0
-msgid "State"
-msgstr "Status"
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Bestandsnaam"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240
-#, python-format
-msgid "The recurrent mandate '%s' must have a sequence type."
-msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben."
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr "Definitief"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_follower_ids:0
-msgid "Followers"
-msgstr "Volgers"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Gereed"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_unread:0
-msgid "Unread Messages"
-msgstr "Ongelezen berichten"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr "Eerste"
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-#: field:banking.export.sdd,payment_order_ids:0
-#: field:banking.export.sdd.wizard,payment_order_ids:0
-msgid "Payment Orders"
-msgstr "Betaalopdrachten"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Volg service level"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Type"
-msgstr "Soort"
+#: help:banking.export.sdd.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 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 "Volg service level: Transactie kosten worden toegepast volgens de afgesproken regels in het service level en/of schema (Voor SEPA berichten deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle transactie kosten zijn voor rekening van de schuldeiser."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Sent"
-msgstr "Verstuurd"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
+msgstr "Genereer"
#. module: account_banking_sepa_direct_debit
-#: field:res.company,original_creditor_identifier:0
-msgid "Original Creditor Identifier"
-msgstr "Originele Incassant-ID"
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "Recurring"
-msgstr "Terugkerend"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Identifier:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:res.company,sepa_creditor_identifier:0
+#: help:payment.mode,original_creditor_identifier:0
msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to "
-"make SEPA Direct Debits. This identifier is composed of :\n"
-"- your country ISO code (2 letters)\n"
-"- a 2-digits checkum\n"
-"- a 3-letters business code\n"
-"- a country-specific identifier"
+"If not defined, Original Creditor Identifier from company will be used."
msgstr ""
-"Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit "
-"te voeren. De Incassant-ID is samengesteld uit:\n"
-"- uw ISO landcode (2 letters)\n"
-"- een 2 cijferig controlegetal\n"
-"- een 3 cijferig business code\n"
-"- een landspecifieke identifier"
#. module: account_banking_sepa_direct_debit
-#: sql_constraint:sdd.mandate:0
-msgid "A Mandate with the same reference already exists for this company !"
-msgstr "Een machtiging met dezelfde referentie bestaat al vooR dit bedrijf!"
+#: help:account.banking.mandate,sepa_migrated:0
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr "Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt te houden."
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,state:0
+#: help:banking.export.sdd.wizard,batch_booking:0
msgid ""
-"Only valid mandates can be used in a payment line. A cancelled mandate is a "
-"mandate that has been cancelled by the customer. A one-off mandate expires "
-"after its first use. A recurrent mandate expires after it's final use or if "
-"it hasn't been used for 36 months."
-msgstr ""
-"Alleen geldige machtigingen kunnen worden gebruikt op betaalregels. Een "
-"geannuleerde machtiging is een machtiging welke is geannuleerd door de "
-"klant. Een eenmalige machtiging verloopt na eenmalig gebruik. Een herhalende "
-"machtiging verloopt na zijn laatste gebruik of als deze niet is gebruikt "
-"voor 36 maanden."
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr "Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor iedere incasso een credit regel weergegeven op het bankafschrift."
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,recurrent_sequence_type:0
-msgid ""
-"This field is only used for Recurrent mandates, not for One-Off mandates."
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
+msgstr "Ongeldige SEPA Incassant-ID."
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
msgstr ""
-"Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een "
-"eenmalige machtiging."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213
-#, python-format
-msgid "The date of signature of mandate '%s' is in the future !"
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
msgstr ""
-"De datum van de handtekening van de machtiging '%s' is in de toekomst!"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Signature Date"
-msgstr "Handtekening datum"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Mandate Reference:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,charge_bearer:0
-#: field:banking.export.sdd.wizard,charge_bearer:0
-msgid "Charge Bearer"
-msgstr "Kostenverdeling"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
+#, python-format
+msgid "Mandate update"
+msgstr "Machtiging bijwerken"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_id:0
-msgid "Partner"
-msgstr "Relatie"
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr "Gemigreerd naar SEPa"
#. module: account_banking_sepa_direct_debit
-#: selection:sdd.mandate,recurrent_sequence_type:0
-msgid "First"
-msgstr "Eerste"
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
+#, python-format
+msgid ""
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,signature_date:0
-msgid "Date of Signature of the Mandate"
-msgstr "Datum avn de handtekening van de machtiging"
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Aantal transacties"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
-msgid "Mandate Cancelled"
-msgstr "Machtiging geannuleerd"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "One-Off"
+msgstr "Eenmalig"
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
-msgid "Generated SEPA Direct Debit Files"
-msgstr "Genereerde SEPA incasso bestanden"
+#: field:payment.mode,original_creditor_identifier:0
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr "Originele Incassant-ID"
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,sepa_migrated:0
-msgid ""
-"If this field is not active, the mandate section of the next direct debit "
-"file that include this mandate will contain the 'Original Mandate "
-"Identification' and the 'Original Creditor Scheme Identification'. This is "
-"required in a few countries (Belgium for instance), but not in all "
-"countries. If this is not required in your country, you should keep this "
-"field always active."
-msgstr ""
-"Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso "
-"bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' "
-"en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in "
-"een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. "
-"Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt "
-"te houden."
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Originele machtiging indificatie"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,company_id:0
-msgid "Company"
-msgstr "Bedijf"
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr "Originele machtiging benodigd (SEPA)"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
-msgid "Export SEPA Direct Debit File"
-msgstr "Exporteer SEPA incasso bestand"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
+msgid "Payment Mode"
+msgstr "Betaalwijze"
#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,batch_booking:0
-#: help:banking.export.sdd.wizard,batch_booking:0
-msgid ""
-"If true, the bank statement will display only one credit line for all the "
-"direct debits of the SEPA file ; if false, the bank statement will display "
-"one credit line per direct debit of the SEPA file."
-msgstr ""
-"Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven "
-"voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor "
-"iedere incasso een credit regel weergegeven op het bankafschrift."
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Betaalopdrachten"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117
#, python-format
msgid ""
-"Cannot validate the mandate '%s' because it is not attached to a bank "
-"account."
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
+" 'pain.008.001.04'."
+msgstr "Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en 'pain.008.001.04'."
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Postal Code - City - Town:"
msgstr ""
-"Kan de machtiging '%s' niet bevestigen omdat deze niet is gekoppeld aan een "
-"bankrekening."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Draft"
-msgstr "Concept"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Recurrent"
+msgstr "Terugkerend"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
-#, python-format
-msgid "Mandate update"
-msgstr "Machtiging bijwerken"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Terugkerend"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Shared"
-msgstr "Gedeeld"
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
+msgstr "SDD machteging"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,batch_booking:0
-#: field:banking.export.sdd.wizard,batch_booking:0
-msgid "Batch Booking"
-msgstr "Bach verwerking"
+#: field:payment.mode,sepa_creditor_identifier:0
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr "SEPA Incassant-ID"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,sepa_migrated:0
-msgid "Migrated to SEPA"
-msgstr "Gemigreerd naar SEPa"
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
+msgstr "SEPA incasso machtegingen"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,state:0
-msgid "Status"
-msgstr "Status"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
+msgstr "SEPA Incasso XML bestand aanmaken"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,total_amount:0
-#: field:banking.export.sdd.wizard,total_amount:0
-msgid "Total Amount"
-msgstr "Totaalbedrag"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
-msgid "SEPA Direct Debit Files"
-msgstr "SEPA incasso bestanden"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Business-To-Business Direct debit Mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Following Service Level"
-msgstr "Volg service level"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Direct Debit Mandate"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35
+#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate
#, python-format
-msgid ""
-"The mandate '%s' can't have a date of last debit before the date of "
-"signature."
+msgid "Sepa Mandate"
msgstr ""
-"De machtiging '%s' kan geen datum van laatste incasso hebben die eerder is "
-"dan de datum van ondertekening."
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-msgid "Sequence Type set to Final"
-msgstr "Reeks soort ingesteld op definitief"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Sequence Type"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Is een volger"
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr "Reeks soort voor volgende incasso"
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,original_mandate_identification:0
-msgid ""
-"When the field 'Migrated to SEPA' is not active, this field will be used as "
-"the Original Mandate Identification in the Direct Debit file."
-msgstr ""
-"Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden "
-"gebruikt als de originele machtiging identificatie in het incasso bestand."
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr "Reeks soort ingesteld op definitief"
#. module: account_banking_sepa_direct_debit
-#: view:payment.order:0
-msgid "SDD Mandate"
-msgstr "SDD machtiging"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr "Reeks ingesteld op eerste"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,original_mandate_identification:0
-msgid "Original Mandate Identification"
-msgstr "Originele machtiging indificatie"
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr "Reeks soort ingesteld op herhalend"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
-msgid "Companies"
-msgstr "Bedrijven"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Gedeeld"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,message_summary:0
-msgid "Summary"
-msgstr "Samenvatting"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Signature of the debtor:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
-msgid "Original Mandate Required (SEPA)"
-msgstr "Originele machtiging benodigd (SEPA)"
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr "Status"
#. module: account_banking_sepa_direct_debit
-#: field:account.invoice,sdd_mandate_id:0
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate
-#: field:payment.line,sdd_mandate_id:0
-#: view:sdd.mandate:0
-msgid "SEPA Direct Debit Mandate"
-msgstr "SEPA incasso machtiging"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Swift BIC (up to 8 or 11 characteres):"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166
#, python-format
msgid ""
-"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and "
-"Invoice ref '%s'."
-msgstr ""
-"Ontbrekende SEPA incasso machtiging op de betaalregel met relatie '%s' en "
-"factuur referentie '%s'."
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr "De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
#, python-format
msgid ""
"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
"and it has a last debit date set to '%s', so we can't use it."
-msgstr ""
-"De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en "
-"de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet "
-"gebruiken."
-
-#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,scan:0
-msgid "Scan of the Mandate"
-msgstr "Scan van de machteging"
+msgstr "De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet gebruiken."
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,last_debit_date:0
-msgid "Date of the Last Debit"
-msgstr "Datum van laatste incasso"
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired
-msgid "Mandate Expired"
-msgstr "Machtiging verlopen"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben."
#. module: account_banking_sepa_direct_debit
-#: constraint:res.company:0
-msgid "Invalid SEPA Creditor Identifier."
-msgstr "Ongeldige SEPA Incassant-ID."
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr "Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'."
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank
-msgid "Bank Accounts"
-msgstr "Bankrekeningen"
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr "Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een eenmalige machtiging."
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer "
-"that gives you the autorization to do one or several direct debits on his "
-"bank account.\n"
-"
\n"
-" "
+"This mandate is only intended for business-to-business transactions.\n"
+" You are not entitled to a refund from your bank after your account has\n"
+" been debited, but you are entitled to request your bank\n"
+" not to debit your account up until the day on which the payment is due."
msgstr ""
-"
\n"
-" Klik voor het maken van een nieuwe SEPA incasso machtiging.\n"
-"
\n"
-" Een SEPA incasso machtiging is een document ondertekend door uw "
-"klant, welke u toestemming geeft om incasso's uit te voeren op zijn "
-"bankrekening.\n"
-"
\n"
-" "
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:0
-msgid "General Information"
-msgstr "Algemene informatie"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Valid"
-msgstr "Geldig"
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice
-msgid "Invoice"
-msgstr "Factuur"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the creditor"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:0
-#: view:sdd.mandate:0
-msgid "Cancel"
-msgstr "Annuleer"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the debtor"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: field:sdd.mandate,payment_line_ids:0
-msgid "Related Payment Lines"
-msgstr "Gerelateerde betaalregels"
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Totaalbedrag"
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,type:0
-msgid "Recurrent"
-msgstr "Terugkerend"
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
+msgstr "Soort"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,type:0
+#: field:account.banking.mandate,type:0
msgid "Type of Mandate"
msgstr "Soort machtiging"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid
-msgid "Mandate Validated"
-msgstr "Machtiging bevestigd"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,file:0
-msgid "SEPA File"
-msgstr "SEPA bestand"
-
-#. module: account_banking_sepa_direct_debit
-#: field:res.company,sepa_creditor_identifier:0
-msgid "SEPA Creditor Identifier"
-msgstr "SEPA Incassant-ID"
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
-msgid "SEPA Direct Debit export"
-msgstr "SEPA incasso export"
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Type of payment:"
+msgstr ""
#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Expired"
-msgstr "Verlopen"
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
+msgstr "Bevestigen"
#. module: account_banking_sepa_direct_debit
-#: field:sdd.mandate,partner_bank_id:0
-msgid "Bank Account"
-msgstr "Bankrekening"
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr "Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden gebruikt als de originele machtiging identificatie in het incasso bestand."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
#, python-format
msgid ""
"You must set the 'Original Mandate Identification' on the recurrent mandate "
"'%s' which is not marked as 'Migrated to SEPA'."
-msgstr ""
-"U dient de 'Originele machtiging identificatie' in te stellen op de "
-"herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar "
-"SEPA'"
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-msgid "Sequence Type set to First"
-msgstr "Reeks ingesteld op eerste"
+msgstr "U dient de 'Originele machtiging identificatie' in te stellen op de herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar SEPA'"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291
-#, python-format
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
msgid ""
-"As you changed the bank account attached to this mandate, the 'Sequence "
-"Type' has been set back to 'First'."
+"to send instructions to your bank to debit your account and (B) your bank to\n"
+" debit your account in accordance with the instructions from"
msgstr ""
-"Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet "
-"naar 'Eerste'."
-
-#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_ids:0
-msgid "Messages and communication history"
-msgstr "Berichten en communicatie historie"
-
-#. module: account_banking_sepa_direct_debit
-#: view:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
-msgstr "Zoek SEPA incasso machtigingen"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
-msgstr "Bestand"
diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po
new file mode 100644
index 00000000000..44b0048874e
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po
@@ -0,0 +1,588 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-payment (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-04-08 00:46+0000\n"
+"PO-Revision-Date: 2016-04-07 16:04+0000\n"
+"Last-Translator: danimaribeiro \n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid ""
+"
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr "Uma ordem bancária genérica"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
+"CREDITOR FOR STORAGE."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Account Number - IBAN:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address of the Debtor:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"As part of your rights, you are entitled to a refund from\n"
+" your bank under the terms and conditions of your agreement\n"
+" with your bank.\n"
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
+#, python-format
+msgid ""
+"As you changed the bank account attached to this mandate, the 'Sequence "
+"Type' has been set back to 'First'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+msgstr "Linhas de pagamento bancária"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Creditor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "By signing this mandate form, you authorise (A)"
+msgstr "Assinando este formulário de Ordem, você autoriza (A)"
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Empresas"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country of the debtor:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Create"
+msgstr "Criar"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,create_uid:0
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,create_date:0
+msgid "Created on"
+msgstr "Criado em"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Creditor's Name:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Date - Location:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Debtor's Name:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:payment.mode,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
+"This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:res.company,sepa_creditor_identifier:0
+msgid ""
+"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+"- your country ISO code (2 letters)\n"
+"- a 2-digits checkum\n"
+"- a 3-letters business code\n"
+"- a country-specific identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
+#, python-format
+msgid "Error"
+msgstr "Erro"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
+msgid "Export SEPA Direct Debit File"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Arquivo"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
+msgstr "Nome do arquivo"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
+msgstr "Finalizar"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd.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 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 ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Generate"
+msgstr "Gerar"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr "ID"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Identifier:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:payment.mode,original_creditor_identifier:0
+msgid ""
+"If not defined, Original Creditor Identifier from company will be used."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,sepa_migrated:0
+msgid ""
+"If this field is not active, the mandate section of the next direct debit "
+"file that include this mandate will contain the 'Original Mandate "
+"Identification' and the 'Original Creditor Scheme Identification'. This is "
+"required in a few countries (Belgium for instance), but not in all "
+"countries. If this is not required in your country, you should keep this "
+"field always active."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:banking.export.sdd.wizard,batch_booking:0
+msgid ""
+"If true, the bank statement will display only one credit line for all the "
+"direct debits of the SEPA file ; if false, the bank statement will display "
+"one credit line per direct debit of the SEPA file."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
+#, python-format
+msgid "Invalid SEPA Creditor Identifier."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_uid:0
+msgid "Last Updated by"
+msgstr "Última Atualização por"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,write_date:0
+msgid "Last Updated on"
+msgstr "Última Atualização em"
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Mandate Reference:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
+#, python-format
+msgid "Mandate update"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,sepa_migrated:0
+msgid "Migrated to SEPA"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
+#, python-format
+msgid ""
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "One-Off"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:payment.mode,original_creditor_identifier:0
+#: field:res.company,original_creditor_identifier:0
+msgid "Original Creditor Identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
+msgid "Original Mandate Required (SEPA)"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
+msgid "Payment Mode"
+msgstr "Modo de Pagamento"
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,payment_order_ids:0
+msgid "Payment Orders"
+msgstr "Ordens de Pagamento"
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117
+#, python-format
+msgid ""
+"Payment Type Code '%s' is not supported. The only Payment Type Code "
+"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
+" 'pain.008.001.04'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Postal Code - City - Town:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: selection:account.banking.mandate,type:0
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Recurrent"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
+#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
+msgid "SDD Mandates"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:payment.mode,sepa_creditor_identifier:0
+#: field:res.company,sepa_creditor_identifier:0
+msgid "SEPA Creditor Identifier"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
+msgid "SEPA Direct Debit Mandates"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "SEPA Direct Debit XML file generation"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: field:account.banking.mandate,scheme:0
+msgid "Scheme"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Business-To-Business Direct debit Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Direct Debit Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35
+#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate
+#, python-format
+msgid "Sepa Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Sequence Type"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,recurrent_sequence_type:0
+msgid "Sequence Type for Next Debit"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
+msgid "Sequence Type set to Final"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
+msgid "Sequence Type set to First"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
+msgid "Sequence Type set to Recurring"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Signature of the debtor:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Swift BIC (up to 8 or 11 characteres):"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166
+#, python-format
+msgid ""
+"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
+"expired."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
+#, python-format
+msgid ""
+"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
+"and it has a last debit date set to '%s', so we can't use it."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#, python-format
+msgid "The recurrent mandate '%s' must have a sequence type."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
+#, python-format
+msgid ""
+"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
+"have its recurrent sequence type set to 'First'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,recurrent_sequence_type:0
+msgid ""
+"This field is only used for Recurrent mandates, not for One-Off mandates."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"This mandate is only intended for business-to-business transactions.\n"
+" You are not entitled to a refund from your bank after your account has\n"
+" been debited, but you are entitled to request your bank\n"
+" not to debit your account up until the day on which the payment is due."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the creditor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the debtor"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Valor total"
+
+#. module: account_banking_sepa_direct_debit
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
+#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+msgid "Type"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,type:0
+msgid "Type of Mandate"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Type of payment:"
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
+msgid "Validate"
+msgstr "Validar"
+
+#. module: account_banking_sepa_direct_debit
+#: help:account.banking.mandate,original_mandate_identification:0
+msgid ""
+"When the field 'Migrated to SEPA' is not active, this field will be used as "
+"the Original Mandate Identification in the Direct Debit file."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
+#, python-format
+msgid ""
+"You must set the 'Original Mandate Identification' on the recurrent mandate "
+"'%s' which is not marked as 'Migrated to SEPA'."
+msgstr ""
+
+#. module: account_banking_sepa_direct_debit
+#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid ""
+"to send instructions to your bank to debit your account and (B) your bank to\n"
+" debit your account in accordance with the instructions from"
+msgstr ""
diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po
new file mode 100644
index 00000000000..4ce7d321a3d
--- /dev/null
+++ b/account_banking_sepa_direct_debit/i18n/sl.po
@@ -0,0 +1,589 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_banking_sepa_direct_debit
+#
+# Translators:
+# Matjaž Mozetič , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-payment (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-04-18 10:57+0000\n"
+"PO-Revision-Date: 2016-04-22 06:53+0000\n"
+"Last-Translator: Matjaž Mozetič \n"
+"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
+msgid ""
+"
\n"
+" Click to create a new SEPA Direct Debit Mandate.\n"
+"
\n"
+" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
+"
\n"
+" "
+msgstr "
\n Ustvari nov SEPA mandat za direktno bremenitev.\n
\n SEPA mandat za direktno bremenitev je s strani kupca podpisan dokument, ki vas pooblašča za izvajanje ene ali več bremenitev njegovega bančnega računa.\n
- Click to create a new SEPA Direct Debit Mandate.
-
- A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.
-
-
-
-
-
-
-
- sdd.mandate.res.partner.bank.tree
- res.partner.bank
-
-
-
- SDD Mandates
-
-
-
-
-
- sdd.mandate.partner.form
- res.partner
-
-
-
- SDD Mandates
-
-
-
-
-
- Sequence Type set to First
- account.banking.mandate
-
- Sequence Type set to First
-
-
-
- Sequence Type set to Recurring
- account.banking.mandate
-
- Sequence Type set to Recurring
-
-
-
- Sequence Type set to Final
- account.banking.mandate
-
- Sequence Type set to Final
-
-
diff --git a/account_banking_sepa_direct_debit/views/account_payment_mode.xml b/account_banking_sepa_direct_debit/views/account_payment_mode.xml
new file mode 100644
index 00000000000..23eca685f2f
--- /dev/null
+++ b/account_banking_sepa_direct_debit/views/account_payment_mode.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ Add SEPA identifiers on payment mode form
+ account.payment.mode
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/views/payment_mode_view.xml b/account_banking_sepa_direct_debit/views/payment_mode_view.xml
deleted file mode 100644
index 9bba891d6b8..00000000000
--- a/account_banking_sepa_direct_debit/views/payment_mode_view.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
- Add SEPA identifiers
- payment.mode
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
index eb850815b02..c71a2083b4d 100644
--- a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
+++ b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
@@ -3,6 +3,8 @@
+
+
-
+
-
Sepa Direct Debit Mandate
-
Sepa Business-To-Business Direct debit Mandate
+
Sepa Direct Debit Mandate
+
Sepa Business-To-Business Direct debit Mandate
@@ -32,38 +34,38 @@
To be completed by the creditor
-
Mandate Reference:
-
Identifier:
-
Creditor's Name:
-
Address:
+
Mandate Reference:
+
Identifier:
+
Creditor's Name:
+
Address:
Postal Code - City - Town:
- -
- -
-
+ -
+ -
+
-
Country:
+
Country:
-
By signing this mandate form, you authorise (A)
+
By signing this mandate form, you authorise (A)
to send instructions to your bank to debit your account and (B) your bank to
- debit your account in accordance with the instructions from .
+ debit your account in accordance with the instructions from .
-
+
This mandate is only intended for business-to-business transactions.
You are not entitled to a refund from your bank after your account has
been debited, but you are entitled to request your bank
not to debit your account up until the day on which the payment is due.
-
+
As part of your rights, you are entitled to a refund from
your bank under the terms and conditions of your agreement
with your bank.
@@ -76,21 +78,21 @@
To be completed by the debtor
-
Debtor's Name:
-
Address of the Debtor:
+
Debtor's Name:
+
Address of the Debtor:
Postal Code - City - Town:
- -
- -
-
+ -
+ -
+
-
Country of the debtor:
-
Swift BIC (up to 8 or 11 characteres):
-
Account Number - IBAN:
+
Country of the debtor:
+
Swift BIC (up to 8 or 11 characteres):
+
Account Number - IBAN:
Type of payment:
- Recurrent
- One-Off
+ Recurrent
+ One-Off
Date - Location:
@@ -102,19 +104,20 @@
-
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
-
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.
THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK.
+
+
+
+
+
diff --git a/account_banking_sepa_direct_debit/wizard/__init__.py b/account_banking_sepa_direct_debit/wizard/__init__.py
deleted file mode 100644
index 3830e36d9d0..00000000000
--- a/account_banking_sepa_direct_debit/wizard/__init__.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# SEPA Direct Debit module for OpenERP
-# Copyright (C) 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 export_sdd
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py
deleted file mode 100644
index 9b4022d4646..00000000000
--- a/account_banking_sepa_direct_debit/wizard/export_sdd.py
+++ /dev/null
@@ -1,394 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# SEPA Direct Debit module for Odoo
-# Copyright (C) 2013-2015 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.exceptions import Warning
-from openerp import workflow
-from lxml import etree
-
-
-class BankingExportSddWizard(models.TransientModel):
- _name = 'banking.export.sdd.wizard'
- _inherit = ['banking.export.pain']
- _description = 'Export SEPA Direct Debit File'
-
- state = fields.Selection([
- ('create', 'Create'),
- ('finish', 'Finish'),
- ], string='State', readonly=True, default='create')
- batch_booking = fields.Boolean(
- string='Batch Booking',
- help="If true, the bank statement will display only one credit "
- "line for all the direct debits of the SEPA file ; if false, "
- "the bank statement will display one credit line per direct "
- "debit of the SEPA file.")
- charge_bearer = fields.Selection([
- ('SLEV', 'Following Service Level'),
- ('SHAR', 'Shared'),
- ('CRED', 'Borne by Creditor'),
- ('DEBT', 'Borne by Debtor'),
- ], string='Charge Bearer', required=True, default='SLEV',
- 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.")
- nb_transactions = fields.Integer(
- string='Number of Transactions', readonly=True)
- total_amount = fields.Float(string='Total Amount', readonly=True)
- file = fields.Binary(string="File", readonly=True)
- filename = fields.Char(string="Filename", readonly=True)
- payment_order_ids = fields.Many2many(
- 'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id',
- 'payment_order_id', string='Payment Orders', readonly=True)
-
- @api.model
- def create(self, vals):
- payment_order_ids = self._context.get('active_ids', [])
- vals.update({
- 'payment_order_ids': [[6, 0, payment_order_ids]],
- })
- return super(BankingExportSddWizard, self).create(vals)
-
- def _get_previous_bank(self, payline):
- previous_bank = False
- older_lines = self.env['payment.line'].search([
- ('mandate_id', '=', payline.mandate_id.id),
- ('bank_id', '!=', payline.bank_id.id)])
- if older_lines:
- previous_date = False
- previous_payline = False
- for older_line in older_lines:
- if hasattr(older_line.order_id, 'date_sent'):
- older_line_date = older_line.order_id.date_sent
- else:
- older_line_date = older_line.order_id.date_done
- if (older_line_date and
- older_line_date > previous_date):
- previous_date = older_line_date
- previous_payline = older_line
- if previous_payline:
- previous_bank = previous_payline.bank_id
- return previous_bank
-
- @api.multi
- def create_sepa(self):
- """Creates the SEPA Direct Debit file. That's the important code !"""
- pain_flavor = self.payment_order_ids[0].mode.type.code
- convert_to_ascii = \
- self.payment_order_ids[0].mode.convert_to_ascii
- if pain_flavor == 'pain.008.001.02':
- bic_xml_tag = 'BIC'
- name_maxsize = 70
- root_xml_tag = 'CstmrDrctDbtInitn'
- elif pain_flavor == 'pain.008.001.03':
- bic_xml_tag = 'BICFI'
- name_maxsize = 140
- root_xml_tag = 'CstmrDrctDbtInitn'
- elif pain_flavor == 'pain.008.001.04':
- bic_xml_tag = 'BICFI'
- name_maxsize = 140
- root_xml_tag = 'CstmrDrctDbtInitn'
- else:
- raise Warning(
- _("Payment Type Code '%s' is not supported. The only "
- "Payment Type Code supported for SEPA Direct Debit are "
- "'pain.008.001.02', 'pain.008.001.03' and "
- "'pain.008.001.04'.") % pain_flavor)
- gen_args = {
- 'bic_xml_tag': bic_xml_tag,
- 'name_maxsize': name_maxsize,
- 'convert_to_ascii': convert_to_ascii,
- 'payment_method': 'DD',
- 'file_prefix': 'sdd_',
- 'pain_flavor': pain_flavor,
- 'pain_xsd_file':
- 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor,
- }
- pain_ns = {
- 'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
- None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
- }
- xml_root = etree.Element('Document', nsmap=pain_ns)
- pain_root = etree.SubElement(xml_root, root_xml_tag)
- # A. Group header
- group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \
- self.generate_group_header_block(pain_root, gen_args)
- transactions_count_1_6 = 0
- total_amount = 0.0
- amount_control_sum_1_7 = 0.0
- lines_per_group = {}
- # key = (requested_date, priority, sequence type)
- # value = list of lines as objects
- # Iterate on payment orders
- for payment_order in self.payment_order_ids:
- total_amount = total_amount + payment_order.total
- # Iterate each payment lines
- for line in payment_order.bank_line_ids:
- transactions_count_1_6 += 1
- priority = line.priority
- # The field line.date is the requested payment date
- # taking into account the 'date_prefered' setting
- # cf account_banking_payment_export/models/account_payment.py
- # in the inherit of action_open()
- if not line.mandate_id:
- raise Warning(
- _("Missing SEPA Direct Debit mandate on the "
- "bank payment line with partner '%s' "
- "(reference '%s').")
- % (line.partner_id.name, line.name))
- scheme = line.mandate_id.scheme
- if line.mandate_id.state != 'valid':
- raise Warning(
- _("The SEPA Direct Debit mandate with reference '%s' "
- "for partner '%s' has expired.")
- % (line.mandate_id.unique_mandate_reference,
- line.mandate_id.partner_id.name))
- if line.mandate_id.type == 'oneoff':
- seq_type = 'OOFF'
- if line.mandate_id.last_debit_date:
- raise Warning(
- _("The mandate with reference '%s' for partner "
- "'%s' has type set to 'One-Off' and it has a "
- "last debit date set to '%s', so we can't use "
- "it.")
- % (line.mandate_id.unique_mandate_reference,
- line.mandate_id.partner_id.name,
- line.mandate_id.last_debit_date))
- elif line.mandate_id.type == 'recurrent':
- seq_type_map = {
- 'recurring': 'RCUR',
- 'first': 'FRST',
- 'final': 'FNAL',
- }
- seq_type_label = \
- line.mandate_id.recurrent_sequence_type
- assert seq_type_label is not False
- seq_type = seq_type_map[seq_type_label]
- key = (line.date, priority, seq_type, scheme)
- if key in lines_per_group:
- lines_per_group[key].append(line)
- else:
- lines_per_group[key] = [line]
-
- for (requested_date, priority, sequence_type, scheme), lines in \
- lines_per_group.items():
- # B. Payment info
- payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \
- self.generate_start_payment_info_block(
- pain_root,
- "self.payment_order_ids[0].reference + '-' + "
- "sequence_type + '-' + requested_date.replace('-', '') "
- "+ '-' + priority",
- priority, scheme, sequence_type, requested_date, {
- 'self': self,
- 'sequence_type': sequence_type,
- 'priority': priority,
- 'requested_date': requested_date,
- }, gen_args)
-
- self.generate_party_block(
- payment_info_2_0, 'Cdtr', 'B',
- 'self.payment_order_ids[0].mode.bank_id.partner_id.'
- 'name',
- 'self.payment_order_ids[0].mode.bank_id.acc_number',
- 'self.payment_order_ids[0].mode.bank_id.bank.bic or '
- 'self.payment_order_ids[0].mode.bank_id.bank_bic',
- {'self': self}, gen_args)
- charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr')
- charge_bearer_2_24.text = self.charge_bearer
- creditor_scheme_identification_2_27 = etree.SubElement(
- payment_info_2_0, 'CdtrSchmeId')
- self.generate_creditor_scheme_identification(
- creditor_scheme_identification_2_27,
- 'self.payment_order_ids[0].mode.'
- 'sepa_creditor_identifier or '
- 'self.payment_order_ids[0].company_id.'
- 'sepa_creditor_identifier',
- 'SEPA Creditor Identifier', {'self': self}, 'SEPA', gen_args)
- transactions_count_2_4 = 0
- amount_control_sum_2_5 = 0.0
- for line in lines:
- transactions_count_2_4 += 1
- # C. Direct Debit Transaction Info
- dd_transaction_info_2_28 = etree.SubElement(
- payment_info_2_0, 'DrctDbtTxInf')
- payment_identification_2_29 = etree.SubElement(
- dd_transaction_info_2_28, 'PmtId')
- end2end_identification_2_31 = etree.SubElement(
- payment_identification_2_29, 'EndToEndId')
- end2end_identification_2_31.text = self._prepare_field(
- 'End to End Identification', 'line.name',
- {'line': line}, 35, gen_args=gen_args)
- currency_name = self._prepare_field(
- 'Currency Code', 'line.currency.name',
- {'line': line}, 3, gen_args=gen_args)
- instructed_amount_2_44 = etree.SubElement(
- dd_transaction_info_2_28, 'InstdAmt', Ccy=currency_name)
- instructed_amount_2_44.text = '%.2f' % line.amount_currency
- amount_control_sum_1_7 += line.amount_currency
- amount_control_sum_2_5 += line.amount_currency
- dd_transaction_2_46 = etree.SubElement(
- dd_transaction_info_2_28, 'DrctDbtTx')
- mandate_related_info_2_47 = etree.SubElement(
- dd_transaction_2_46, 'MndtRltdInf')
- mandate_identification_2_48 = etree.SubElement(
- mandate_related_info_2_47, 'MndtId')
- mandate_identification_2_48.text = self._prepare_field(
- 'Unique Mandate Reference',
- 'line.mandate_id.unique_mandate_reference',
- {'line': line}, 35, gen_args=gen_args)
- mandate_signature_date_2_49 = etree.SubElement(
- mandate_related_info_2_47, 'DtOfSgntr')
- mandate_signature_date_2_49.text = self._prepare_field(
- 'Mandate Signature Date',
- 'line.mandate_id.signature_date',
- {'line': line}, 10, gen_args=gen_args)
- if sequence_type == 'FRST' and (
- line.mandate_id.last_debit_date or
- not line.mandate_id.sepa_migrated):
- previous_bank = self._get_previous_bank(line)
- if previous_bank or not line.mandate_id.sepa_migrated:
- amendment_indicator_2_50 = etree.SubElement(
- mandate_related_info_2_47, 'AmdmntInd')
- amendment_indicator_2_50.text = 'true'
- amendment_info_details_2_51 = etree.SubElement(
- mandate_related_info_2_47, 'AmdmntInfDtls')
- if previous_bank:
- if (previous_bank.bank.bic or
- previous_bank.bank_bic) == \
- (line.bank_id.bank.bic or
- line.bank_id.bank_bic):
- ori_debtor_account_2_57 = etree.SubElement(
- amendment_info_details_2_51, 'OrgnlDbtrAcct')
- ori_debtor_account_id = etree.SubElement(
- ori_debtor_account_2_57, 'Id')
- ori_debtor_account_iban = etree.SubElement(
- ori_debtor_account_id, 'IBAN')
- ori_debtor_account_iban.text = self._validate_iban(
- self._prepare_field(
- 'Original Debtor Account',
- 'previous_bank.acc_number',
- {'previous_bank': previous_bank},
- gen_args=gen_args))
- else:
- ori_debtor_agent_2_58 = etree.SubElement(
- amendment_info_details_2_51, 'OrgnlDbtrAgt')
- ori_debtor_agent_institution = etree.SubElement(
- ori_debtor_agent_2_58, 'FinInstnId')
- ori_debtor_agent_bic = etree.SubElement(
- ori_debtor_agent_institution, bic_xml_tag)
- ori_debtor_agent_bic.text = self._prepare_field(
- 'Original Debtor Agent',
- 'previous_bank.bank.bic or '
- 'previous_bank.bank_bic',
- {'previous_bank': previous_bank},
- gen_args=gen_args)
- ori_debtor_agent_other = etree.SubElement(
- ori_debtor_agent_institution, 'Othr')
- ori_debtor_agent_other_id = etree.SubElement(
- ori_debtor_agent_other, 'Id')
- ori_debtor_agent_other_id.text = 'SMNDA'
- # SMNDA = Same Mandate New Debtor Agent
- elif not line.mandate_id.sepa_migrated:
- ori_mandate_identification_2_52 = etree.SubElement(
- amendment_info_details_2_51, 'OrgnlMndtId')
- ori_mandate_identification_2_52.text = \
- self._prepare_field(
- 'Original Mandate Identification',
- 'line.mandate_id.'
- 'original_mandate_identification',
- {'line': line},
- gen_args=gen_args)
- ori_creditor_scheme_id_2_53 = etree.SubElement(
- amendment_info_details_2_51, 'OrgnlCdtrSchmeId')
- self.generate_creditor_scheme_identification(
- ori_creditor_scheme_id_2_53,
- 'self.payment_order_ids[0].mode.'
- 'original_creditor_identifier or '
- 'self.payment_order_ids[0].company_id.'
- 'original_creditor_identifier',
- 'Original Creditor Identifier',
- {'self': self}, 'SEPA', gen_args)
-
- self.generate_party_block(
- dd_transaction_info_2_28, 'Dbtr', 'C',
- 'line.partner_id.name',
- 'line.bank_id.acc_number',
- 'line.bank_id.bank.bic or '
- 'line.bank_id.bank_bic',
- {'line': line}, gen_args)
-
- self.generate_remittance_info_block(
- dd_transaction_info_2_28, line, gen_args)
-
- nb_of_transactions_2_4.text = unicode(transactions_count_2_4)
- control_sum_2_5.text = '%.2f' % amount_control_sum_2_5
- nb_of_transactions_1_6.text = unicode(transactions_count_1_6)
- control_sum_1_7.text = '%.2f' % amount_control_sum_1_7
-
- return self.finalize_sepa_file_creation(
- xml_root, total_amount, transactions_count_1_6, gen_args)
-
- @api.multi
- def save_sepa(self):
- """Save the SEPA Direct Debit file: mark all payments in the file
- as 'sent'. Write 'last debit date' on mandate and set oneoff
- mandate to expired.
- """
- abmo = self.env['account.banking.mandate']
- for order in self.payment_order_ids:
- workflow.trg_validate(
- self._uid, 'payment.order', order.id, 'done', self._cr)
- self.env['ir.attachment'].create({
- 'res_model': 'payment.order',
- 'res_id': order.id,
- 'name': self.filename,
- 'datas': self.file,
- })
- to_expire_mandates = abmo.browse([])
- first_mandates = abmo.browse([])
- all_mandates = abmo.browse([])
- for bline in order.bank_line_ids:
- if bline.mandate_id in all_mandates:
- continue
- all_mandates += bline.mandate_id
- if bline.mandate_id.type == 'oneoff':
- to_expire_mandates += bline.mandate_id
- elif bline.mandate_id.type == 'recurrent':
- seq_type = bline.mandate_id.recurrent_sequence_type
- if seq_type == 'final':
- to_expire_mandates += bline.mandate_id
- elif seq_type == 'first':
- first_mandates += bline.mandate_id
- all_mandates.write(
- {'last_debit_date': fields.Date.context_today(self)})
- to_expire_mandates.write({'state': 'expired'})
- first_mandates.write({
- 'recurrent_sequence_type': 'recurring',
- 'sepa_migrated': True,
- })
- return True
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml
deleted file mode 100644
index 95117e27094..00000000000
--- a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
- banking.export.sdd.wizard.view
- banking.export.sdd.wizard
-
-
-
-
-
-
-
From d01708e96e837460220eccc7d9a1596b9b6f0954 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Fri, 1 Jul 2016 21:01:13 +0200
Subject: [PATCH 19/83] [FIX+IMP] account_banking_sepa_direct_debit: 3 things:
* Remove unused POT files
* Spanish translation
* Fix mandate report layout
---
.../account_banking_sepa_direct_debit.pot | 442 --------------
account_banking_sepa_direct_debit/i18n/es.po | 568 +++++-------------
.../report_sepa_direct_debit_mandate.xml | 8 +-
3 files changed, 168 insertions(+), 850 deletions(-)
delete mode 100644 account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
deleted file mode 100644
index 834613460e2..00000000000
--- a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot
+++ /dev/null
@@ -1,442 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * account_banking_sepa_direct_debit
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 8.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-31 22:53+0000\n"
-"PO-Revision-Date: 2014-10-31 22:53+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_direct_debit
-#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
-msgid "
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
-"
\n"
-" "
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
-msgid "A generic banking mandate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120
-#, python-format
-msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,scheme:0
-msgid "Basic (CORE)"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,batch_booking:0
-#: field:banking.export.sdd.wizard,batch_booking:0
-msgid "Batch Booking"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Creditor"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Debtor"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Cancel"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,charge_bearer:0
-#: field:banking.export.sdd.wizard,charge_bearer:0
-msgid "Charge Bearer"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
-msgid "Companies"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Create"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,create_uid:0
-#: field:banking.export.sdd.wizard,create_uid:0
-msgid "Created by"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Draft"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:res.company,sepa_creditor_identifier:0
-msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
-"- your country ISO code (2 letters)\n"
-"- a 2-digits checkum\n"
-"- a 3-letters business code\n"
-"- a country-specific identifier"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,scheme:0
-msgid "Enterprise (B2B)"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79
-#, python-format
-msgid "Error"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202
-#, python-format
-msgid "Error:"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
-msgid "Export SEPA Direct Debit File"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,filename:0
-#: field:banking.export.sdd.wizard,filename:0
-msgid "Filename"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,recurrent_sequence_type:0
-msgid "Final"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Finish"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,recurrent_sequence_type:0
-msgid "First"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Following Service Level"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,charge_bearer:0
-#: help:banking.export.sdd.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 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 ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
-msgid "General Information"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Generate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order
-msgid "Generated SEPA Direct Debit Files"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,create_date:0
-msgid "Generation Date"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,id:0
-#: field:banking.export.sdd.wizard,id:0
-msgid "ID"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,sepa_migrated:0
-msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd,batch_booking:0
-#: help:banking.export.sdd.wizard,batch_booking:0
-msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80
-#, python-format
-msgid "Invalid SEPA Creditor Identifier."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,write_uid:0
-#: field:banking.export.sdd.wizard,write_uid:0
-msgid "Last Updated by"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,write_date:0
-#: field:banking.export.sdd.wizard,write_date:0
-msgid "Last Updated on"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119
-#, python-format
-msgid "Mandate update"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,sepa_migrated:0
-msgid "Migrated to SEPA"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186
-#, python-format
-msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,nb_transactions:0
-#: field:banking.export.sdd.wizard,nb_transactions:0
-msgid "Number of Transactions"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
-#: selection:account.banking.mandate,type:0
-msgid "One-Off"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:res.company,original_creditor_identifier:0
-msgid "Original Creditor Identifier"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,original_mandate_identification:0
-msgid "Original Mandate Identification"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
-msgid "Original Mandate Required (SEPA)"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
-#: field:banking.export.sdd,payment_order_ids:0
-#: field:banking.export.sdd.wizard,payment_order_ids:0
-msgid "Payment Orders"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138
-#, python-format
-msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
-#: selection:account.banking.mandate,type:0
-msgid "Recurrent"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,recurrent_sequence_type:0
-msgid "Recurring"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file_id:0
-msgid "SDD File"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
-#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
-msgid "SDD Mandates"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:res.company,sepa_creditor_identifier:0
-msgid "SEPA Creditor Identifier"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form
-#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree
-msgid "SEPA Direct Debit"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd
-#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd
-msgid "SEPA Direct Debit Files"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "SEPA Direct Debit XML file generation"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd
-msgid "SEPA Direct Debit export"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,file:0
-msgid "SEPA File"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,scheme:0
-msgid "Scheme"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-msgid "Sent"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,recurrent_sequence_type:0
-msgid "Sequence Type for Next Debit"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-msgid "Sequence Type set to Final"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-msgid "Sequence Type set to First"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-msgid "Sequence Type set to Recurring"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,charge_bearer:0
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Shared"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,state:0
-#: field:banking.export.sdd.wizard,state:0
-msgid "State"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194
-#, python-format
-msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203
-#, python-format
-msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
-#, python-format
-msgid "The recurrent mandate '%s' must have a sequence type."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95
-#, python-format
-msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,recurrent_sequence_type:0
-msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd,total_amount:0
-#: field:banking.export.sdd.wizard,total_amount:0
-msgid "Total Amount"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
-msgid "Type"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,type:0
-msgid "Type of Mandate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Validate"
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,original_mandate_identification:0
-msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105
-#, python-format
-msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'."
-msgstr ""
-
diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po
index 8f64295d1e1..30331037524 100644
--- a/account_banking_sepa_direct_debit/i18n/es.po
+++ b/account_banking_sepa_direct_debit/i18n/es.po
@@ -1,387 +1,253 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * account_banking_sepa_direct_debit
-#
-# Translators:
+# * account_banking_sepa_direct_debit
+#
msgid ""
msgstr ""
-"Project-Id-Version: bank-payment (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-04-08 00:46+0000\n"
-"PO-Revision-Date: 2016-04-07 16:04+0000\n"
-"Last-Translator: OCA Transbot \n"
-"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n"
+"POT-Creation-Date: 2016-07-01 19:00+0000\n"
+"PO-Revision-Date: 2016-07-01 19:00+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"
-"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: \n"
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action
-msgid ""
-"
\n"
-" Click to create a new SEPA Direct Debit Mandate.\n"
-"
\n"
-" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n"
-"
\n"
-" "
-msgstr "
\n Pulse para crear un nuevo mandato bancario.\n
\n Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n
\n "
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Account Number - IBAN:"
+msgstr "Número de cuenta - IBAN:"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
-msgid "A generic banking mandate"
-msgstr "Un mandato bancario genérico"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address of the Debtor:"
+msgstr "Dirección del deudor:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid ""
-"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
-"CREDITOR FOR STORAGE."
-msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA."
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Address:"
+msgstr "Dirección:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid ""
-"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
-" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
-" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
-msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN."
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country of the debtor:"
+msgstr "País del deudor:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Account Number - IBAN:"
-msgstr "Número de cuenta - IBAN:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Country:"
+msgstr "País:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Address of the Debtor:"
-msgstr "Dirección del deudor:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Creditor's Name:"
+msgstr "Nombre del acreedor:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Address:"
-msgstr "Dirección:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Date - Location:"
+msgstr "Fecha - Localidad:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid ""
-"As part of your rights, you are entitled to a refund from\n"
-" your bank under the terms and conditions of your agreement\n"
-" with your bank.\n"
-" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
-msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera."
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Debtor's Name:"
+msgstr "Nombre del deudor:"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
-#, python-format
-msgid ""
-"As you changed the bank account attached to this mandate, the 'Sequence "
-"Type' has been set back to 'First'."
-msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'."
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Identifier:"
+msgstr "Identificador:"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
-msgid "Bank Payment Lines"
-msgstr "Lineas de pago bancario"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Mandate Reference:"
+msgstr "Referencia del mandato:"
#. module: account_banking_sepa_direct_debit
-#: selection:account.banking.mandate,scheme:0
-msgid "Basic (CORE)"
-msgstr "Básico (CORE)"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Postal Code - City - Town:"
+msgstr "Código postal - Población - Provincia:"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,batch_booking:0
-msgid "Batch Booking"
-msgstr "Registro en lote"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Signature of the debtor:"
+msgstr "Firma del deudor:"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Creditor"
-msgstr "A cargo del acreedor"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Swift BIC (up to 8 or 11 characteres):"
+msgstr "Swift BIC (puede contener 8 u 11 posiciones):"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Debtor"
-msgstr "A cargo del deudor"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Type of payment:"
+msgstr "Tipo de pago:"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "By signing this mandate form, you authorise (A)"
-msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) "
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the creditor"
+msgstr "A cumplimentar por el acreedor"
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Cancel"
-msgstr "Cancelar"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "To be completed by the debtor"
+msgstr "A cumplimentar por el deudor"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,charge_bearer:0
-msgid "Charge Bearer"
-msgstr "A cargo del portador"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Business-To-Business Direct debit Mandate"
+msgstr "Orden de domiciliación de adeudo directo SEPA B2B"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
-msgid "Companies"
-msgstr "Compañías"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "Sepa Direct Debit Mandate"
+msgstr "Mandato de adeudo directo SEPA"
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate
+msgid "A generic banking mandate"
+msgstr "Un mandato bancario genérico"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Country of the debtor:"
-msgstr "País del deudor:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE."
+msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA."
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Country:"
-msgstr "País:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n"
+" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK."
+msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN."
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Create"
-msgstr "Crear"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "As part of your rights, you are entitled to a refund from\n"
+" your bank under the terms and conditions of your agreement\n"
+" with your bank.\n"
+" A refund must be claimed within 8 weeks starting from the date on which your account was debited."
+msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera."
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,create_uid:0
-msgid "Created by"
-msgstr "Creado por"
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#, python-format
+msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'."
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,create_date:0
-msgid "Created on"
-msgstr "Creado en"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+msgstr "Líneas de pago bancario"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Creditor's Name:"
-msgstr "Nombre del acreedor:"
+#: selection:account.banking.mandate,scheme:0
+msgid "Basic (CORE)"
+msgstr "Básico (CORE)"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Date - Location:"
-msgstr "Fecha - Localidad:"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "By signing this mandate form, you authorise (A)"
+msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) "
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Debtor's Name:"
-msgstr "Nombre del deudor:"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
+msgstr "Compañías"
#. module: account_banking_sepa_direct_debit
-#: help:payment.mode,sepa_creditor_identifier:0
-msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
+#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n"
"This identifier is composed of :\n"
"- your country ISO code (2 letters)\n"
"- a 2-digits checkum\n"
"- a 3-letters business code\n"
"- a country-specific identifier"
-msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)"
+msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n"
+"- el código ISO de 2 letras de su país\n"
+"- dos dígitos de comprobación\n"
+"- tres letras de código de negocio\n"
+"- un identificador específico de país (en España, el NIF)"
#. module: account_banking_sepa_direct_debit
-#: help:res.company,sepa_creditor_identifier:0
-msgid ""
-"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
+#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_config_settings_sepa_creditor_identifier
+#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier
+msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n"
"- your country ISO code (2 letters)\n"
"- a 2-digits checkum\n"
"- a 3-letters business code\n"
"- a country-specific identifier"
-msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)"
+msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n"
+"- el código ISO de 2 letras de su país\n"
+"- dos dígitos de comprobación\n"
+"- tres letras de código de negocio\n"
+"- un identificador específico de país (en España, el NIF)"
#. module: account_banking_sepa_direct_debit
#: selection:account.banking.mandate,scheme:0
msgid "Enterprise (B2B)"
msgstr "Empresa (B2B)"
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32
-#, python-format
-msgid "Error"
-msgstr "Error"
-
-#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard
-msgid "Export SEPA Direct Debit File"
-msgstr "Exportar archivo de adeudo directo SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
-msgstr "Archivo"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,filename:0
-msgid "Filename"
-msgstr "Nombre de archivo"
-
#. module: account_banking_sepa_direct_debit
#: selection:account.banking.mandate,recurrent_sequence_type:0
msgid "Final"
msgstr "Final"
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,state:0
-msgid "Finish"
-msgstr "Finalizar"
-
#. module: account_banking_sepa_direct_debit
#: selection:account.banking.mandate,recurrent_sequence_type:0
msgid "First"
msgstr "Inicial"
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Following Service Level"
-msgstr "Según el acuerdo de servicio"
-
-#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd.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 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_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Generate"
-msgstr "Generar"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,id:0
-msgid "ID"
-msgstr "ID"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Identifier:"
-msgstr "Identificador:"
-
-#. module: account_banking_sepa_direct_debit
-#: help:payment.mode,original_creditor_identifier:0
-msgid ""
-"If not defined, Original Creditor Identifier from company will be used."
-msgstr ""
-
-#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,sepa_migrated:0
-msgid ""
-"If this field is not active, the mandate section of the next direct debit "
-"file that include this mandate will contain the 'Original Mandate "
-"Identification' and the 'Original Creditor Scheme Identification'. This is "
-"required in a few countries (Belgium for instance), but not in all "
-"countries. If this is not required in your country, you should keep this "
-"field always active."
-msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado."
-
-#. module: account_banking_sepa_direct_debit
-#: help:banking.export.sdd.wizard,batch_booking:0
-msgid ""
-"If true, the bank statement will display only one credit line for all the "
-"direct debits of the SEPA file ; if false, the bank statement will display "
-"one credit line per direct debit of the SEPA 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_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43
-#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
-#, python-format
-msgid "Invalid SEPA Creditor Identifier."
-msgstr "Identificador de acreedor SEPA no válido."
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,write_uid:0
-msgid "Last Updated by"
-msgstr "Última actualización por"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,write_date:0
-msgid "Last Updated on"
-msgstr "Última actualización en"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Mandate Reference:"
-msgstr "Referencia del mandato:"
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75
#, python-format
msgid "Mandate update"
msgstr "Actualizacion de mandato"
#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,sepa_migrated:0
-msgid "Migrated to SEPA"
-msgstr "Migrado a SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
+#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:98
#, python-format
-msgid ""
-"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
-" (reference '%s')."
-msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la empresa '%s' (referencia '%s')."
+msgid "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')."
+msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario de la empresa '%s' (referencia '%s')."
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,nb_transactions:0
-msgid "Number of Transactions"
-msgstr "Nº de transacciones"
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
#: selection:account.banking.mandate,type:0
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search
msgid "One-Off"
msgstr "Único"
#. module: account_banking_sepa_direct_debit
-#: field:payment.mode,original_creditor_identifier:0
-#: field:res.company,original_creditor_identifier:0
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_company_original_creditor_identifier
msgid "Original Creditor Identifier"
msgstr "Identificador del acreedor original"
#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,original_mandate_identification:0
-msgid "Original Mandate Identification"
-msgstr "Identificación del mandato original"
-
-#. module: account_banking_sepa_direct_debit
-#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required
-msgid "Original Mandate Required (SEPA)"
-msgstr "Mandato original requerido (SEPA)"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method
+msgid "Payment Methods"
+msgstr "Métodos de pago"
#. module: account_banking_sepa_direct_debit
-#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
-msgid "Payment Mode"
-msgstr "Modo de pago"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_mode
+msgid "Payment Modes"
+msgstr "Métodos de pago"
#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,payment_order_ids:0
-msgid "Payment Orders"
-msgstr "Órdenes de pago"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_order
+msgid "Payment Order"
+msgstr "Orden de pago"
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117
+#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:62
#, python-format
-msgid ""
-"Payment Type Code '%s' is not supported. The only Payment Type Code "
-"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and"
-" 'pain.008.001.04'."
+msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'."
msgstr "El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', 'pain.008.001.03' y 'pain.008.001.04'."
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Postal Code - City - Town:"
-msgstr "Código postal - Población - Provincia:"
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
#: selection:account.banking.mandate,type:0
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search
msgid "Recurrent"
msgstr "Recurrente"
@@ -391,198 +257,96 @@ msgid "Recurring"
msgstr "Periódico"
#. module: account_banking_sepa_direct_debit
-#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form
-#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree
-msgid "SDD Mandates"
-msgstr "Mandatos SDD"
-
-#. module: account_banking_sepa_direct_debit
-#: field:payment.mode,sepa_creditor_identifier:0
-#: field:res.company,sepa_creditor_identifier:0
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_config_settings_sepa_creditor_identifier
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier
msgid "SEPA Creditor Identifier"
msgstr "Identificador de acreedor SEPA"
#. module: account_banking_sepa_direct_debit
-#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action
-msgid "SEPA Direct Debit Mandates"
-msgstr "Mandatos de adeudos directos SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "SEPA Direct Debit XML file generation"
-msgstr "Generación del archivo XML de adeudo directo SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
-#: field:account.banking.mandate,scheme:0
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_scheme
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search
msgid "Scheme"
msgstr "Esquema"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Sepa Business-To-Business Direct debit Mandate"
-msgstr "Orden de domiciliación de adeudo directo SEPA B2B"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Sepa Direct Debit Mandate"
-msgstr "Mandatos de adeudos directos SEPA"
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35
#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate
-#, python-format
msgid "Sepa Mandate"
msgstr "Mandato SEPA"
#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree
msgid "Sequence Type"
msgstr "Tipo de secuencia"
#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,recurrent_sequence_type:0
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type
msgid "Sequence Type for Next Debit"
msgstr "Tipo de secuencia para el próximo cobro"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final
-msgid "Sequence Type set to Final"
-msgstr "Tipo de secuencia establecida a 'Final'"
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first
-msgid "Sequence Type set to First"
-msgstr "Tipo de secuencia establecida a 'Inicial'"
-
-#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring
-msgid "Sequence Type set to Recurring"
-msgstr "Tipo de secuencia establecida a 'Recurrente'"
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Shared"
-msgstr "Compartidos"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Signature of the debtor:"
-msgstr "Firma del deudor:"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,state:0
-msgid "State"
-msgstr "Estado"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Swift BIC (up to 8 or 11 characteres):"
-msgstr "Swift BIC (puede contener 8 u 11 posiciones):"
+#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:39
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
+#, python-format
+msgid "The SEPA Creditor Identifier '%s' is invalid."
+msgstr "Identificador de acreedor SEPA no válido."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166
+#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:105
#, python-format
-msgid ""
-"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
-"expired."
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174
+#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:113
#, python-format
-msgid ""
-"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' "
-"and it has a last debit date set to '%s', so we can't use it."
+msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it."
msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76
+#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:48
#, python-format
msgid "The recurrent mandate '%s' must have a sequence type."
msgstr "El mandato periódico '%s' debe tener un tipo de secuencia."
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86
-#, python-format
-msgid ""
-"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must "
-"have its recurrent sequence type set to 'First'."
-msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'."
-
-#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,recurrent_sequence_type:0
-msgid ""
-"This field is only used for Recurrent mandates, not for One-Off mandates."
+#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type
+msgid "This field is only used for Recurrent mandates, not for One-Off mandates."
msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos."
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid ""
-"This mandate is only intended for business-to-business transactions.\n"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "This mandate is only intended for business-to-business transactions.\n"
" You are not entitled to a refund from your bank after your account has\n"
" been debited, but you are entitled to request your bank\n"
" not to debit your account up until the day on which the payment is due."
msgstr "Esta orden de domiciliación está prevista para operaciones exclusivamente entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le reembolse una vez que se haya realizado el cargo en cuenta, pero puede solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha debida. Podrá obtener información detallada del procedimiento en su entidad financiera."
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "To be completed by the creditor"
-msgstr "A cumplimentar por el acreedor"
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "To be completed by the debtor"
-msgstr "A cumplimentar por el deudor"
-
-#. module: account_banking_sepa_direct_debit
-#: field:banking.export.sdd.wizard,total_amount:0
-msgid "Total Amount"
-msgstr "Importe total"
-
-#. module: account_banking_sepa_direct_debit
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search
-#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree
msgid "Type"
msgstr "Tipo"
#. module: account_banking_sepa_direct_debit
-#: field:account.banking.mandate,type:0
+#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_type
msgid "Type of Mandate"
msgstr "Tipo de mandato"
#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid "Type of payment:"
-msgstr "Tipo de pago"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings
+msgid "Write the ICS of your company"
+msgstr "Escriba el IAS de su compañía"
#. module: account_banking_sepa_direct_debit
-#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view
-msgid "Validate"
-msgstr "Validar"
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_config_settings
+msgid "account.config.settings"
+msgstr "account.config.settings"
#. module: account_banking_sepa_direct_debit
-#: help:account.banking.mandate,original_mandate_identification:0
-msgid ""
-"When the field 'Migrated to SEPA' is not active, this field will be used as "
-"the Original Mandate Identification in the Direct Debit file."
-msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo."
-
-#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98
-#, python-format
-msgid ""
-"You must set the 'Original Mandate Identification' on the recurrent mandate "
-"'%s' which is not marked as 'Migrated to SEPA'."
-msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'."
-
-#. module: account_banking_sepa_direct_debit
-#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
-msgid ""
-"to send instructions to your bank to debit your account and (B) your bank to\n"
+#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document
+msgid "to send instructions to your bank to debit your account and (B) your bank to\n"
" debit your account in accordance with the instructions from"
msgstr "a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor "
+
diff --git a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
index c71a2083b4d..13ed7290cb0 100644
--- a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
+++ b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml
@@ -1,9 +1,7 @@
-
-
+
-
@@ -23,35 +41,92 @@
-
Sepa Direct Debit Mandate
-
Sepa Business-To-Business Direct debit Mandate
+
+ Sepa Direct Debit Mandate
+
+
+
+
+
+ Sepa Business-To-Business Direct debit Mandate
+
+
+
+
- To be completed by the creditor
-
-
Mandate Reference:
-
Identifier:
-
Creditor's Name:
-
Address:
-
Postal Code - City - Town:
+
+ To be completed by the creditor
+
+
+
+
+
+
+ Mandate Reference:
+
+
+
+
+
+
+ Identifier:
+
+
+
+
+
+
+ Creditor's Name:
+
+
+
+
+
+
+ Address:
+
+
+
+
+
+
+ Postal Code - City - Town:
+
+
+
+
-
-
-
Country:
+
+ Country:
+
+
+
+
+
-
By signing this mandate form, you authorise (A)
+
By signing this mandate form, you authorise (A)
to send instructions to your bank to debit your account and (B) your bank to
- debit your account in accordance with the instructions from .
+ debit your account in accordance with the instructions from .
+
+
+
+
+
+ .)
+
@@ -62,39 +137,111 @@
You are not entitled to a refund from your bank after your account has
been debited, but you are entitled to request your bank
not to debit your account up until the day on which the payment is due.
+
+
+
As part of your rights, you are entitled to a refund from
your bank under the terms and conditions of your agreement
with your bank.
A refund must be claimed within 8 weeks starting from the date on which your account was debited.
+
+
+
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
-
ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+
+ ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
+
+
+
+
+
+ ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.
NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.
- THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK.
+ THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK.
+
+
+
+
Module to export direct debit 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 Direct
+Debit (SDD), more specifically PAIN versions 008.001.02, 008.001.03 and
+008.001.04. It is part of the ISO 20022 standard, available on
+http://www.iso20022.org.
+
The Implementation Guidelines for SEPA Direct Debit published by the European
+Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN
+version 008.001.02. So if you don’t know which version your bank supports, you
+should try version 008.001.02 first.
In the menu Invoicing/Accounting > Payments > Debit Order, create a new debit
+order and select the Payment Mode dedicated to SEPA Direct Debit that
+you created during the configuration step.
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.