From ed111382808f54a8c636b114a97fc353f2ef85cc Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Sat, 3 Aug 2013 01:12:36 +0200
Subject: [PATCH 01/80] 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 000000000..f852fb7bd
--- /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 000000000..5ea5dadb4
--- /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 000000000..87e50111b
--- /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 000000000..f74b60353
--- /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 000000000..2ca480e54
--- /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 000000000..74098c44e
--- /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 000000000..6d54ba8e6
--- /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 000000000..e4c9e0b93
--- /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 000000000..68075d526
--- /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 000000000..633597256
--- /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 000000000..73d894379
--- /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 000000000..93806815a
--- /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 000000000..a17b3b21c
--- /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 000000000..0db576726
--- /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 000000000..9d30343dd
--- /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 000000000..4cb0693d2
--- /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 000000000..0b32e9f1c
--- /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 000000000..bd1dd6e79
--- /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 000000000..cf78ffb59
--- /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 000000000..e6a8570cf
--- /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 000000000..220261088
--- /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 000000000..19520d318
--- /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 000000000..3699de91c
--- /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 4a16925d45549050b91eb77cfd02d996e04b5e7d 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/80] 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 9d30343dd..3744da850 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 000000000..2c2ccc12f
--- /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 50168f44c0efec591eaf1c19e33f6af0c30070e1 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Wed, 10 Sep 2014 12:19:20 +0200
Subject: [PATCH 03/80] [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 f852fb7bd..096fe8ad3 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 5ea5dadb4..6a95f0255 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 87e50111b..000000000
--- 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 2ca480e54..000000000
--- 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 74098c44e..000000000
--- 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 000000000..79aa05689
--- /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 68075d526..000000000
--- 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 220261088..041082d76 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 4cb0693d2..000000000
--- 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 000000000..274855e14
--- /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 000000000..4df706378
--- /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 000000000..80536aa03
--- /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 6d54ba8e6..327edc401 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 @@ class res_company(orm.Model):
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 @@ class res_company(orm.Model):
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
+ return int(sci[2:4]) == (98 - (int(after_replacement) % 97))
- 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']),
- ]
+ @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 0b32e9f1c..000000000
--- 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 bd1dd6e79..000000000
--- 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 19520d318..60dce7653 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 @@ class banking_export_sdd_wizard(orm.TransientModel):
"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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
"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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 429b19cc4e30d25042390471fc8cd9070564d4e9 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Fri, 10 Oct 2014 20:09:17 +0200
Subject: [PATCH 04/80] 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 80536aa03..44cd03b6e 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 60dce7653..79ead28b8 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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
"'%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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 b55a3cbbfb968e3d9c8cd7e10098c660a2026a1d Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Tue, 21 Oct 2014 01:53:12 +0200
Subject: [PATCH 05/80] [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 | 802 +++++++-----------
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, 809 insertions(+), 554 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 79aa05689..48fe6fc63 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 0db576726..a39fa750a 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,58 +16,35 @@ 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"
-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"
+#: 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
@@ -76,36 +53,6 @@ msgstr ""
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
@@ -113,105 +60,19 @@ 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:"
+#: 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:sdd.mandate,message_ids:0
-msgid "Messages"
+#: 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,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')."
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company
+msgid "Companies"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -220,64 +81,19 @@ 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"
+#: 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: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"
+#: 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 "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"
+msgid "Draft"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -290,70 +106,23 @@ msgid "Enter the Creditor Identifier that has been attributed to your company to
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: sql_constraint:sdd.mandate:0
-msgid "A Mandate with the same reference already exists for this company !"
+#: selection:account.banking.mandate,scheme:0
+msgid "Enterprise (B2B)"
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
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79
#, python-format
-msgid "The date of signature of mandate '%s' is in the future !"
+msgid "Error"
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"
+#: 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
@@ -362,62 +131,29 @@ 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."
+#: field:banking.export.sdd.wizard,file:0
+msgid "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:banking.export.sdd,filename:0
+#: field:banking.export.sdd.wizard,filename:0
+msgid "Filename"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd,state:0
-#: view:sdd.mandate:0
-#: selection:sdd.mandate,state:0
-msgid "Draft"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Final"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290
-#, python-format
-msgid "Mandate update"
+#: selection:banking.export.sdd.wizard,state:0
+msgid "Finish"
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"
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "First"
msgstr ""
#. module: account_banking_sepa_direct_debit
@@ -427,9 +163,195 @@ msgid "Following Service Level"
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233
+#: 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 "The mandate '%s' can't have a date of last debit before the date of signature."
+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
+#: 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
+#: 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
@@ -438,172 +360,6 @@ msgstr ""
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
@@ -611,23 +367,81 @@ 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
+#: 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 "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'."
+msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired."
msgstr ""
#. module: account_banking_sepa_direct_debit
-#: help:sdd.mandate,message_ids:0
-msgid "Messages and communication history"
+#: 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
-#: view:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
+#: 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
-#: field:banking.export.sdd.wizard,file:0
-msgid "File"
+#: 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
new file mode 100644
index 000000000..98334c842
--- /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 44cd03b6e..84ac0b5e7 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 327edc401..46f98bbc2 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 @@ class ResCompany(models.Model):
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 eba8ae28b..a2065dc75 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 79ead28b8..aa46ff8b1 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 datetime import datetime
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
'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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 @@ class banking_export_sdd_wizard(orm.TransientModel):
'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 @@ class banking_export_sdd_wizard(orm.TransientModel):
'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 @@ class banking_export_sdd_wizard(orm.TransientModel):
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 b6cc19fe2e13c5db73e81eb70d3be38c685e3aa1 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Fri, 19 Dec 2014 23:59:02 +0100
Subject: [PATCH 06/80] [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 041082d76..51a24bad1 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 4df706378..56b4c870d 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 @@ class AccountBankingMandate(models.Model):
@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 @@ class AccountBankingMandate(models.Model):
@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 @@ class AccountBankingMandate(models.Model):
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 a2065dc75..366edfaf8 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 ce10768cd..8f64295d1 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 3744da850..75cc33f0f 100644
--- a/account_banking_sepa_direct_debit/i18n/fr.po
+++ b/account_banking_sepa_direct_debit/i18n/fr.po
@@ -1,50 +1,220 @@
-# 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
+#: 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
+#: 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 "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
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+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.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Crédit groupé"
+
+#. module: account_banking_sepa_direct_debit
+#: 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.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "Supportés par le débiteur"
+
+#. 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 ""
+
+#. module: account_banking_sepa_direct_debit
+#: 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:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Répartition des frais"
+
+#. 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
+#: 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 "Créer"
+
+#. module: account_banking_sepa_direct_debit
+#: 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
+#: 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 "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
+#: 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 ""
+
+#. 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
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Fichier"
#. 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
+#: selection:account.banking.mandate,recurrent_sequence_type:0
msgid "Final"
msgstr "Final"
@@ -54,359 +224,50 @@ 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
+#: selection:account.banking.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"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Suivant le niveau de service"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
-msgid "Mandate Cancelled"
-msgstr "Mandat annulé"
+#: 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
-#: 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"
+#: 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
-#: help:sdd.mandate,sepa_migrated:0
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr ""
+
+#. 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 "
@@ -414,109 +275,176 @@ 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 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."
+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."
+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
+#: 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 ""
-"Cannot validate the mandate '%s' because it is not attached to a bank "
-"account."
+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 ""
-"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"
+#: 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/account_banking_sdd.py:290
+#: 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 "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
+#: field:account.banking.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
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
#, python-format
msgid ""
-"The mandate '%s' can't have a date of last debit before the date of "
-"signature."
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
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
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Nombre de 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 "Ancien Identifiant Créancier"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Ancien Identifiant du Mandat"
+
+#. 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
+#: 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
+#: 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/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 "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 ""
+
+#. 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 "Récurrent"
+
+#. 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 "Mandats SEPA"
+
+#. 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 "Identifiant créancier 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 "Mandats de prélèvement 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 "Génération de fichiers de prélèvement SEPA XML"
+
+#. 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 "Type de séquence pour le prochain prélèvement"
#. module: account_banking_sepa_direct_debit
#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
@@ -524,199 +452,6 @@ msgstr ""
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
@@ -724,26 +459,130 @@ 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
+#: 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
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Partagée"
+
+#. 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 "État"
+
+#. 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 ""
-"As you changed the bank account attached to this mandate, the 'Sequence "
-"Type' has been set back to 'First'."
+"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: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
+#: 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
+#: 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
+#: 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
+#: 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 ""
-"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"
+#: 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:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
-msgstr "Recherche dans les mandats de prélèvement SEPA"
+#: 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,file:0
-msgid "File"
-msgstr "Fichier"
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Montant 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 "Type"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Type de mandat"
+
+#. 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 "Valider"
+
+#. 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 "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/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
+#: 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/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po
index 2c2ccc12f..8fb3b71df 100644
--- a/account_banking_sepa_direct_debit/i18n/nl.po
+++ b/account_banking_sepa_direct_debit/i18n/nl.po
@@ -1,52 +1,221 @@
-# 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
+#: 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
+#: 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 "Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet naar 'Eerste'."
+
+#. module: account_banking_sepa_direct_debit
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
+msgid "Bank Payment Lines"
+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.wizard,batch_booking:0
+msgid "Batch Booking"
+msgstr "Bach verwerking"
+
+#. module: account_banking_sepa_direct_debit
+#: 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.wizard,charge_bearer:0
+msgid "Borne by Debtor"
+msgstr "Rekening van schuldenaar"
+
+#. 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 ""
+
+#. module: account_banking_sepa_direct_debit
+#: 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:banking.export.sdd.wizard,charge_bearer:0
+msgid "Charge Bearer"
+msgstr "Kostenverdeling"
+
+#. 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
+#: 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 "Aanmaken"
+
+#. module: account_banking_sepa_direct_debit
+#: 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
+#: 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 "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
+#: 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 "Fout"
+
+#. 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
+#: field:banking.export.sdd.wizard,file:0
+msgid "File"
+msgstr "Bestand"
#. 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
+#: selection:account.banking.mandate,recurrent_sequence_type:0
msgid "Final"
msgstr "Definitief"
@@ -56,361 +225,50 @@ 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
+#: selection:account.banking.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"
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Following Service Level"
+msgstr "Volg service level"
#. module: account_banking_sepa_direct_debit
-#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel
-msgid "Mandate Cancelled"
-msgstr "Machtiging geannuleerd"
+#: 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
-#: 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"
+#: 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
-#: help:sdd.mandate,sepa_migrated:0
+#: field:banking.export.sdd.wizard,id:0
+msgid "ID"
+msgstr ""
+
+#. 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 "
@@ -418,108 +276,176 @@ 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 ""
-"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."
+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."
+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
+#: 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 ""
-"Cannot validate the mandate '%s' because it is not attached to a bank "
-"account."
+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 ""
-"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"
+#: 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/account_banking_sdd.py:290
+#: 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 "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
+#: field:account.banking.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
+#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159
#, python-format
msgid ""
-"The mandate '%s' can't have a date of last debit before the date of "
-"signature."
+"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'"
+" (reference '%s')."
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
+#: field:banking.export.sdd.wizard,nb_transactions:0
+msgid "Number of Transactions"
+msgstr "Aantal transacties"
+
+#. 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 "Eenmalig"
+
+#. 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 "Originele Incassant-ID"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,original_mandate_identification:0
+msgid "Original Mandate Identification"
+msgstr "Originele machtiging indificatie"
+
+#. 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
+#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode
+msgid "Payment Mode"
+msgstr "Betaalwijze"
+
+#. module: account_banking_sepa_direct_debit
+#: 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/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 "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 ""
+
+#. 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 "Terugkerend"
+
+#. module: account_banking_sepa_direct_debit
+#: selection:account.banking.mandate,recurrent_sequence_type:0
+msgid "Recurring"
+msgstr "Terugkerend"
+
+#. 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 machteging"
+
+#. 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 Incassant-ID"
+
+#. 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 incasso machtegingen"
+
+#. 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 Incasso XML bestand aanmaken"
+
+#. 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 "Reeks soort voor volgende incasso"
#. module: account_banking_sepa_direct_debit
#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final
@@ -527,201 +453,6 @@ msgstr ""
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
@@ -729,26 +460,130 @@ 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
+#: 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
+#: selection:banking.export.sdd.wizard,charge_bearer:0
+msgid "Shared"
+msgstr "Gedeeld"
+
+#. 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 "Status"
+
+#. 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 ""
-"As you changed the bank account attached to this mandate, the 'Sequence "
-"Type' has been set back to 'First'."
+"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: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
+#: 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
+#: 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
+#: 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
+#: 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 ""
-"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"
+#: 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:sdd.mandate:0
-msgid "Search SEPA Direct Debit Mandates"
-msgstr "Zoek SEPA incasso machtigingen"
+#: 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,file:0
-msgid "File"
-msgstr "Bestand"
+#: field:banking.export.sdd.wizard,total_amount:0
+msgid "Total Amount"
+msgstr "Totaalbedrag"
+
+#. 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 "Soort"
+
+#. module: account_banking_sepa_direct_debit
+#: field:account.banking.mandate,type:0
+msgid "Type of Mandate"
+msgstr "Soort machtiging"
+
+#. 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 "Bevestigen"
+
+#. 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 "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/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
+#: 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/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po
new file mode 100644
index 000000000..44b004887
--- /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 000000000..4ce7d321a
--- /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 000000000..23eca685f
--- /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 9bba891d6..000000000
--- 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 eb850815b..c71a2083b 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 3830e36d9..000000000
--- 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 9b4022d46..000000000
--- 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 95117e270..000000000
--- 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 23ccde9b8b9331068b9047dd1b64aa972ae59be0 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Fri, 1 Jul 2016 21:01:13 +0200
Subject: [PATCH 19/80] [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 | 590 ++++++------------
.../report_sepa_direct_debit_mandate.xml | 8 +-
3 files changed, 179 insertions(+), 861 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 834613460..000000000
--- 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 8f64295d1..303310375 100644
--- a/account_banking_sepa_direct_debit/i18n/es.po
+++ b/account_banking_sepa_direct_debit/i18n/es.po
@@ -1,32 +1,109 @@
# 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.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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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.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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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
+#: 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.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
@@ -34,56 +111,35 @@ 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 ""
-"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO "
-"CREDITOR FOR STORAGE."
+#: 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 ""
-"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n"
+#: 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
-#: view:website: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
-#: view:website: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 "Address:"
-msgstr "Dirección:"
-
-#. 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"
+#: 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
-#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116
+#: 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'."
+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
#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line
msgid "Bank Payment Lines"
-msgstr "Lineas de pago bancario"
+msgstr "Líneas de pago bancario"
#. module: account_banking_sepa_direct_debit
#: selection:account.banking.mandate,scheme:0
@@ -91,297 +147,107 @@ msgid "Basic (CORE)"
msgstr "Básico (CORE)"
#. module: account_banking_sepa_direct_debit
-#: 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.wizard,charge_bearer:0
-msgid "Borne by Creditor"
-msgstr "A cargo del acreedor"
-
-#. module: account_banking_sepa_direct_debit
-#: selection:banking.export.sdd.wizard,charge_bearer:0
-msgid "Borne by Debtor"
-msgstr "A cargo del deudor"
-
-#. module: account_banking_sepa_direct_debit
-#: 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
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: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 "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
-#: view:website: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 "Country:"
-msgstr "País:"
-
-#. 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.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
-#: view:website: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 "Date - Location:"
-msgstr "Fecha - Localidad:"
-
-#. 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:"
-
-#. 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"
+#: 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: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_mode
+msgid "Payment Modes"
+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_order
+msgid "Payment Order"
+msgstr "Orden de pago"
#. module: account_banking_sepa_direct_debit
-#: 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: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):"
-
-#. 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_mode.py:39
+#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33
#, python-format
-msgid ""
-"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has "
-"expired."
+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/models/account_payment_order.py:105
+#, 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: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 c71a2083b..13ed7290c 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.
+
+
+
- To be completed by the debtor
+
+ To be completed by the debtor
+
+
+
+
-
Debtor's Name:
-
Address of the Debtor:
-
Postal Code - City - Town:
+
+ 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
+
+ Country of the debtor:
+
+
+
+
+
+
+ Swift BIC (up to 8 or 11 characteres):
+
+
+
+
+
+
+ Account Number - IBAN:
+
+
+
+
+
+
+ Type of payment:
+
+
+
+
+
+
+ Recurrent
+
+
+
+
+ -
+
+ One-Off
+
+
+
+
+
+
+ Date - Location:
+
+
+
-
Date - Location:
-
Signature of the debtor:
+
+ Signature of the debtor:
+
+
+
+
@@ -102,10 +249,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.
+ 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.