From 6b8fad6fcff54cc4269c47bc8d9a4887526469a8 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Sat, 3 Aug 2013 01:12:36 +0200 Subject: [PATCH 01/83] Add module account_banking_sepa_direct_debit that implements pain.008.001.02, pain.008.001.03 and pain.008.001.04. This module is not ready yet : the management of mandates is still missing. I am currently trying to get more information about these mandates to decide what is the best implemtation of the data model of the mandates (O2M on res.partner ? O2M os res.partner.bank ?). --- account_banking_sepa_direct_debit/__init__.py | 25 + .../__openerp__.py | 72 ++ .../account_banking_sdd.py | 440 +++++++++ .../account_banking_sdd_view.xml | 77 ++ .../account_invoice_view.xml | 22 + .../account_payment_view.xml | 26 + account_banking_sepa_direct_debit/company.py | 90 ++ .../company_view.xml | 23 + .../data/mandate_reference_sequence.xml | 21 + .../data/pain.008.001.02.xsd | 879 +++++++++++++++++ .../data/pain.008.001.03.xsd | 925 ++++++++++++++++++ .../data/pain.008.001.04.xsd | 892 +++++++++++++++++ .../data/payment_type_sdd.xml | 35 + .../account_banking_sepa_direct_debit.pot | 633 ++++++++++++ account_banking_sepa_direct_debit/i18n/fr.po | 642 ++++++++++++ .../mandate_expire_cron.xml | 26 + .../res_partner_bank_view.xml | 48 + .../sdd_mandate_view.xml | 152 +++ .../security/ir.model.access.csv | 4 + .../original_mandate_required_security.xml | 17 + .../sepa_direct_debit_demo.xml | 27 + .../static/src/img/icon.png | Bin 0 -> 6892 bytes .../wizard/__init__.py | 23 + .../wizard/export_sdd.py | 451 +++++++++ .../wizard/export_sdd_view.xml | 37 + 25 files changed, 5587 insertions(+) create mode 100644 account_banking_sepa_direct_debit/__init__.py create mode 100644 account_banking_sepa_direct_debit/__openerp__.py create mode 100644 account_banking_sepa_direct_debit/account_banking_sdd.py create mode 100644 account_banking_sepa_direct_debit/account_banking_sdd_view.xml create mode 100644 account_banking_sepa_direct_debit/account_invoice_view.xml create mode 100644 account_banking_sepa_direct_debit/account_payment_view.xml create mode 100644 account_banking_sepa_direct_debit/company.py create mode 100644 account_banking_sepa_direct_debit/company_view.xml create mode 100644 account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.02.xsd create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.03.xsd create mode 100644 account_banking_sepa_direct_debit/data/pain.008.001.04.xsd create mode 100644 account_banking_sepa_direct_debit/data/payment_type_sdd.xml create mode 100644 account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot create mode 100644 account_banking_sepa_direct_debit/i18n/fr.po create mode 100644 account_banking_sepa_direct_debit/mandate_expire_cron.xml create mode 100644 account_banking_sepa_direct_debit/res_partner_bank_view.xml create mode 100644 account_banking_sepa_direct_debit/sdd_mandate_view.xml create mode 100644 account_banking_sepa_direct_debit/security/ir.model.access.csv create mode 100644 account_banking_sepa_direct_debit/security/original_mandate_required_security.xml create mode 100644 account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml create mode 100644 account_banking_sepa_direct_debit/static/src/img/icon.png create mode 100644 account_banking_sepa_direct_debit/wizard/__init__.py create mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd.py create mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd_view.xml diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py new file mode 100644 index 00000000000..f852fb7bdba --- /dev/null +++ b/account_banking_sepa_direct_debit/__init__.py @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import company +from . import wizard +from . import account_banking_sdd diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py new file mode 100644 index 00000000000..5ea5dadb40e --- /dev/null +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -0,0 +1,72 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{ + 'name': 'Account Banking SEPA Direct Debit', + 'summary': 'Create SEPA files for Direct Debit', + 'version': '0.1', + 'license': 'AGPL-3', + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'category': 'Banking addons', + 'depends': ['account_direct_debit', 'account_banking_pain_base'], + 'external_dependencies': { + 'python': ['unidecode', 'lxml'], + }, + 'data': [ + 'security/original_mandate_required_security.xml', + 'account_banking_sdd_view.xml', + 'sdd_mandate_view.xml', + 'res_partner_bank_view.xml', + 'account_payment_view.xml', + 'company_view.xml', + 'mandate_expire_cron.xml', + 'account_invoice_view.xml', + 'wizard/export_sdd_view.xml', + 'data/payment_type_sdd.xml', + 'data/mandate_reference_sequence.xml', + 'security/ir.model.access.csv', + ], + 'demo': ['sepa_direct_debit_demo.xml'], + 'description': ''' +Module to export direct debit payment orders in SEPA XML file format. + +SEPA PAIN (PAyment INitiation) is the new european standard for +Customer-to-Bank payment instructions. + +This module implements SEPA Direct Debit (SDD), more specifically PAIN +versions 008.001.02, 008.001.03 and 008.001.04. +It is part of the ISO 20022 standard, available on http://www.iso20022.org. + +The Implementation Guidelines for SEPA Direct Debit published by the European +Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN +version 008.001.02. So if you don't know which version your bank supports, +you should try version 008.001.02 first. + +This module uses the framework provided by the banking addons, +cf https://www.github.com/OCA/banking-addons + +Please contact Alexis de Lattre from Akretion +for any help or question about this module. + ''', + 'active': False, + 'installable': True, +} diff --git a/account_banking_sepa_direct_debit/account_banking_sdd.py b/account_banking_sepa_direct_debit/account_banking_sdd.py new file mode 100644 index 00000000000..87e50111b18 --- /dev/null +++ b/account_banking_sepa_direct_debit/account_banking_sdd.py @@ -0,0 +1,440 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import orm, fields +from openerp.tools.translate import _ +from openerp.addons.decimal_precision import decimal_precision as dp +from unidecode import unidecode +from datetime import datetime +from dateutil.relativedelta import relativedelta +import logging + +NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36 + +logger = logging.getLogger(__name__) + + +class banking_export_sdd(orm.Model): + '''SEPA Direct Debit export''' + _name = 'banking.export.sdd' + _description = __doc__ + _rec_name = 'filename' + + def _generate_filename(self, cr, uid, ids, name, arg, context=None): + res = {} + for sepa_file in self.browse(cr, uid, ids, context=context): + ref = sepa_file.payment_order_ids[0].reference + if ref: + label = unidecode(ref.replace('/', '-')) + else: + label = 'error' + res[sepa_file.id] = 'sdd_%s.xml' % label + return res + + _columns = { + 'payment_order_ids': fields.many2many( + 'payment.order', + 'account_payment_order_sdd_rel', + 'banking_export_sepa_id', 'account_order_id', + 'Payment Orders', + readonly=True), + 'nb_transactions': fields.integer( + 'Number of Transactions', readonly=True), + 'total_amount': fields.float( + 'Total Amount', digits_compute=dp.get_precision('Account'), + readonly=True), + 'batch_booking': fields.boolean( + 'Batch Booking', readonly=True, + help="If true, the bank statement will display only one credit " + "line for all the direct debits of the SEPA file ; if false, " + "the bank statement will display one credit line per direct " + "debit of the SEPA file."), + 'charge_bearer': fields.selection([ + ('SLEV', 'Following Service Level'), + ('SHAR', 'Shared'), + ('CRED', 'Borne by Creditor'), + ('DEBT', 'Borne by Debtor'), + ], 'Charge Bearer', readonly=True, + help="Following service level : transaction charges are to be " + "applied following the rules agreed in the service level and/or " + "scheme (SEPA Core messages must use this). Shared : " + "transaction charges on the creditor side are to be borne by " + "the creditor, transaction charges on the debtor side are to be " + "borne by the debtor. Borne by creditor : all transaction " + "charges are to be borne by the creditor. Borne by debtor : " + "all transaction charges are to be borne by the debtor."), + 'create_date': fields.datetime('Generation Date', readonly=True), + 'file': fields.binary('SEPA File', readonly=True), + 'filename': fields.function( + _generate_filename, type='char', size=256, + string='Filename', readonly=True, store=True), + 'state': fields.selection([ + ('draft', 'Draft'), + ('sent', 'Sent'), + ], 'State', readonly=True), + } + + _defaults = { + 'state': 'draft', + } + + +class sdd_mandate(orm.Model): + '''SEPA Direct Debit Mandate''' + _name = 'sdd.mandate' + _description = __doc__ + _rec_name = 'unique_mandate_reference' + _inherit = ['mail.thread'] + _order = 'signature_date desc' + _track = { + 'state': { + 'account_banking_sepa_direct_debit.mandate_valid': + lambda self, cr, uid, obj, ctx=None: + obj['state'] == 'valid', + 'account_banking_sepa_direct_debit.mandate_expired': + lambda self, cr, uid, obj, ctx=None: + obj['state'] == 'expired', + 'account_banking_sepa_direct_debit.mandate_cancel': + lambda self, cr, uid, obj, ctx=None: + obj['state'] == 'cancel', + }, + 'recurrent_sequence_type': { + 'account_banking_sepa_direct_debit.recurrent_sequence_type_first': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'first', + 'account_banking_sepa_direct_debit.' + 'recurrent_sequence_type_recurring': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'recurring', + 'account_banking_sepa_direct_debit.recurrent_sequence_type_final': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'final', + } + } + + _columns = { + 'partner_bank_id': fields.many2one( + 'res.partner.bank', 'Bank Account', track_visibility='onchange'), + 'partner_id': fields.related( + 'partner_bank_id', 'partner_id', type='many2one', + relation='res.partner', string='Partner', readonly=True), + 'company_id': fields.many2one('res.company', 'Company', required=True), + 'unique_mandate_reference': fields.char( + 'Unique Mandate Reference', size=35, readonly=True, + track_visibility='always'), + 'type': fields.selection([ + ('recurrent', 'Recurrent'), + ('oneoff', 'One-Off'), + ], 'Type of Mandate', required=True, track_visibility='always'), + 'recurrent_sequence_type': fields.selection([ + ('first', 'First'), + ('recurring', 'Recurring'), + ('final', 'Final'), + ], 'Sequence Type for Next Debit', track_visibility='onchange', + help="This field is only used for Recurrent mandates, not for " + "One-Off mandates."), + 'signature_date': fields.date( + 'Date of Signature of the Mandate', track_visibility='onchange'), + 'scan': fields.binary('Scan of the Mandate'), + 'last_debit_date': fields.date( + 'Date of the Last Debit', readonly=True), + 'state': fields.selection([ + ('draft', 'Draft'), + ('valid', 'Valid'), + ('expired', 'Expired'), + ('cancel', 'Cancelled'), + ], 'Status', + help="Only valid mandates can be used in a payment line. A " + "cancelled mandate is a mandate that has been cancelled by " + "the customer. A one-off mandate expires after its first use. " + "A recurrent mandate expires after it's final use or if it " + "hasn't been used for 36 months."), + 'payment_line_ids': fields.one2many( + 'payment.line', 'sdd_mandate_id', "Related Payment Lines"), + 'sepa_migrated': fields.boolean( + 'Migrated to SEPA', track_visibility='onchange', + help="If this field is not active, the mandate section of the " + "next direct debit file that include this mandate will contain " + "the 'Original Mandate Identification' and the 'Original " + "Creditor Scheme Identification'. This is required in a few " + "countries (Belgium for instance), but not in all countries. " + "If this is not required in your country, you should keep this " + "field always active."), + 'original_mandate_identification': fields.char( + 'Original Mandate Identification', size=35, + track_visibility='onchange', + help="When the field 'Migrated to SEPA' is not active, this " + "field will be used as the Original Mandate Identification in " + "the Direct Debit file."), + } + + _defaults = { + 'company_id': lambda self, cr, uid, context: + self.pool['res.company']._company_default_get( + cr, uid, 'sdd.mandate', context=context), + 'unique_mandate_reference': '/', + 'state': 'draft', + 'sepa_migrated': True, + } + + _sql_constraints = [( + 'mandate_ref_company_uniq', + 'unique(unique_mandate_reference, company_id)', + 'A Mandate with the same reference already exists for this company !' + )] + + def create(self, cr, uid, vals, context=None): + if vals.get('unique_mandate_reference', '/') == '/': + vals['unique_mandate_reference'] = \ + self.pool['ir.sequence'].next_by_code( + cr, uid, 'sdd.mandate.reference', context=context) + return super(sdd_mandate, self).create(cr, uid, vals, context=context) + + def _check_sdd_mandate(self, cr, uid, ids): + for mandate in self.browse(cr, uid, ids): + if (mandate.signature_date and + mandate.signature_date > + datetime.today().strftime('%Y-%m-%d')): + raise orm.except_orm( + _('Error:'), + _("The date of signature of mandate '%s' is in the " + "future !") + % mandate.unique_mandate_reference) + if mandate.state == 'valid' and not mandate.signature_date: + raise orm.except_orm( + _('Error:'), + _("Cannot validate the mandate '%s' without a date of " + "signature.") + % mandate.unique_mandate_reference) + if mandate.state == 'valid' and not mandate.partner_bank_id: + raise orm.except_orm( + _('Error:'), + _("Cannot validate the mandate '%s' because it is not " + "attached to a bank account.") + % mandate.unique_mandate_reference) + + if (mandate.signature_date and mandate.last_debit_date and + mandate.signature_date > mandate.last_debit_date): + raise orm.except_orm( + _('Error:'), + _("The mandate '%s' can't have a date of last debit " + "before the date of signature.") + % mandate.unique_mandate_reference) + if (mandate.type == 'recurrent' + and not mandate.recurrent_sequence_type): + raise orm.except_orm( + _('Error:'), + _("The recurrent mandate '%s' must have a sequence type.") + % mandate.unique_mandate_reference) + if (mandate.type == 'recurrent' and not mandate.sepa_migrated + and mandate.recurrent_sequence_type != 'first'): + raise orm.except_orm( + _('Error:'), + _("The recurrent mandate '%s' which is not marked as " + "'Migrated to SEPA' must have its recurrent sequence " + "type set to 'First'.") + % mandate.unique_mandate_reference) + if (mandate.type == 'recurrent' and not mandate.sepa_migrated + and not mandate.original_mandate_identification): + raise orm.except_orm( + _('Error:'), + _("You must set the 'Original Mandate Identification' " + "on the recurrent mandate '%s' which is not marked " + "as 'Migrated to SEPA'.") + % mandate.unique_mandate_reference) + return True + + _constraints = [ + (_check_sdd_mandate, "Error msg in raise", [ + 'last_debit_date', 'signature_date', 'state', 'partner_bank_id', + 'type', 'recurrent_sequence_type', 'sepa_migrated', + 'original_mandate_identification', + ]), + ] + + def mandate_type_change(self, cr, uid, ids, type): + if type == 'recurrent': + recurrent_sequence_type = 'first' + else: + recurrent_sequence_type = False + res = {'value': {'recurrent_sequence_type': recurrent_sequence_type}} + return res + + def mandate_partner_bank_change( + self, cr, uid, ids, partner_bank_id, type, recurrent_sequence_type, + last_debit_date, state): + res = {'value': {}} + if partner_bank_id: + partner_bank_read = self.pool['res.partner.bank'].read( + cr, uid, partner_bank_id, ['partner_id'])['partner_id'] + if partner_bank_read: + res['value']['partner_id'] = partner_bank_read[0] + if (state == 'valid' and partner_bank_id + and type == 'recurrent' + and recurrent_sequence_type != 'first'): + res['value']['recurrent_sequence_type'] = 'first' + res['warning'] = { + 'title': _('Mandate update'), + 'message': _( + "As you changed the bank account attached to this " + "mandate, the 'Sequence Type' has been set back to " + "'First'."), + } + return res + + def validate(self, cr, uid, ids, context=None): + to_validate_ids = [] + for mandate in self.browse(cr, uid, ids, context=context): + assert mandate.state == 'draft', 'Mandate should be in draft state' + to_validate_ids.append(mandate.id) + self.write( + cr, uid, to_validate_ids, {'state': 'valid'}, context=context) + return True + + def cancel(self, cr, uid, ids, context=None): + to_cancel_ids = [] + for mandate in self.browse(cr, uid, ids, context=context): + assert mandate.state in ('draft', 'valid'),\ + 'Mandate should be in draft or valid state' + to_cancel_ids.append(mandate.id) + self.write( + cr, uid, to_cancel_ids, {'state': 'cancel'}, context=context) + return True + + def back2draft(self, cr, uid, ids, context=None): + to_draft_ids = [] + for mandate in self.browse(cr, uid, ids, context=context): + assert mandate.state == 'cancel',\ + 'Mandate should be in cancel state' + to_draft_ids.append(mandate.id) + self.write( + cr, uid, to_draft_ids, {'state': 'draft'}, context=context) + return True + + def _sdd_mandate_set_state_to_expired(self, cr, uid, context=None): + logger.info('Searching for SDD Mandates that must be set to Expired') + expire_limit_date = datetime.today() + \ + relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY) + expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d') + expired_mandate_ids = self.search(cr, uid, [ + '|', + ('last_debit_date', '=', False), + ('last_debit_date', '<=', expire_limit_date_str), + ('state', '=', 'valid'), + ('signature_date', '<=', expire_limit_date_str), + ], context=context) + if expired_mandate_ids: + self.write( + cr, uid, expired_mandate_ids, {'state': 'expired'}, + context=context) + logger.info( + 'The following SDD Mandate IDs has been set to expired: %s' + % expired_mandate_ids) + else: + logger.info('0 SDD Mandates must be set to Expired') + return True + + +class res_partner_bank(orm.Model): + _inherit = 'res.partner.bank' + + _columns = { + 'sdd_mandate_ids': fields.one2many( + 'sdd.mandate', 'partner_bank_id', 'SEPA Direct Debit Mandates'), + } + + +class payment_line(orm.Model): + _inherit = 'payment.line' + + _columns = { + 'sdd_mandate_id': fields.many2one( + 'sdd.mandate', 'SEPA Direct Debit Mandate', + domain=[('state', '=', 'valid')]), + } + + def create(self, cr, uid, vals, context=None): + '''If the customer invoice has a mandate, take it + otherwise, take the first valid mandate of the bank account''' + if context is None: + context = {} + if not vals: + vals = {} + partner_bank_id = vals.get('bank_id') + move_line_id = vals.get('move_line_id') + if (context.get('default_payment_order_type') == 'debit' + and 'sdd_mandate_id' not in vals): + if move_line_id: + line = self.pool['account.move.line'].browse( + cr, uid, move_line_id, context=context) + if (line.invoice and line.invoice.type == 'out_invoice' + and line.invoice.sdd_mandate_id): + vals.update({ + 'sdd_mandate_id': line.invoice.sdd_mandate_id.id, + 'bank_id': + line.invoice.sdd_mandate_id.partner_bank_id.id, + }) + if partner_bank_id and 'sdd_mandate_id' not in vals: + mandate_ids = self.pool['sdd.mandate'].search(cr, uid, [ + ('partner_bank_id', '=', partner_bank_id), + ('state', '=', 'valid'), + ], context=context) + if mandate_ids: + vals['sdd_mandate_id'] = mandate_ids[0] + return super(payment_line, self).create(cr, uid, vals, context=context) + + def _check_mandate_bank_link(self, cr, uid, ids): + for payline in self.browse(cr, uid, ids): + if (payline.sdd_mandate_id and payline.bank_id + and payline.sdd_mandate_id.partner_bank_id.id != + payline.bank_id.id): + raise orm.except_orm( + _('Error:'), + _("The payment line with reference '%s' has the bank " + "account '%s' which is not attached to the mandate " + "'%s' (this mandate is attached to the bank account " + "'%s').") % ( + payline.name, + self.pool['res.partner.bank'].name_get( + cr, uid, [payline.bank_id.id])[0][1], + payline.sdd_mandate_id.unique_mandate_reference, + self.pool['res.partner.bank'].name_get( + cr, uid, + [payline.sdd_mandate_id.partner_bank_id.id])[0][1], + )) + return True + + _constraints = [ + (_check_mandate_bank_link, 'Error msg in raise', + ['sdd_mandate_id', 'bank_id']), + ] + + +class account_invoice(orm.Model): + _inherit = 'account.invoice' + + _columns = { + 'sdd_mandate_id': fields.many2one( + 'sdd.mandate', 'SEPA Direct Debit Mandate', + domain=[('state', '=', 'valid')], readonly=True, + states={'draft': [('readonly', False)]}) + } diff --git a/account_banking_sepa_direct_debit/account_banking_sdd_view.xml b/account_banking_sepa_direct_debit/account_banking_sdd_view.xml new file mode 100644 index 00000000000..f74b60353e6 --- /dev/null +++ b/account_banking_sepa_direct_debit/account_banking_sdd_view.xml @@ -0,0 +1,77 @@ + + + + + + + account.banking.export.sdd.form + banking.export.sdd + +
+
+ +
+ + + + + + + + + + + + + + + + +
+
+
+ + + + account.banking.export.sdd.tree + banking.export.sdd + + + + + + + + + + + + + SEPA Direct Debit Files + banking.export.sdd + form + tree,form + + + + + + + +
+
diff --git a/account_banking_sepa_direct_debit/account_invoice_view.xml b/account_banking_sepa_direct_debit/account_invoice_view.xml new file mode 100644 index 00000000000..2ca480e5407 --- /dev/null +++ b/account_banking_sepa_direct_debit/account_invoice_view.xml @@ -0,0 +1,22 @@ + + + + + + + add.sdd.mandate.on.customer.invoice.form + account.invoice + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/account_payment_view.xml b/account_banking_sepa_direct_debit/account_payment_view.xml new file mode 100644 index 00000000000..74098c44eed --- /dev/null +++ b/account_banking_sepa_direct_debit/account_payment_view.xml @@ -0,0 +1,26 @@ + + + + + + + sdd.payment.order.form + payment.order + + + + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/company.py b/account_banking_sepa_direct_debit/company.py new file mode 100644 index 00000000000..6d54ba8e6ce --- /dev/null +++ b/account_banking_sepa_direct_debit/company.py @@ -0,0 +1,90 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import orm, fields +import logging + +logger = logging.getLogger(__name__) + + +class res_company(orm.Model): + _inherit = 'res.company' + + _columns = { + 'sepa_creditor_identifier': fields.char( + 'SEPA Creditor Identifier', size=35, + help="Enter the Creditor Identifier that has been attributed " + "to your company to make SEPA Direct Debits. This identifier " + "is composed of :\n- your country ISO code (2 letters)\n- a " + "2-digits checkum\n- a 3-letters business code\n- a " + "country-specific identifier"), + 'original_creditor_identifier': fields.char( + 'Original Creditor Identifier', size=70), + } + + def is_sepa_creditor_identifier_valid( + self, cr, uid, sepa_creditor_identifier, context=None): + """Check if SEPA Creditor Identifier is valid + @param sepa_creditor_identifier: SEPA Creditor Identifier as str + or unicode + @return: True if valid, False otherwise + """ + if not isinstance(sepa_creditor_identifier, (str, unicode)): + return False + try: + sci_str = str(sepa_creditor_identifier) + except: + logger.warning( + "SEPA Creditor ID should contain only ASCII caracters.") + return False + sci = sci_str.lower() + if len(sci) < 9: + return False + before_replacement = sci[7:] + sci[0:2] + '00' + logger.debug( + "SEPA ID check before_replacement = %s" % before_replacement) + after_replacement = '' + for char in before_replacement: + if char.isalpha(): + after_replacement += str(ord(char)-87) + else: + after_replacement += char + logger.debug( + "SEPA ID check after_replacement = %s" % after_replacement) + if int(sci[2:4]) == (98 - (int(after_replacement) % 97)): + return True + else: + return False + + def _check_sepa_creditor_identifier(self, cr, uid, ids): + for company in self.browse(cr, uid, ids): + if company.sepa_creditor_identifier: + if not self.is_sepa_creditor_identifier_valid( + cr, uid, company.sepa_creditor_identifier): + return False + return True + + _constraints = [ + (_check_sepa_creditor_identifier, + "Invalid SEPA Creditor Identifier.", + ['sepa_creditor_identifier']), + ] diff --git a/account_banking_sepa_direct_debit/company_view.xml b/account_banking_sepa_direct_debit/company_view.xml new file mode 100644 index 00000000000..e4c9e0b9361 --- /dev/null +++ b/account_banking_sepa_direct_debit/company_view.xml @@ -0,0 +1,23 @@ + + + + + + + sepa_direct_debit.res.company.form + res.company + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml new file mode 100644 index 00000000000..68075d526dd --- /dev/null +++ b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml @@ -0,0 +1,21 @@ + + + + + + + SDD Mandate Reference + sdd.mandate.reference + + + + SDD Mandate Reference + sdd.mandate.reference + RUM + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd new file mode 100644 index 00000000000..63359725617 --- /dev/null +++ b/account_banking_sepa_direct_debit/data/pain.008.001.02.xsd @@ -0,0 +1,879 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd new file mode 100644 index 00000000000..73d8943794e --- /dev/null +++ b/account_banking_sepa_direct_debit/data/pain.008.001.03.xsd @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd b/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd new file mode 100644 index 00000000000..93806815afa --- /dev/null +++ b/account_banking_sepa_direct_debit/data/pain.008.001.04.xsd @@ -0,0 +1,892 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/payment_type_sdd.xml b/account_banking_sepa_direct_debit/data/payment_type_sdd.xml new file mode 100644 index 00000000000..a17b3b21ce8 --- /dev/null +++ b/account_banking_sepa_direct_debit/data/payment_type_sdd.xml @@ -0,0 +1,35 @@ + + + + + + + SEPA Direct Debit v02 (recommended) + pain.008.001.02 + + + debit + + + + SEPA Direct Debit v03 + pain.008.001.03 + + + debit + + + + SEPA Direct Debit v04 + pain.008.001.04 + + + debit + + + + + diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot new file mode 100644 index 00000000000..0db5767263e --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot @@ -0,0 +1,633 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-23 22:24+0000\n" +"PO-Revision-Date: 2013-12-23 22:24+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid +msgid "SEPA Direct Debit Mandate Validated" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,filename:0 +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 +#, python-format +msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 +#, python-format +msgid "Cannot validate the mandate '%s' without a date of signature." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:0 +#: view:res.partner.bank:0 +msgid "SDD Mandates" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: constraint:payment.line:0 +#: constraint:sdd.mandate:0 +msgid "Error msg in raise" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Reconciled" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu +#: view:res.partner.bank:0 +#: field:res.partner.bank,sdd_mandate_ids:0 +msgid "SEPA Direct Debit Mandates" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Validate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "Generate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel +msgid "SEPA Direct Debit Mandate Cancelled" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 +#, python-format +msgid "Error:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,unique_mandate_reference:0 +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Cancelled" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 +#, python-format +msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file_id:0 +msgid "SDD File" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired +msgid "SEPA Direct Debit Mandate has Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 +#, python-format +msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,charge_bearer:0 +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "SEPA Direct Debit" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "SEPA Direct Debit XML file generation" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_summary:0 +msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line +msgid "Payment Line" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,create_date:0 +msgid "Generation Date" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 +#, python-format +msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,nb_transactions:0 +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "One-Off" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,state:0 +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +#: field:banking.export.sdd,payment_order_ids:0 +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Type" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Sent" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: sql_constraint:sdd.mandate:0 +msgid "A Mandate with the same reference already exists for this company !" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,state:0 +msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,recurrent_sequence_type:0 +msgid "This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 +#, python-format +msgid "The date of signature of mandate '%s' is in the future !" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Signature Date" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,charge_bearer:0 +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,signature_date:0 +msgid "Date of Signature of the Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel +msgid "Mandate Cancelled" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order +msgid "Generated SEPA Direct Debit Files" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,sepa_migrated:0 +msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,company_id:0 +msgid "Company" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,batch_booking:0 +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 +#, python-format +msgid "Cannot validate the mandate '%s' because it is not attached to a bank account." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Draft" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 +#, python-format +msgid "Mandate update" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,batch_booking:0 +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,state:0 +msgid "Status" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,total_amount:0 +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd +msgid "SEPA Direct Debit Files" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 +#, python-format +msgid "The mandate '%s' can't have a date of last debit before the date of signature." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,original_mandate_identification:0 +msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:payment.order:0 +msgid "SDD Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.invoice,sdd_mandate_id:0 +#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate +#: field:payment.line,sdd_mandate_id:0 +#: view:sdd.mandate:0 +msgid "SEPA Direct Debit Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#, python-format +msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#, python-format +msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,scan:0 +msgid "Scan of the Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,last_debit_date:0 +msgid "Date of the Last Debit" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired +msgid "Mandate Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: constraint:res.company:0 +msgid "Invalid SEPA Creditor Identifier." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action +msgid "

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "General Information" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Valid" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Cancel" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: field:sdd.mandate,payment_line_ids:0 +msgid "Related Payment Lines" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "Recurrent" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,type:0 +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid +msgid "Mandate Validated" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,file:0 +msgid "SEPA File" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd +msgid "SEPA Direct Debit export" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_bank_id:0 +msgid "Bank Account" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#, python-format +msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 +#, python-format +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Search SEPA Direct Debit Mandates" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "" + diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po new file mode 100644 index 00000000000..9d30343dd67 --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -0,0 +1,642 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-23 22:25+0000\n" +"PO-Revision-Date: 2013-12-23 22:25+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid +msgid "SEPA Direct Debit Mandate Validated" +msgstr "Mandat de prélèvement SEPA validé" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,filename:0 +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Nom du fichier" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 +#, python-format +msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 +#, python-format +msgid "Cannot validate the mandate '%s' without a date of signature." +msgstr "Impossible de valider le mandat '%s' sans date de signature." + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Final" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Finir" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:0 +#: view:res.partner.bank:0 +msgid "SDD Mandates" +msgstr "Mandats SEPA" + +#. module: account_banking_sepa_direct_debit +#: constraint:payment.line:0 +#: constraint:sdd.mandate:0 +msgid "Error msg in raise" +msgstr "Error msg in raise" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Reconciled" +msgstr "Réconcilié" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Type de séquence pour le prochain prélèvement" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Supportés par le créancier" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu +#: view:res.partner.bank:0 +#: field:res.partner.bank,sdd_mandate_ids:0 +msgid "SEPA Direct Debit Mandates" +msgstr "Mandats de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Validate" +msgstr "Valider" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Type de séquence mis à Recurring" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "Generate" +msgstr "Générer" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel +msgid "SEPA Direct Debit Mandate Cancelled" +msgstr "Mandat de prélèvement SEPA annulé" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "Supportés par le débiteur" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 +#, python-format +msgid "Error:" +msgstr "Erreur :" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_ids:0 +msgid "Messages" +msgstr "Messages" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,unique_mandate_reference:0 +msgid "Unique Mandate Reference" +msgstr "Référence unique de mandat" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Cancelled" +msgstr "Annulé" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 +#, python-format +msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." +msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "If checked new messages require your attention." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file_id:0 +msgid "SDD File" +msgstr "Fichier de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired +msgid "SEPA Direct Debit Mandate has Expired" +msgstr "Le mandat de prélèvement SEPA a expiré" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 +#, python-format +msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." +msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'." + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,charge_bearer:0 +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." +msgstr "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur." + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Reference" +msgstr "Référence" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "SEPA Direct Debit" +msgstr "Prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "SEPA Direct Debit XML file generation" +msgstr "Génération de fichiers de prélèvement SEPA XML" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_summary:0 +msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." +msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line +msgid "Payment Line" +msgstr "Ligne de paiement" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,create_date:0 +msgid "Generation Date" +msgstr "Date de génération" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 +#, python-format +msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')." +msgstr "La ligne de paiement portant la référence '%s' est configurée avec le compte bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché au compte bancaire '%s')." + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Créer" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,nb_transactions:0 +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Nombre de transactions" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "One-Off" +msgstr "One-Off" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,state:0 +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "État" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "Le mandat récurrent '%s' doit avoir un type de séquence." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_follower_ids:0 +msgid "Followers" +msgstr "Followers" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_unread:0 +msgid "Unread Messages" +msgstr "Unread Messages" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +#: field:banking.export.sdd,payment_order_ids:0 +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Ordres de paiement" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Type" +msgstr "Type" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Sent" +msgstr "Envoyé" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Ancien Identifiant Créancier" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Recurring" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n" +"- du code ISO de votre pays (2 lettres)\n" +"- un code de contrôle à 2 chiffres\n" +"- un code d'activité à 3 lettres\n" +"- un identifiant national" + +#. module: account_banking_sepa_direct_debit +#: sql_constraint:sdd.mandate:0 +msgid "A Mandate with the same reference already exists for this company !" +msgstr "Un mandat avec la même référence existe déjà pour cette société !" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,state:0 +msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months." +msgstr "Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. Un mandate annulé est un mandat qui a été annulé par le client. Un mandat One-Off expire à l'issue de sa première utilisation. Un mandate récurrent expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 mois." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,recurrent_sequence_type:0 +msgid "This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 +#, python-format +msgid "The date of signature of mandate '%s' is in the future !" +msgstr "La date de signature du mandat '%s' est dans le futur !" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Signature Date" +msgstr "Date de signature" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,charge_bearer:0 +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Répartition des frais" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_id:0 +msgid "Partner" +msgstr "Partenaire" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "First" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,signature_date:0 +msgid "Date of Signature of the Mandate" +msgstr "Date de signature du mandat" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel +msgid "Mandate Cancelled" +msgstr "Mandat annulé" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order +msgid "Generated SEPA Direct Debit Files" +msgstr "Fichiers de prélèvement SEPA générés" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,sepa_migrated:0 +msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." +msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,company_id:0 +msgid "Company" +msgstr "Société" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Export du fichier de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,batch_booking:0 +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." +msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 +#, python-format +msgid "Cannot validate the mandate '%s' because it is not attached to a bank account." +msgstr "Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte bancaire." + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Draft" +msgstr "Brouillon" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 +#, python-format +msgid "Mandate update" +msgstr "Mise-à-jour du mandat" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Partagée" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,batch_booking:0 +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Crédit groupé" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Migré à SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,state:0 +msgid "Status" +msgstr "Statut" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,total_amount:0 +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Montant total" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd +msgid "SEPA Direct Debit Files" +msgstr "Fichiers de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Suivant le niveau de service" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 +#, python-format +msgid "The mandate '%s' can't have a date of last debit before the date of signature." +msgstr "Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la date de signature." + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Type de Séquence mis à Final" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_is_follower:0 +msgid "Is a Follower" +msgstr "Is a Follower" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,original_mandate_identification:0 +msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." +msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement." + +#. module: account_banking_sepa_direct_debit +#: view:payment.order:0 +msgid "SDD Mandate" +msgstr "Mandat de prélèvement" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Ancien Identifiant du Mandat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Sociétés" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_summary:0 +msgid "Summary" +msgstr "Résumé" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Ancien mandat requis (SEPA)" + +#. module: account_banking_sepa_direct_debit +#: field:account.invoice,sdd_mandate_id:0 +#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate +#: field:payment.line,sdd_mandate_id:0 +#: view:sdd.mandate:0 +msgid "SEPA Direct Debit Mandate" +msgstr "Mandat de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#, python-format +msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." +msgstr "Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour partenaire '%s' et pour référence de facture '%s'." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#, python-format +msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." +msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,scan:0 +msgid "Scan of the Mandate" +msgstr "Scan du mandat" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,last_debit_date:0 +msgid "Date of the Last Debit" +msgstr "Date du dernier prélèvement" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired +msgid "Mandate Expired" +msgstr "Mandat expiré" + +#. module: account_banking_sepa_direct_debit +#: constraint:res.company:0 +msgid "Invalid SEPA Creditor Identifier." +msgstr "Identifiant créancier SEPA invalide." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank +msgid "Bank Accounts" +msgstr "Comptes bancaires" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action +msgid "

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "

\n" +" Cliquez pour créer un mandat de prélèvement SEPA.\n" +"

\n" +" Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n" +"

\n" +" " + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "General Information" +msgstr "Informations générales" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Valid" +msgstr "Valide" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice +msgid "Invoice" +msgstr "Facture" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Cancel" +msgstr "Annuler" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: field:sdd.mandate,payment_line_ids:0 +msgid "Related Payment Lines" +msgstr "Lignes de paiement associées" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "Recurrent" +msgstr "Récurrent" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,type:0 +msgid "Type of Mandate" +msgstr "Type de mandat" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid +msgid "Mandate Validated" +msgstr "Mandat validé" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,file:0 +msgid "SEPA File" +msgstr "Fichier SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "Identifiant créancier SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd +msgid "SEPA Direct Debit export" +msgstr "Export de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Expired" +msgstr "Expiré" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_bank_id:0 +msgid "Bank Account" +msgstr "Compte bancaire" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#, python-format +msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." +msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'." + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Type de Séquence mis à First" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 +#, python-format +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." +msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_ids:0 +msgid "Messages and communication history" +msgstr "Messages and communication history" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Search SEPA Direct Debit Mandates" +msgstr "Recherche dans les mandats de prélèvement SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Fichier" + diff --git a/account_banking_sepa_direct_debit/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/mandate_expire_cron.xml new file mode 100644 index 00000000000..4cb0693d2d2 --- /dev/null +++ b/account_banking_sepa_direct_debit/mandate_expire_cron.xml @@ -0,0 +1,26 @@ + + + + + + + + + Set SEPA Direct Debit Mandates to Expired + + + 1 + days + -1 + + + + + + + + diff --git a/account_banking_sepa_direct_debit/res_partner_bank_view.xml b/account_banking_sepa_direct_debit/res_partner_bank_view.xml new file mode 100644 index 00000000000..0b32e9f1c26 --- /dev/null +++ b/account_banking_sepa_direct_debit/res_partner_bank_view.xml @@ -0,0 +1,48 @@ + + + + + + + sdd.mandate.res.partner.bank.form + res.partner.bank + + + + + + + + + + + + sdd.mandate.res.partner.bank.tree + res.partner.bank + + + + + + + + + + + sdd.mandate.partner.form + res.partner + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/sdd_mandate_view.xml b/account_banking_sepa_direct_debit/sdd_mandate_view.xml new file mode 100644 index 00000000000..bd1dd6e7976 --- /dev/null +++ b/account_banking_sepa_direct_debit/sdd_mandate_view.xml @@ -0,0 +1,152 @@ + + + + + + + sdd.mandate.form + sdd.mandate + +
+
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ + + sdd.mandate.tree + sdd.mandate + + + + + + + + + + + + + + + sdd.mandate.search + sdd.mandate + + + + + + + + + + + + + + + SEPA Direct Debit Mandates + sdd.mandate + form + tree,form + +

+ Click to create a new SEPA Direct Debit Mandate. +

+ A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account. +

+
+
+ + + + + + Mandate Validated + sdd.mandate + + SEPA Direct Debit Mandate Validated + + + + Mandate Expired + sdd.mandate + + SEPA Direct Debit Mandate has Expired + + + + Mandate Cancelled + sdd.mandate + + SEPA Direct Debit Mandate Cancelled + + + + Sequence Type set to First + sdd.mandate + + Sequence Type set to First + + + + Sequence Type set to Recurring + sdd.mandate + + Sequence Type set to Recurring + + + + Sequence Type set to Final + sdd.mandate + + Sequence Type set to Final + + +
+
diff --git a/account_banking_sepa_direct_debit/security/ir.model.access.csv b/account_banking_sepa_direct_debit/security/ir.model.access.csv new file mode 100644 index 00000000000..cf78ffb59bc --- /dev/null +++ b/account_banking_sepa_direct_debit/security/ir.model.access.csv @@ -0,0 +1,4 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_banking_export_sdd","Full access on banking.export.sdd","model_banking_export_sdd","account_payment.group_account_payment",1,1,1,1 +"access_sdd_mandate","Full access on sdd.mandate","model_sdd_mandate","account_payment.group_account_payment",1,1,1,1 +"access_sdd_mandate_read","Read access on sdd.mandate","model_sdd_mandate","base.group_user",1,0,0,0 diff --git a/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml b/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml new file mode 100644 index 00000000000..e6a8570cfb6 --- /dev/null +++ b/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml @@ -0,0 +1,17 @@ + + + + + + + + Original Mandate Required (SEPA) + + + + + diff --git a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml new file mode 100644 index 00000000000..22026108841 --- /dev/null +++ b/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml @@ -0,0 +1,27 @@ + + + + + + + SEPA Direct Debit La Banque Postale + + + + + + + + FR78ZZZ424242 + + + + + recurrent + first + 2014-02-01 + valid + + + + diff --git a/account_banking_sepa_direct_debit/static/src/img/icon.png b/account_banking_sepa_direct_debit/static/src/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1d923b6506b33ca0825af17ed0ae36c9bd0dc6 GIT binary patch literal 6892 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*$` z7B3e|!Eq@702*vbL_t(|+RdAHcwFVR?tgpFo<5^8Ga8M0v1A#^k}b=Yja)D`;hH!h zp@cw^OL9)Yq+CcN<6E5%AqMj|;G$)Txm zv~I!^I(n+U|IaV%J#*-PEC8EIvy(P$%HNgdO88Wo)4Jx^$zJiqnE@oNL}_sbt5#-` zn{6jC!MNykqR|+A0~0j24O4rvo6#{JPP>^cm3fMya-x68^T%U{J0Cw#*ERV+0)Xw? z^PE*Hm)%;JXZu1R7){^3zgZMD8a}eEn2qa~A&T!EDNduL$l2G| z?|I^Ib>}0m9&R7`rvY&Lm$vLGD@wn^;}2!--hWoi&vSCawd=523?E3mswy0=Zs#vA zoun|&&brdfuKK2dAOG~%haUe>0oZjz#fp-mjE6JR61P43w|dd#O5!uut;cB4@?ovo zQ$0NQ{Bb_Au|UyC!v5;ou3Mk^+v&3(H~?R}sp@l8Yx3{!=oxn%sq5p*|9S~&uEY<; z=<3=oDl2klUdLhz&puy6PtO=1-C8(wx_RhpKY8?x=ibRRHSgrhKe+w!`!|&5-t)J8 zO$jE8iLc(g^#gPF`Bo?##g=Sl+#MhkiefhDDJ#h!H^;$m|5#(WxIF8s%JMAJKMuF= zdtU*ls6e{y3s*c@R+N6rZ(lg6`Q*peu(_)6JsINC$> zNhT&HgP;mn%z8%0{G_=O*>rIsFYKuov(u8Qwr?!RaR*!X3=X2a=MdPs73ou#eexMs ziuLN>zgRDR`R1)SY?gOqY+y`e0MUY=F=MeNqS0tTRZ&$1k7p7^_M^o7sPY7A z%#FnmMHJ)L@cF~+ef=z18A+^NoilUoqcxpuSerNV`oEt!g59jeYSI7cg#$0%aNq#) zdjjCc-`(+KNs;TuXZ}_%e&yy%m+bP9D8z(xM13|%wroUEL`4NuR7IKon;8I9Rh@pR z#NPw_zA?gqZgj#3MtzKl$sk&-hSv5GBGDL?YjO!rg)y7-^z^yO&a?sWm)&((w4f^L z2#y}Y&K93A-N&ee=ehSBM@H+}zGm)-xa za=>@Ly7l^XtFrFfeV|2i-L;k2lFS#}@Kn@}*>NdJjv^$jVLGPO_yIn>dVBi_27_2E z=U-1<;P1GHXfzTAlbyCsFDWSw%=$1Ula8J~H^=L`iOMp|3sNx|bcDk)k%-Ki)j7O= zq+KXpmQq=iXKy-G)7`ja57>1>#fplOjGxvu4oaJ<3Q0{#Sk!PiCJ>d%NX^}e+2WXo zz^L^0_HpRYVVav;@cDf2$|EF6OHxWX<5Rf=L-7bU8?@Mx%=Gk45Q`}cjd+>#1OfQp z*KgopZMRf*QTl^7UbSlZk^v~aDC=QaQJoQ0q~xNE#f?`abV=JtNn0}~iw6P$nwy(B z@cJ8^ZEhhH3Zbeh$;rv@=>*BiDZ&?7hR%@4%Hj-s{s?uadpTCyg(Qh6(@rFc0-wIR zlDej$^tG#V9$r!ieCNxT?pj-xdFz`ed&TRnUdLi5Q&iSrw0#6?Vg{ht1qR|*5V_pC@ZYZRobyQqkoPNjFisiFnR675~=CXpXI_;Lsu0fxepPRCv z@rnZarnWu>U9ir4EU5{b~()`rL9o%7qI`kM zNfN56@Vlq~fXCxy-)n#2uP^Qa;MLdu!6jR&`0Qt{QhlQIW@n4;oLanAmJf|bXA^(0MA&0KTMm3;Xt-=wiIUei=U3aaCS0QF(oH@4m@s#B4U9 zo|hB;_=l%BR$as1egELb&wq(MFFnVmEjxJW#b-%OOh8o>+S)qs`vW}rn}=|vrlP6} zimLGYXJ6okPhZ8vq=(*qHxZ=(gE)#t6zCtEM3!TetVl_Vs0p-u~@s;UrEVmRzJ1Odjz-8k%abUF?F{R6}TC(%kWvaFDn znutz!E+NXY!ttXmihDBfz#aF!@@)|y$zrH-dx9)4T=?#)8Ykui*OG|JeD0r=lz=2j z7m&PE#>Xe-yl*rZiALpFNmo%6L{WpmU?4Lijo!X~Iy!qm5Qzzn>0?ryVTI?|q=-4e zAX=^ZDgbePSw^PQVJQnm6mhX)M`tNmGE;NA-E-rA3G8opWCWkji`P4wDx1wF91a`V zS(!wmQ2-JX6H%1dIoGzB(CM@Yf`A}7h{fVQ6pBRW<{h05m)*L$;-VavSW%X}Ex~Hg znHDi#RRt`G1xq$QcHYL`y0bQ$eZk)}Hl1b16;~6Q3Zo)$@utgXeV&+@fJP(Y_4+Ux zjWeM#JTe+5N$p*PLlNYtJZ+$fsA8PqERo3U{n%|*bUKY;?Hbo*qSIwv24FE87CHJ7 z(dtY~0$_aHJ*OtnXf)XE^Ls!z9A?j+S1B)F6|WFgm1BqZ&Kp+2;1r38Rzl%0$;nCN z=48bUmNZCO39artQC6@{eZg~GT}Q+ZU+pnWAtON)Q^JnnBYnJ}4*^LjvW@kP|0sAJ3KDxz|XhBJ*6m#m<^p^>XTu@j@w z$jQ3XJo?B3yuAB4{_^}&05qIwV$;UT8RG$JYU;?%%{rF?G$IjMo#`LUsb>TMK@v@( zMkAW^+6#1agr&6)CfxJI|NP-|*=1Y#Kev99y1IHcZ>~Zk3Y=+dV&@f?Q(Iey#bV** zSN5@b)k?m4+qb!5=XLBqaEMd&4eYpl8@GM^4t8GoS@yiLm!6(JoT(|?e9P?&3=E%_ z2Q-X~`Z#r_pA+@H3=VtFM*xi=ScJ##xn?js%jR@tITs}OCg-)7ttlvqf*>$26AXt# z?B9QYxHqY&N?gb&E?z;JEA=g2x1cIKF)>LX5I`e|bai$!G(1Yhnle;HrLplW7Zn%L z($b2-U?3|q9Tk-mC+b;KUdqVG810>1tgkGmq2VkA%W}{g^mLwmjc{m+43Ac~dv;9M2ET#m{S8V1d0`d~#e{@cfq^b%|r*lc(qtok%#bQLGG8&Br zqap6zo!vc@l*ARJNJK``NV8a7ykiu?F#Y|g97B>M!r=&G6Fzct?C5k7MuV1&v_u95 zJu{+4OjZ42OjUz#v8DxifE;{R>@P7f5lLEF_?V1FT&`5)XcRdXBQO=B`uGWa=dr>- zAb`aZ&qu-F6lQb$sEdRn#N-%tb!S+XpM@kzOiXxiIV>z+<|KW(cPR)0k%&C4O(?`< zB`AXG7J-S$z{1Cy?0Z+|zs+V_GJj}nYUavMT#q1%$k7-sr-RCMYi8v0uC5+_^1vgQ zEoP!o8L!um)oNkqm7gUXj*^j)77t1Ftv!c$d+Ff|L@*e&(_n@`z%5QqMSCPkWNIq1 zu>L1|7Tvth=O+{j&7r?``@#T(!(oPoMsT|)h(@CvJb0Lm8#kaTDxuI68clqoxjET1 zx3+Qc&7%|*6{68-$j;8d7x3e-+t~f$(*%M+%oZ~#4m*AQgK_Yabol%cqSGWO7E>7- z@sOPv=OmGktONql9w`u(I{>1Qh2uOD7+4g5(b183>+8Ho5;YoZHe0;Bov+d9@gd7m zt@N73>ET3g#GDK4V6whoueNq%lNu~>|; zF*hx(?L76{=XmgEchhv%PitEz*)Ek8g{jokbz`?#@OXn1U77kTL6$7t{9WYwxt5)!Ta?&&}9 zgCE|@8wU?_#g31#e0d=a4NWvOH1YfkyUEVVL?cOjao0CUNKD|FXJ4SRtB1S(<337? zizqC}Lm*D4FJ6~VYKoP0<+)^}B~5FIqgYH@dWR?5#QM_%`#rv?NN6g$;87q5Dt=Gf zyq^W9rsj?R#nNg|PcH_8o}d5xF>b!;3%FdVtSl);r_=GXpZ$`?re-3M2(RrufZ1%~ zc+Cmyb{luy^=(c!G!YI**t_?2%2$`NEI)@!w{GOlJHEl)Km2a|R0w*J!ya_g%JAC< zv%;Y;et#r%;^fGF@y(OH14CoJx>UQ7p5F0=!@xg301c-b=I!hIyuKNg=k2*65{c)V z*4B0k3zyN*(8#)VYlz7TjZMw`_4%i1s6WE-WBUO(c<3nk`MG!|y%ZMYV>IfiJJrCl z{9FbGhdEwTM_z6=k#GdPPDfg*NKs)b&XoBnd}u1n@VKw8wyAqa1PJ(|hjm(sfdTiz zWH2^Dz&mta40||steVNm`KQ&Q(I}_t>*s*r_4?3HQ`n6gH}D_d{}GK%&8%Bjfuh8? z>XSRU=DN?bvg~4d`}zTRzgwq zOec)so(wWN<|7oEEr^Vb`w>-D@dQGLW;DT1?I_vw`RglRZ||94%Oxe^d>x@lPmobh zB8J3rCMG5cO$CY5LiIdN@O-uxXM&QXA;n?GY&K&uo3PuH85!tQ0pBo**$Cx{XYSN&d~BYBs;{(&?ibfX24bo{j5rcV?$2rFZmB3iAy;b##w2;U2~pG=Lz1 zsv=1ef+!G+#fZfeWla-l)q>am0q99^4 z>abYM)4V~QAuZ?k2Hz4pe11RO-MtJBk5E{UKl44UR?E~>5Tn?M$sjU1?x($T42Rt^ zlM7T8T3Y(?`9jqXJod&9X7vSn`zHTfkmFc8*fIjE=k^AQi(J#{kV;Cp1|_)^>P1x+eb1VKdRx)W>2sM4dW~XQGpT*7EuNjEsz(OSq9K#8@w)2#1cf zQ(M;qz~Jz?1byIOGt2YrN_UU@H^+{(dFO49AFJ(ncx2qyQ&yC!?EOdM!U~ZH;fdD? z`iB200C*<7jE%dei#i!Oa1xh8k03yDk_oGIw!j+*Mi?EQBovmrUOCqEiv{NcUOw11 zcB*mk?xX|*UXPz~_re8|MvUSgc@^JzN8^XRVsZpI*ojdW!erK?s*viil46gK@vU4D zpKf_^PaPMp$x==>^xb{rNS}Mr5t*Mn_Qn$}9bmo*#f(sQcNbQ}C`rZvtY(S!u2Gs=hDmW)>Fsy3EH5RV z11tvofiO?~{!OmfvOIF6rfb))eqViX$p8QxuIWCrJlB!1wk&Hyd*`U&3r5LIPriUR zOc4pRpxbi^z^$Q{r7ubxqZ?7UMSvVP1`Fe37I8T6*((v>bix2Vc(+R zaIPN+TG59_>0@&IEJ6PWp`edwBt$4Iqc<35866A;3HU|{1%?QC+nMq-U=({WXnklU z6`w!M;p%o|S)sHzgA}_3lSxP4z+@Z%qmD7RpNAja&-EWGRl55op8x9`FWuDDwfMyN zk{+0-s6hJEWmo)a^~#JJ51;532gick@-JIvRM~gB6h*}!lu=bNt|TckMuRwKvg_@u z{!Blq&IHUR9o>CyN{Z6(`9fH&25L|Bu;-OieE#YRrLk@3iC2!i{N)QxiZ96n00sw9 z_P*Kn*P>+(8XJpR<1!iu7_clE%8APDGn8Vq_7y-q-{*UStuEh@c_`N_|9 z%!HH0tVfbWo_h8O1HGeMvtwoC#F>Hn?!5o+U%$|ue@6hkwf=FqeP3!yLQ7tzZPUeT zvdvFDS1q)(k5F2iu_OcD>vFpTq&O^SG$IzWp1RY0JowAKtS`$@iVITv57l&k>7GaS zKm1Ovsd=ZHIC`S{j80;Y$)qp3d~;!*2GRyK(-j~PZ7FsC|%XG73jE5iF zk9*9^jaQc|V-tZ_4;TO1sk|iP-%{+B+@mMD#Y45-tXZAI z&dWJSP9G?v0 z4@L=vqR5JZ$*9AqldxEHWTqyNnU&-T=)lS5-hmHtfBzqpiy;_LBaChU0000 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import export_sdd diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py new file mode 100644 index 00000000000..19520d31803 --- /dev/null +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -0,0 +1,451 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + + +from openerp.osv import orm, fields +from openerp.tools.translate import _ +from openerp import netsvc +from datetime import datetime +from lxml import etree + + +class banking_export_sdd_wizard(orm.TransientModel): + _name = 'banking.export.sdd.wizard' + _inherit = ['banking.export.pain'] + _description = 'Export SEPA Direct Debit File' + _columns = { + 'state': fields.selection([ + ('create', 'Create'), + ('finish', 'Finish'), + ], 'State', readonly=True), + 'batch_booking': fields.boolean( + 'Batch Booking', + help="If true, the bank statement will display only one credit " + "line for all the direct debits of the SEPA file ; if false, " + "the bank statement will display one credit line per direct " + "debit of the SEPA file."), + 'charge_bearer': fields.selection([ + ('SLEV', 'Following Service Level'), + ('SHAR', 'Shared'), + ('CRED', 'Borne by Creditor'), + ('DEBT', 'Borne by Debtor'), + ], 'Charge Bearer', required=True, + help="Following service level : transaction charges are to be " + "applied following the rules agreed in the service level and/or " + "scheme (SEPA Core messages must use this). Shared : transaction " + "charges on the creditor side are to be borne by the creditor, " + "transaction charges on the debtor side are to be borne by the " + "debtor. Borne by creditor : all transaction charges are to be " + "borne by the creditor. Borne by debtor : all transaction " + "charges are to be borne by the debtor."), + 'nb_transactions': fields.related( + 'file_id', 'nb_transactions', type='integer', + string='Number of Transactions', readonly=True), + 'total_amount': fields.related( + 'file_id', 'total_amount', type='float', string='Total Amount', + readonly=True), + 'file_id': fields.many2one( + 'banking.export.sdd', 'SDD File', readonly=True), + 'file': fields.related( + 'file_id', 'file', string="File", type='binary', readonly=True), + 'filename': fields.related( + 'file_id', 'filename', string="Filename", type='char', size=256, + readonly=True), + 'payment_order_ids': fields.many2many( + 'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id', + 'payment_order_id', 'Payment Orders', readonly=True), + } + + _defaults = { + 'charge_bearer': 'SLEV', + 'state': 'create', + } + + def create(self, cr, uid, vals, context=None): + payment_order_ids = context.get('active_ids', []) + vals.update({ + 'payment_order_ids': [[6, 0, payment_order_ids]], + }) + return super(banking_export_sdd_wizard, self).create( + cr, uid, vals, context=context) + + def _get_previous_bank(self, cr, uid, payline, context=None): + payline_obj = self.pool['payment.line'] + previous_bank = False + payline_ids = payline_obj.search( + cr, uid, [ + ('sdd_mandate_id', '=', payline.sdd_mandate_id.id), + ('bank_id', '!=', payline.bank_id.id), + ], + context=context) + if payline_ids: + older_lines = payline_obj.browse( + cr, uid, payline_ids, context=context) + previous_date = False + previous_payline_id = False + for older_line in older_lines: + older_line_date_sent = older_line.order_id.date_sent + if (older_line_date_sent + and older_line_date_sent > previous_date): + previous_date = older_line_date_sent + previous_payline_id = older_line.id + if previous_payline_id: + previous_payline = payline_obj.browse( + cr, uid, previous_payline_id, context=context) + previous_bank = previous_payline.bank_id + return previous_bank + + def create_sepa(self, cr, uid, ids, context=None): + ''' + Creates the SEPA Direct Debit file. That's the important code ! + ''' + sepa_export = self.browse(cr, uid, ids[0], context=context) + + pain_flavor = sepa_export.payment_order_ids[0].mode.type.code + convert_to_ascii = \ + sepa_export.payment_order_ids[0].mode.convert_to_ascii + if pain_flavor == 'pain.008.001.02': + bic_xml_tag = 'BIC' + name_maxsize = 70 + root_xml_tag = 'CstmrDrctDbtInitn' + elif pain_flavor == 'pain.008.001.03': + bic_xml_tag = 'BICFI' + name_maxsize = 140 + root_xml_tag = 'CstmrDrctDbtInitn' + elif pain_flavor == 'pain.008.001.04': + bic_xml_tag = 'BICFI' + name_maxsize = 140 + root_xml_tag = 'CstmrDrctDbtInitn' + else: + raise orm.except_orm( + _('Error:'), + _("Payment Type Code '%s' is not supported. The only " + "Payment Type Code supported for SEPA Direct Debit " + "are 'pain.008.001.02', 'pain.008.001.03' and " + "'pain.008.001.04'.") % pain_flavor) + + gen_args = { + 'bic_xml_tag': bic_xml_tag, + 'name_maxsize': name_maxsize, + 'convert_to_ascii': convert_to_ascii, + 'payment_method': 'DD', + 'pain_flavor': pain_flavor, + 'sepa_export': sepa_export, + 'file_obj': self.pool['banking.export.sdd'], + 'pain_xsd_file': + 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor, + } + + pain_ns = { + 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', + None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor, + } + + xml_root = etree.Element('Document', nsmap=pain_ns) + pain_root = etree.SubElement(xml_root, root_xml_tag) + + # A. Group header + group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \ + self.generate_group_header_block( + cr, uid, pain_root, gen_args, context=context) + + transactions_count_1_6 = 0 + total_amount = 0.0 + amount_control_sum_1_7 = 0.0 + lines_per_group = {} + # key = (requested_date, priority, sequence type) + # value = list of lines as objects + # Iterate on payment orders + today = fields.date.context_today(self, cr, uid, context=context) + for payment_order in sepa_export.payment_order_ids: + total_amount = total_amount + payment_order.total + # Iterate each payment lines + for line in payment_order.line_ids: + transactions_count_1_6 += 1 + priority = line.priority + if payment_order.date_prefered == 'due': + requested_date = line.ml_maturity_date or today + elif payment_order.date_prefered == 'fixed': + requested_date = payment_order.date_scheduled or today + else: + requested_date = today + if not line.sdd_mandate_id: + raise orm.except_orm( + _('Error:'), + _("Missing SEPA Direct Debit mandate on the payment " + "line with partner '%s' and Invoice ref '%s'.") + % (line.partner_id.name, + line.ml_inv_ref.number)) + if line.sdd_mandate_id.state != 'valid': + raise orm.except_orm( + _('Error:'), + _("The SEPA Direct Debit mandate with reference '%s' " + "for partner '%s' has expired.") + % (line.sdd_mandate_id.unique_mandate_reference, + line.sdd_mandate_id.partner_id.name)) + if line.sdd_mandate_id.type == 'oneoff': + if not line.sdd_mandate_id.last_debit_date: + seq_type = 'OOFF' + else: + raise orm.except_orm( + _('Error:'), + _("The mandate with reference '%s' for partner " + "'%s' has type set to 'One-Off' and it has a " + "last debit date set to '%s', so we can't use " + "it.") + % (line.sdd_mandate_id.unique_mandate_reference, + line.sdd_mandate_id.partner_id.name, + line.sdd_mandate_id.last_debit_date)) + elif line.sdd_mandate_id.type == 'recurrent': + seq_type_map = { + 'recurring': 'RCUR', + 'first': 'FRST', + 'final': 'FNAL', + } + seq_type_label = \ + line.sdd_mandate_id.recurrent_sequence_type + assert seq_type_label is not False + seq_type = seq_type_map[seq_type_label] + + key = (requested_date, priority, seq_type) + if key in lines_per_group: + lines_per_group[key].append(line) + else: + lines_per_group[key] = [line] + # Write requested_exec_date on 'Payment date' of the pay line + if requested_date != line.date: + self.pool['payment.line'].write( + cr, uid, line.id, + {'date': requested_date}, context=context) + + for (requested_date, priority, sequence_type), lines in \ + lines_per_group.items(): + # B. Payment info + payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \ + self.generate_start_payment_info_block( + cr, uid, pain_root, + "sepa_export.payment_order_ids[0].reference + '-' + " + "sequence_type + '-' + requested_date.replace('-', '') " + "+ '-' + priority", + priority, 'CORE', sequence_type, requested_date, { + 'sepa_export': sepa_export, + 'sequence_type': sequence_type, + 'priority': priority, + 'requested_date': requested_date, + }, gen_args, context=context) + + self.generate_party_block( + cr, uid, payment_info_2_0, 'Cdtr', 'B', + 'sepa_export.payment_order_ids[0].mode.bank_id.partner_id.' + 'name', + 'sepa_export.payment_order_ids[0].mode.bank_id.acc_number', + 'sepa_export.payment_order_ids[0].mode.bank_id.bank.bic', + {'sepa_export': sepa_export}, + gen_args, context=context) + + charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr') + charge_bearer_2_24.text = sepa_export.charge_bearer + + creditor_scheme_identification_2_27 = etree.SubElement( + payment_info_2_0, 'CdtrSchmeId') + self.generate_creditor_scheme_identification( + cr, uid, creditor_scheme_identification_2_27, + 'sepa_export.payment_order_ids[0].company_id.' + 'sepa_creditor_identifier', + 'SEPA Creditor Identifier', {'sepa_export': sepa_export}, + 'SEPA', gen_args, context=context) + + transactions_count_2_4 = 0 + amount_control_sum_2_5 = 0.0 + for line in lines: + transactions_count_2_4 += 1 + # C. Direct Debit Transaction Info + dd_transaction_info_2_28 = etree.SubElement( + payment_info_2_0, 'DrctDbtTxInf') + payment_identification_2_29 = etree.SubElement( + dd_transaction_info_2_28, 'PmtId') + end2end_identification_2_31 = etree.SubElement( + payment_identification_2_29, 'EndToEndId') + end2end_identification_2_31.text = self._prepare_field( + cr, uid, 'End to End Identification', 'line.name', + {'line': line}, 35, + gen_args=gen_args, context=context) + currency_name = self._prepare_field( + cr, uid, 'Currency Code', 'line.currency.name', + {'line': line}, 3, gen_args=gen_args, + context=context) + instructed_amount_2_44 = etree.SubElement( + dd_transaction_info_2_28, 'InstdAmt', Ccy=currency_name) + instructed_amount_2_44.text = '%.2f' % line.amount_currency + amount_control_sum_1_7 += line.amount_currency + amount_control_sum_2_5 += line.amount_currency + dd_transaction_2_46 = etree.SubElement( + dd_transaction_info_2_28, 'DrctDbtTx') + mandate_related_info_2_47 = etree.SubElement( + dd_transaction_2_46, 'MndtRltdInf') + mandate_identification_2_48 = etree.SubElement( + mandate_related_info_2_47, 'MndtId') + mandate_identification_2_48.text = self._prepare_field( + cr, uid, 'Unique Mandate Reference', + 'line.sdd_mandate_id.unique_mandate_reference', + {'line': line}, 35, + gen_args=gen_args, context=context) + mandate_signature_date_2_49 = etree.SubElement( + mandate_related_info_2_47, 'DtOfSgntr') + mandate_signature_date_2_49.text = self._prepare_field( + cr, uid, 'Mandate Signature Date', + 'line.sdd_mandate_id.signature_date', + {'line': line}, 10, + gen_args=gen_args, context=context) + if sequence_type == 'FRST' and ( + line.sdd_mandate_id.last_debit_date or + not line.sdd_mandate_id.sepa_migrated): + previous_bank = self._get_previous_bank( + cr, uid, line, context=context) + if previous_bank or not line.sdd_mandate_id.sepa_migrated: + amendment_indicator_2_50 = etree.SubElement( + mandate_related_info_2_47, 'AmdmntInd') + amendment_indicator_2_50.text = 'true' + amendment_info_details_2_51 = etree.SubElement( + mandate_related_info_2_47, 'AmdmntInfDtls') + if previous_bank: + if previous_bank.bank.bic == line.bank_id.bank.bic: + ori_debtor_account_2_57 = etree.SubElement( + amendment_info_details_2_51, 'OrgnlDbtrAcct') + ori_debtor_account_id = etree.SubElement( + ori_debtor_account_2_57, 'Id') + ori_debtor_account_iban = etree.SubElement( + ori_debtor_account_id, 'IBAN') + ori_debtor_account_iban.text = self._validate_iban( + cr, uid, self._prepare_field( + cr, uid, 'Original Debtor Account', + 'previous_bank.acc_number', + {'previous_bank': previous_bank}, + gen_args=gen_args, + context=context), + context=context) + else: + ori_debtor_agent_2_58 = etree.SubElement( + amendment_info_details_2_51, 'OrgnlDbtrAgt') + ori_debtor_agent_institution = etree.SubElement( + ori_debtor_agent_2_58, 'FinInstnId') + ori_debtor_agent_bic = etree.SubElement( + ori_debtor_agent_institution, bic_xml_tag) + ori_debtor_agent_bic.text = self._prepare_field( + cr, uid, 'Original Debtor Agent', + 'previous_bank.bank.bic', + {'previous_bank': previous_bank}, + gen_args=gen_args, + context=context) + ori_debtor_agent_other = etree.SubElement( + ori_debtor_agent_institution, 'Othr') + ori_debtor_agent_other_id = etree.SubElement( + ori_debtor_agent_other, 'Id') + ori_debtor_agent_other_id.text = 'SMNDA' + # SMNDA = Same Mandate New Debtor Agent + elif not line.sdd_mandate_id.sepa_migrated: + ori_mandate_identification_2_52 = etree.SubElement( + amendment_info_details_2_51, 'OrgnlMndtId') + ori_mandate_identification_2_52.text = \ + self._prepare_field( + cr, uid, 'Original Mandate Identification', + 'line.sdd_mandate_id.' + 'original_mandate_identification', + {'line': line}, + gen_args=gen_args, + context=context) + ori_creditor_scheme_id_2_53 = etree.SubElement( + amendment_info_details_2_51, 'OrgnlCdtrSchmeId') + self.generate_creditor_scheme_identification( + cr, uid, ori_creditor_scheme_id_2_53, + 'sepa_export.payment_order_ids[0].company_id.' + 'original_creditor_identifier', + 'Original Creditor Identifier', + {'sepa_export': sepa_export}, + 'SEPA', gen_args, context=context) + + self.generate_party_block( + cr, uid, dd_transaction_info_2_28, 'Dbtr', 'C', + 'line.partner_id.name', + 'line.bank_id.acc_number', + 'line.bank_id.bank.bic', + {'line': line}, gen_args, context=context) + + self.generate_remittance_info_block( + cr, uid, dd_transaction_info_2_28, + line, gen_args, context=context) + + nb_of_transactions_2_4.text = str(transactions_count_2_4) + control_sum_2_5.text = '%.2f' % amount_control_sum_2_5 + nb_of_transactions_1_6.text = str(transactions_count_1_6) + control_sum_1_7.text = '%.2f' % amount_control_sum_1_7 + + return self.finalize_sepa_file_creation( + cr, uid, ids, xml_root, total_amount, transactions_count_1_6, + gen_args, context=context) + + def cancel_sepa(self, cr, uid, ids, context=None): + ''' + Cancel the SEPA file: just drop the file + ''' + sepa_export = self.browse(cr, uid, ids[0], context=context) + self.pool.get('banking.export.sdd').unlink( + cr, uid, sepa_export.file_id.id, context=context) + return {'type': 'ir.actions.act_window_close'} + + def save_sepa(self, cr, uid, ids, context=None): + ''' + Save the SEPA Direct Debit file: mark all payments in the file + as 'sent'. Write 'last debit date' on mandate and set oneoff + mandate to expired + ''' + sepa_export = self.browse(cr, uid, ids[0], context=context) + self.pool.get('banking.export.sdd').write( + cr, uid, sepa_export.file_id.id, {'state': 'sent'}, + context=context) + wf_service = netsvc.LocalService('workflow') + for order in sepa_export.payment_order_ids: + wf_service.trg_validate(uid, 'payment.order', order.id, 'done', cr) + mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids] + self.pool['sdd.mandate'].write( + cr, uid, mandate_ids, + {'last_debit_date': datetime.today().strftime('%Y-%m-%d')}, + context=context) + to_expire_ids = [] + first_mandate_ids = [] + for line in order.line_ids: + if line.sdd_mandate_id.type == 'oneoff': + to_expire_ids.append(line.sdd_mandate_id.id) + elif line.sdd_mandate_id.type == 'recurrent': + seq_type = line.sdd_mandate_id.recurrent_sequence_type + if seq_type == 'final': + to_expire_ids.append(line.sdd_mandate_id.id) + elif seq_type == 'first': + first_mandate_ids.append(line.sdd_mandate_id.id) + self.pool['sdd.mandate'].write( + cr, uid, to_expire_ids, {'state': 'expired'}, context=context) + self.pool['sdd.mandate'].write( + cr, uid, first_mandate_ids, { + 'recurrent_sequence_type': 'recurring', + 'sepa_migrated': True, + }, context=context) + return {'type': 'ir.actions.act_window_close'} diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml new file mode 100644 index 00000000000..3699de91caf --- /dev/null +++ b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml @@ -0,0 +1,37 @@ + + + + + + + banking.export.sdd.wizard.view + banking.export.sdd.wizard + +
+ + + + + + + + + + + +
+
+ +
+
+ +
+
From d040a4e71ecb22c410750ec6a78805ff7a9c5421 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of banking-addons-team Date: Sat, 1 Feb 2014 06:56:49 +0000 Subject: [PATCH 02/83] Launchpad automatic translations update. --- account_banking_sepa_direct_debit/i18n/fr.po | 199 +++-- account_banking_sepa_direct_debit/i18n/nl.po | 754 +++++++++++++++++++ 2 files changed, 907 insertions(+), 46 deletions(-) create mode 100644 account_banking_sepa_direct_debit/i18n/nl.po diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 9d30343dd67..3744da85064 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -6,14 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: OpenERP Server 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-23 22:25+0000\n" -"PO-Revision-Date: 2013-12-23 22:25+0000\n" -"Last-Translator: <>\n" +"POT-Creation-Date: 2013-12-23 22:24+0000\n" +"PO-Revision-Date: 2014-02-01 04:49+0000\n" +"Last-Translator: Alexis de Lattre \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n" +"X-Generator: Launchpad (build 17031)\n" #. module: account_banking_sepa_direct_debit #: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid @@ -29,8 +30,12 @@ msgstr "Nom du fichier" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 #, python-format -msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." -msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré." +msgid "" +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "" +"Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire " +"'%s' a expiré." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 @@ -148,8 +153,14 @@ msgstr "Annulé" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 #, python-format -msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." -msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'." +msgid "" +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " +"'pain.008.001.04'." +msgstr "" +"Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type " +"de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', " +"'pain.008.001.03' et 'pain.008.001.04'." #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,message_unread:0 @@ -169,14 +180,32 @@ msgstr "Le mandat de prélèvement SEPA a expiré" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 #, python-format -msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." -msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'." +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "" +"Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit " +"avec sa séquence mise à 'First'." #. module: account_banking_sepa_direct_debit #: help:banking.export.sdd,charge_bearer:0 #: help:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." -msgstr "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur." +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must " +"use this). Shared : transaction charges on the creditor side are to be borne " +"by the creditor, transaction charges on the debtor side are to be borne by " +"the debtor. Borne by creditor : all transaction charges are to be borne by " +"the creditor. Borne by debtor : all transaction charges are to be borne by " +"the debtor." +msgstr "" +"Suivant le niveau de service : la répartition des frais bancaires suit les " +"règles pré-établies dans le schema ou dans le contrat avec la banque (les " +"messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais " +"bancaires côté débiteur sont à la charge du débiteur, les frais bancaires " +"côté créancier sont à la charge du créancier. Supportés par le créancier : " +"tous les frais bancaires sont à la charge du créancier. Supportés par le " +"débiteur : tous les frais bancaires sont à la charge du débiteur." #. module: account_banking_sepa_direct_debit #: view:sdd.mandate:0 @@ -195,8 +224,12 @@ msgstr "Génération de fichiers de prélèvement SEPA XML" #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,message_summary:0 -msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." -msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line @@ -211,8 +244,14 @@ msgstr "Date de génération" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 #, python-format -msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')." -msgstr "La ligne de paiement portant la référence '%s' est configurée avec le compte bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché au compte bancaire '%s')." +msgid "" +"The payment line with reference '%s' has the bank account '%s' which is not " +"attached to the mandate '%s' (this mandate is attached to the bank account " +"'%s')." +msgstr "" +"La ligne de paiement portant la référence '%s' est configurée avec le compte " +"bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché " +"au compte bancaire '%s')." #. module: account_banking_sepa_direct_debit #: selection:banking.export.sdd.wizard,state:0 @@ -282,12 +321,16 @@ msgstr "Recurring" #. module: account_banking_sepa_direct_debit #: help:res.company,sepa_creditor_identifier:0 -msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to " +"make SEPA Direct Debits. This identifier is composed of :\n" "- your country ISO code (2 letters)\n" "- a 2-digits checkum\n" "- a 3-letters business code\n" "- a country-specific identifier" -msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n" +msgstr "" +"Entrez l'Identifiant créancier qui a été attribué à votre société pour " +"réaliser des prélèvements SEPA. Cet identifiant est composé de :\n" "- du code ISO de votre pays (2 lettres)\n" "- un code de contrôle à 2 chiffres\n" "- un code d'activité à 3 lettres\n" @@ -300,13 +343,25 @@ msgstr "Un mandat avec la même référence existe déjà pour cette société ! #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,state:0 -msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months." -msgstr "Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. Un mandate annulé est un mandat qui a été annulé par le client. Un mandat One-Off expire à l'issue de sa première utilisation. Un mandate récurrent expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 mois." +msgid "" +"Only valid mandates can be used in a payment line. A cancelled mandate is a " +"mandate that has been cancelled by the customer. A one-off mandate expires " +"after its first use. A recurrent mandate expires after it's final use or if " +"it hasn't been used for 36 months." +msgstr "" +"Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. " +"Un mandate annulé est un mandat qui a été annulé par le client. Un mandat " +"One-Off expire à l'issue de sa première utilisation. Un mandate récurrent " +"expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 " +"mois." #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,recurrent_sequence_type:0 -msgid "This field is only used for Recurrent mandates, not for One-Off mandates." -msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off." +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "" +"Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats " +"One-Off." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 @@ -352,8 +407,20 @@ msgstr "Fichiers de prélèvement SEPA générés" #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,sepa_migrated:0 -msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." -msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif." +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "" +"Si cette option n'est pas activée, la section qui concerne le mandat dans le " +"prochain fichier de prélèvement qui incluera ce mandat contiendra les champs " +"'Original Mandate Identification' et 'Original Creditor Scheme " +"Identification'. Ces champs sont requis dans certains pays (en Belgique " +"notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis " +"dans votre pays, vous devriez garder ce champ toujours actif." #. module: account_banking_sepa_direct_debit #: field:sdd.mandate,company_id:0 @@ -368,14 +435,25 @@ msgstr "Export du fichier de prélèvement SEPA" #. module: account_banking_sepa_direct_debit #: help:banking.export.sdd,batch_booking:0 #: help:banking.export.sdd.wizard,batch_booking:0 -msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." -msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA." +msgid "" +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "" +"Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit " +"pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de " +"banque fera apparaître une ligne de crédit pour chaque prélèvement du " +"fichier SEPA." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 #, python-format -msgid "Cannot validate the mandate '%s' because it is not attached to a bank account." -msgstr "Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte bancaire." +msgid "" +"Cannot validate the mandate '%s' because it is not attached to a bank " +"account." +msgstr "" +"Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte " +"bancaire." #. module: account_banking_sepa_direct_debit #: selection:banking.export.sdd,state:0 @@ -433,8 +511,12 @@ msgstr "Suivant le niveau de service" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 #, python-format -msgid "The mandate '%s' can't have a date of last debit before the date of signature." -msgstr "Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la date de signature." +msgid "" +"The mandate '%s' can't have a date of last debit before the date of " +"signature." +msgstr "" +"Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la " +"date de signature." #. module: account_banking_sepa_direct_debit #: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final @@ -449,8 +531,12 @@ msgstr "Is a Follower" #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,original_mandate_identification:0 -msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." -msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement." +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "" +"Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original " +"Mandate Identification' dans le fichier de prélèvement." #. module: account_banking_sepa_direct_debit #: view:payment.order:0 @@ -488,14 +574,22 @@ msgstr "Mandat de prélèvement SEPA" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 #, python-format -msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." -msgstr "Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour partenaire '%s' et pour référence de facture '%s'." +msgid "" +"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and " +"Invoice ref '%s'." +msgstr "" +"Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour " +"partenaire '%s' et pour référence de facture '%s'." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 #, python-format -msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." -msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." +msgid "" +"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " +"and it has a last debit date set to '%s', so we can't use it." +msgstr "" +"Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-" +"Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." #. module: account_banking_sepa_direct_debit #: field:sdd.mandate,scan:0 @@ -524,16 +618,22 @@ msgstr "Comptes bancaires" #. module: account_banking_sepa_direct_debit #: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action -msgid "

\n" +msgid "" +"

\n" " Click to create a new SEPA Direct Debit Mandate.\n" "

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +" A SEPA Direct Debit Mandate is a document signed by your customer " +"that gives you the autorization to do one or several direct debits on his " +"bank account.\n" "

\n" " " -msgstr "

\n" +msgstr "" +"

\n" " Cliquez pour créer un mandat de prélèvement SEPA.\n" "

\n" -" Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n" +" Un mandat de prélèvement SEPA est un document signé par votre client " +"qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur " +"son compte bancaire.\n" "

\n" " " @@ -610,8 +710,12 @@ msgstr "Compte bancaire" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 #, python-format -msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." -msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'." +msgid "" +"You must set the 'Original Mandate Identification' on the recurrent mandate " +"'%s' which is not marked as 'Migrated to SEPA'." +msgstr "" +"Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat " +"récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'." #. module: account_banking_sepa_direct_debit #: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first @@ -622,8 +726,12 @@ msgstr "Type de Séquence mis à First" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 #, python-format -msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." -msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'." +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "" +"Etant donné que vous avez changé le compte bancaire associé à ce mandat, le " +"'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit #: help:sdd.mandate,message_ids:0 @@ -639,4 +747,3 @@ msgstr "Recherche dans les mandats de prélèvement SEPA" #: field:banking.export.sdd.wizard,file:0 msgid "File" msgstr "Fichier" - diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po new file mode 100644 index 00000000000..2c2ccc12fc4 --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -0,0 +1,754 @@ +# Dutch translation for banking-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the banking-addons package. +# FIRST AUTHOR , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: banking-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2013-12-23 22:24+0000\n" +"PO-Revision-Date: 2014-04-24 10:38+0000\n" +"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n" +"X-Generator: Launchpad (build 17031)\n" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid +msgid "SEPA Direct Debit Mandate Validated" +msgstr "SEPA incasso machtiging bevestigd." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,filename:0 +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Bestandsnaam" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 +#, python-format +msgid "" +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "" +"De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 +#, python-format +msgid "Cannot validate the mandate '%s' without a date of signature." +msgstr "" +"Het is niet mogelijk de machtiging '%s' te bevestigen zonder een datum van " +"ondertekenen." + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Definitief" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Gereed" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:0 +#: view:res.partner.bank:0 +msgid "SDD Mandates" +msgstr "SDD machteging" + +#. module: account_banking_sepa_direct_debit +#: constraint:payment.line:0 +#: constraint:sdd.mandate:0 +msgid "Error msg in raise" +msgstr "Fout bericht" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Reconciled" +msgstr "Afgeletterd" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Reeks soort voor volgende incasso" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Op rekening van schuldeiser" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu +#: view:res.partner.bank:0 +#: field:res.partner.bank,sdd_mandate_ids:0 +msgid "SEPA Direct Debit Mandates" +msgstr "SEPA incasso machtegingen" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Validate" +msgstr "Bevestigen" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Reeks soort ingesteld op herhalend" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "Generate" +msgstr "Genereer" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel +msgid "SEPA Direct Debit Mandate Cancelled" +msgstr "SEPA incasso machtegingen geannuleerd" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "Rekening van schuldenaar" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 +#, python-format +msgid "Error:" +msgstr "Fout:" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_ids:0 +msgid "Messages" +msgstr "Berichten" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,unique_mandate_reference:0 +msgid "Unique Mandate Reference" +msgstr "Unieke machtiging referentie" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Cancelled" +msgstr "Geannuleerd" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 +#, python-format +msgid "" +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " +"'pain.008.001.04'." +msgstr "" +"Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code " +"ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en " +"'pain.008.001.04'." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file_id:0 +msgid "SDD File" +msgstr "SDD bestand" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired +msgid "SEPA Direct Debit Mandate has Expired" +msgstr "SEPA Direct incasso machtiging is verlopen" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 +#, python-format +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "" +"Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd " +"naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'." + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,charge_bearer:0 +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must " +"use this). Shared : transaction charges on the creditor side are to be borne " +"by the creditor, transaction charges on the debtor side are to be borne by " +"the debtor. Borne by creditor : all transaction charges are to be borne by " +"the creditor. Borne by debtor : all transaction charges are to be borne by " +"the debtor." +msgstr "" +"Volg service level: Transactie kosten worden toegepast volgens de " +"afgesproken regels in het service level en/of schema (Voor SEPA berichten " +"deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn " +"voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de " +"schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn " +"voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle " +"transactie kosten zijn voor rekening van de schuldeiser." + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Reference" +msgstr "Referentie" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "SEPA Direct Debit" +msgstr "SEPA Incasso (Direct Debit)" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +msgid "SEPA Direct Debit XML file generation" +msgstr "SEPA Incasso XML bestand aanmaken" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" +"Bevat de samenvatting van de chatter (aantal berichten,...). Deze " +"samenvatting is direct in html formaat om zo in de kanban weergave te worden " +"ingevoegd." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line +msgid "Payment Line" +msgstr "Betaalregel" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,create_date:0 +msgid "Generation Date" +msgstr "Aangemaakt op" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 +#, python-format +msgid "" +"The payment line with reference '%s' has the bank account '%s' which is not " +"attached to the mandate '%s' (this mandate is attached to the bank account " +"'%s')." +msgstr "" +"De betaalregel met referentie '%s' heeft het bankrekeningnummer '%s' welke " +"niet is gekoppeld aan de machtiging '%s' (deze machtiging is gekoppeld aan " +"bankrekening '%s')." + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Aanmaken" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,nb_transactions:0 +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Aantal transacties" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "One-Off" +msgstr "Eenmalig" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,state:0 +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "Status" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_follower_ids:0 +msgid "Followers" +msgstr "Volgers" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_unread:0 +msgid "Unread Messages" +msgstr "Ongelezen berichten" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +#: field:banking.export.sdd,payment_order_ids:0 +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Betaalopdrachten" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Type" +msgstr "Soort" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Sent" +msgstr "Verstuurd" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Originele Incassant-ID" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Terugkerend" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to " +"make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "" +"Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit " +"te voeren. De Incassant-ID is samengesteld uit:\n" +"- uw ISO landcode (2 letters)\n" +"- een 2 cijferig controlegetal\n" +"- een 3 cijferig business code\n" +"- een landspecifieke identifier" + +#. module: account_banking_sepa_direct_debit +#: sql_constraint:sdd.mandate:0 +msgid "A Mandate with the same reference already exists for this company !" +msgstr "Een machtiging met dezelfde referentie bestaat al vooR dit bedrijf!" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,state:0 +msgid "" +"Only valid mandates can be used in a payment line. A cancelled mandate is a " +"mandate that has been cancelled by the customer. A one-off mandate expires " +"after its first use. A recurrent mandate expires after it's final use or if " +"it hasn't been used for 36 months." +msgstr "" +"Alleen geldige machtigingen kunnen worden gebruikt op betaalregels. Een " +"geannuleerde machtiging is een machtiging welke is geannuleerd door de " +"klant. Een eenmalige machtiging verloopt na eenmalig gebruik. Een herhalende " +"machtiging verloopt na zijn laatste gebruik of als deze niet is gebruikt " +"voor 36 maanden." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,recurrent_sequence_type:0 +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "" +"Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een " +"eenmalige machtiging." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 +#, python-format +msgid "The date of signature of mandate '%s' is in the future !" +msgstr "" +"De datum van de handtekening van de machtiging '%s' is in de toekomst!" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Signature Date" +msgstr "Handtekening datum" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,charge_bearer:0 +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Kostenverdeling" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_id:0 +msgid "Partner" +msgstr "Relatie" + +#. module: account_banking_sepa_direct_debit +#: selection:sdd.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "Eerste" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,signature_date:0 +msgid "Date of Signature of the Mandate" +msgstr "Datum avn de handtekening van de machtiging" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel +msgid "Mandate Cancelled" +msgstr "Machtiging geannuleerd" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order +msgid "Generated SEPA Direct Debit Files" +msgstr "Genereerde SEPA incasso bestanden" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,sepa_migrated:0 +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "" +"Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso " +"bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' " +"en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in " +"een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. " +"Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt " +"te houden." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,company_id:0 +msgid "Company" +msgstr "Bedijf" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Exporteer SEPA incasso bestand" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,batch_booking:0 +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "" +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "" +"Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven " +"voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor " +"iedere incasso een credit regel weergegeven op het bankafschrift." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 +#, python-format +msgid "" +"Cannot validate the mandate '%s' because it is not attached to a bank " +"account." +msgstr "" +"Kan de machtiging '%s' niet bevestigen omdat deze niet is gekoppeld aan een " +"bankrekening." + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Draft" +msgstr "Concept" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 +#, python-format +msgid "Mandate update" +msgstr "Machtiging bijwerken" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Gedeeld" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,batch_booking:0 +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Bach verwerking" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Gemigreerd naar SEPa" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,state:0 +msgid "Status" +msgstr "Status" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,total_amount:0 +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Totaalbedrag" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd +msgid "SEPA Direct Debit Files" +msgstr "SEPA incasso bestanden" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Volg service level" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 +#, python-format +msgid "" +"The mandate '%s' can't have a date of last debit before the date of " +"signature." +msgstr "" +"De machtiging '%s' kan geen datum van laatste incasso hebben die eerder is " +"dan de datum van ondertekening." + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Reeks soort ingesteld op definitief" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_is_follower:0 +msgid "Is a Follower" +msgstr "Is een volger" + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,original_mandate_identification:0 +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "" +"Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden " +"gebruikt als de originele machtiging identificatie in het incasso bestand." + +#. module: account_banking_sepa_direct_debit +#: view:payment.order:0 +msgid "SDD Mandate" +msgstr "SDD machtiging" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Originele machtiging indificatie" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Bedrijven" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,message_summary:0 +msgid "Summary" +msgstr "Samenvatting" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Originele machtiging benodigd (SEPA)" + +#. module: account_banking_sepa_direct_debit +#: field:account.invoice,sdd_mandate_id:0 +#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate +#: field:payment.line,sdd_mandate_id:0 +#: view:sdd.mandate:0 +msgid "SEPA Direct Debit Mandate" +msgstr "SEPA incasso machtiging" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#, python-format +msgid "" +"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and " +"Invoice ref '%s'." +msgstr "" +"Ontbrekende SEPA incasso machtiging op de betaalregel met relatie '%s' en " +"factuur referentie '%s'." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#, python-format +msgid "" +"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " +"and it has a last debit date set to '%s', so we can't use it." +msgstr "" +"De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en " +"de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet " +"gebruiken." + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,scan:0 +msgid "Scan of the Mandate" +msgstr "Scan van de machteging" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,last_debit_date:0 +msgid "Date of the Last Debit" +msgstr "Datum van laatste incasso" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired +msgid "Mandate Expired" +msgstr "Machtiging verlopen" + +#. module: account_banking_sepa_direct_debit +#: constraint:res.company:0 +msgid "Invalid SEPA Creditor Identifier." +msgstr "Ongeldige SEPA Incassant-ID." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank +msgid "Bank Accounts" +msgstr "Bankrekeningen" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action +msgid "" +"

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer " +"that gives you the autorization to do one or several direct debits on his " +"bank account.\n" +"

\n" +" " +msgstr "" +"

\n" +" Klik voor het maken van een nieuwe SEPA incasso machtiging.\n" +"

\n" +" Een SEPA incasso machtiging is een document ondertekend door uw " +"klant, welke u toestemming geeft om incasso's uit te voeren op zijn " +"bankrekening.\n" +"

\n" +" " + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:0 +msgid "General Information" +msgstr "Algemene informatie" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Valid" +msgstr "Geldig" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice +msgid "Invoice" +msgstr "Factuur" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:0 +#: view:sdd.mandate:0 +msgid "Cancel" +msgstr "Annuleer" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: field:sdd.mandate,payment_line_ids:0 +msgid "Related Payment Lines" +msgstr "Gerelateerde betaalregels" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,type:0 +msgid "Recurrent" +msgstr "Terugkerend" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,type:0 +msgid "Type of Mandate" +msgstr "Soort machtiging" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid +msgid "Mandate Validated" +msgstr "Machtiging bevestigd" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,file:0 +msgid "SEPA File" +msgstr "SEPA bestand" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "SEPA Incassant-ID" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd +msgid "SEPA Direct Debit export" +msgstr "SEPA incasso export" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +#: selection:sdd.mandate,state:0 +msgid "Expired" +msgstr "Verlopen" + +#. module: account_banking_sepa_direct_debit +#: field:sdd.mandate,partner_bank_id:0 +msgid "Bank Account" +msgstr "Bankrekening" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#, python-format +msgid "" +"You must set the 'Original Mandate Identification' on the recurrent mandate " +"'%s' which is not marked as 'Migrated to SEPA'." +msgstr "" +"U dient de 'Originele machtiging identificatie' in te stellen op de " +"herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar " +"SEPA'" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Reeks ingesteld op eerste" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 +#, python-format +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "" +"Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet " +"naar 'Eerste'." + +#. module: account_banking_sepa_direct_debit +#: help:sdd.mandate,message_ids:0 +msgid "Messages and communication history" +msgstr "Berichten en communicatie historie" + +#. module: account_banking_sepa_direct_debit +#: view:sdd.mandate:0 +msgid "Search SEPA Direct Debit Mandates" +msgstr "Zoek SEPA incasso machtigingen" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Bestand" From 6f6bc7067f62581318e83a87d9d6e338ade44d18 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 10 Sep 2014 12:19:20 +0200 Subject: [PATCH 03/83] [MIG] account_banking_sepa_direct_debit: Migration to 8.0 --- account_banking_sepa_direct_debit/__init__.py | 3 +- .../__openerp__.py | 50 +- .../account_banking_sdd.py | 440 ------------------ .../account_invoice_view.xml | 22 - .../account_payment_view.xml | 26 -- .../data/mandate_expire_cron.xml | 24 + .../data/mandate_reference_sequence.xml | 21 - .../{ => demo}/sepa_direct_debit_demo.xml | 2 +- .../mandate_expire_cron.xml | 26 -- .../models/__init__.py | 25 + .../models/account_banking_mandate.py | 145 ++++++ .../models/banking_export_sdd.py | 82 ++++ .../{company.py => models/res_company.py} | 56 +-- .../res_partner_bank_view.xml | 48 -- .../sdd_mandate_view.xml | 152 ------ .../security/ir.model.access.csv | 2 - .../static/description/icon.png | Bin 0 -> 7840 bytes .../static/description/icon.svg | 92 ++++ .../static/src/img/icon.png | Bin 6892 -> 0 bytes .../views/account_banking_mandate_view.xml | 117 +++++ .../{ => views}/account_banking_sdd_view.xml | 0 .../res_company_view.xml} | 0 .../wizard/export_sdd.py | 13 +- 23 files changed, 538 insertions(+), 808 deletions(-) delete mode 100644 account_banking_sepa_direct_debit/account_banking_sdd.py delete mode 100644 account_banking_sepa_direct_debit/account_invoice_view.xml delete mode 100644 account_banking_sepa_direct_debit/account_payment_view.xml create mode 100644 account_banking_sepa_direct_debit/data/mandate_expire_cron.xml delete mode 100644 account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml rename account_banking_sepa_direct_debit/{ => demo}/sepa_direct_debit_demo.xml (92%) delete mode 100644 account_banking_sepa_direct_debit/mandate_expire_cron.xml create mode 100644 account_banking_sepa_direct_debit/models/__init__.py create mode 100644 account_banking_sepa_direct_debit/models/account_banking_mandate.py create mode 100644 account_banking_sepa_direct_debit/models/banking_export_sdd.py rename account_banking_sepa_direct_debit/{company.py => models/res_company.py} (60%) delete mode 100644 account_banking_sepa_direct_debit/res_partner_bank_view.xml delete mode 100644 account_banking_sepa_direct_debit/sdd_mandate_view.xml create mode 100644 account_banking_sepa_direct_debit/static/description/icon.png create mode 100644 account_banking_sepa_direct_debit/static/description/icon.svg delete mode 100644 account_banking_sepa_direct_debit/static/src/img/icon.png create mode 100644 account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml rename account_banking_sepa_direct_debit/{ => views}/account_banking_sdd_view.xml (100%) rename account_banking_sepa_direct_debit/{company_view.xml => views/res_company_view.xml} (100%) diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py index f852fb7bdba..096fe8ad3fd 100644 --- a/account_banking_sepa_direct_debit/__init__.py +++ b/account_banking_sepa_direct_debit/__init__.py @@ -20,6 +20,5 @@ # ############################################################################## -from . import company +from . import models from . import wizard -from . import account_banking_sdd diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 5ea5dadb40e..6a95f025524 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -22,51 +22,45 @@ { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '0.1', + 'version': '8.0.0.2.0', 'license': 'AGPL-3', - 'author': 'Akretion', - 'website': 'http://www.akretion.com', + 'author': "Akretion, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Odoo Community Association (OCA)", + 'website': 'https://github.com/OCA/bank-payment', 'category': 'Banking addons', - 'depends': ['account_direct_debit', 'account_banking_pain_base'], + 'depends': [ + 'account_direct_debit', + 'account_banking_pain_base', + 'account_banking_mandate', + ], 'external_dependencies': { 'python': ['unidecode', 'lxml'], }, 'data': [ - 'security/original_mandate_required_security.xml', - 'account_banking_sdd_view.xml', - 'sdd_mandate_view.xml', - 'res_partner_bank_view.xml', - 'account_payment_view.xml', - 'company_view.xml', - 'mandate_expire_cron.xml', - 'account_invoice_view.xml', + 'views/account_banking_sdd_view.xml', + 'views/account_banking_mandate_view.xml', + 'views/res_company_view.xml', 'wizard/export_sdd_view.xml', + 'data/mandate_expire_cron.xml', 'data/payment_type_sdd.xml', - 'data/mandate_reference_sequence.xml', + 'security/original_mandate_required_security.xml', 'security/ir.model.access.csv', ], - 'demo': ['sepa_direct_debit_demo.xml'], + 'demo': ['demo/sepa_direct_debit_demo.xml'], 'description': ''' Module to export direct debit payment orders in SEPA XML file format. SEPA PAIN (PAyment INitiation) is the new european standard for -Customer-to-Bank payment instructions. - -This module implements SEPA Direct Debit (SDD), more specifically PAIN -versions 008.001.02, 008.001.03 and 008.001.04. -It is part of the ISO 20022 standard, available on http://www.iso20022.org. +Customer-to-Bank payment instructions. This module implements SEPA Direct +Debit (SDD), more specifically PAIN versions 008.001.02, 008.001.03 and +008.001.04. It is part of the ISO 20022 standard, available on +http://www.iso20022.org. The Implementation Guidelines for SEPA Direct Debit published by the European Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN -version 008.001.02. So if you don't know which version your bank supports, -you should try version 008.001.02 first. - -This module uses the framework provided by the banking addons, -cf https://www.github.com/OCA/banking-addons - -Please contact Alexis de Lattre from Akretion -for any help or question about this module. +version 008.001.02. So if you don't know which version your bank supports, you +should try version 008.001.02 first. ''', - 'active': False, 'installable': True, } diff --git a/account_banking_sepa_direct_debit/account_banking_sdd.py b/account_banking_sepa_direct_debit/account_banking_sdd.py deleted file mode 100644 index 87e50111b18..00000000000 --- a/account_banking_sepa_direct_debit/account_banking_sdd.py +++ /dev/null @@ -1,440 +0,0 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# SEPA Direct Debit module for OpenERP -# Copyright (C) 2013 Akretion (http://www.akretion.com) -# @author: Alexis de Lattre -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from openerp.osv import orm, fields -from openerp.tools.translate import _ -from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode -from datetime import datetime -from dateutil.relativedelta import relativedelta -import logging - -NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36 - -logger = logging.getLogger(__name__) - - -class banking_export_sdd(orm.Model): - '''SEPA Direct Debit export''' - _name = 'banking.export.sdd' - _description = __doc__ - _rec_name = 'filename' - - def _generate_filename(self, cr, uid, ids, name, arg, context=None): - res = {} - for sepa_file in self.browse(cr, uid, ids, context=context): - ref = sepa_file.payment_order_ids[0].reference - if ref: - label = unidecode(ref.replace('/', '-')) - else: - label = 'error' - res[sepa_file.id] = 'sdd_%s.xml' % label - return res - - _columns = { - 'payment_order_ids': fields.many2many( - 'payment.order', - 'account_payment_order_sdd_rel', - 'banking_export_sepa_id', 'account_order_id', - 'Payment Orders', - readonly=True), - 'nb_transactions': fields.integer( - 'Number of Transactions', readonly=True), - 'total_amount': fields.float( - 'Total Amount', digits_compute=dp.get_precision('Account'), - readonly=True), - 'batch_booking': fields.boolean( - 'Batch Booking', readonly=True, - help="If true, the bank statement will display only one credit " - "line for all the direct debits of the SEPA file ; if false, " - "the bank statement will display one credit line per direct " - "debit of the SEPA file."), - 'charge_bearer': fields.selection([ - ('SLEV', 'Following Service Level'), - ('SHAR', 'Shared'), - ('CRED', 'Borne by Creditor'), - ('DEBT', 'Borne by Debtor'), - ], 'Charge Bearer', readonly=True, - help="Following service level : transaction charges are to be " - "applied following the rules agreed in the service level and/or " - "scheme (SEPA Core messages must use this). Shared : " - "transaction charges on the creditor side are to be borne by " - "the creditor, transaction charges on the debtor side are to be " - "borne by the debtor. Borne by creditor : all transaction " - "charges are to be borne by the creditor. Borne by debtor : " - "all transaction charges are to be borne by the debtor."), - 'create_date': fields.datetime('Generation Date', readonly=True), - 'file': fields.binary('SEPA File', readonly=True), - 'filename': fields.function( - _generate_filename, type='char', size=256, - string='Filename', readonly=True, store=True), - 'state': fields.selection([ - ('draft', 'Draft'), - ('sent', 'Sent'), - ], 'State', readonly=True), - } - - _defaults = { - 'state': 'draft', - } - - -class sdd_mandate(orm.Model): - '''SEPA Direct Debit Mandate''' - _name = 'sdd.mandate' - _description = __doc__ - _rec_name = 'unique_mandate_reference' - _inherit = ['mail.thread'] - _order = 'signature_date desc' - _track = { - 'state': { - 'account_banking_sepa_direct_debit.mandate_valid': - lambda self, cr, uid, obj, ctx=None: - obj['state'] == 'valid', - 'account_banking_sepa_direct_debit.mandate_expired': - lambda self, cr, uid, obj, ctx=None: - obj['state'] == 'expired', - 'account_banking_sepa_direct_debit.mandate_cancel': - lambda self, cr, uid, obj, ctx=None: - obj['state'] == 'cancel', - }, - 'recurrent_sequence_type': { - 'account_banking_sepa_direct_debit.recurrent_sequence_type_first': - lambda self, cr, uid, obj, ctx=None: - obj['recurrent_sequence_type'] == 'first', - 'account_banking_sepa_direct_debit.' - 'recurrent_sequence_type_recurring': - lambda self, cr, uid, obj, ctx=None: - obj['recurrent_sequence_type'] == 'recurring', - 'account_banking_sepa_direct_debit.recurrent_sequence_type_final': - lambda self, cr, uid, obj, ctx=None: - obj['recurrent_sequence_type'] == 'final', - } - } - - _columns = { - 'partner_bank_id': fields.many2one( - 'res.partner.bank', 'Bank Account', track_visibility='onchange'), - 'partner_id': fields.related( - 'partner_bank_id', 'partner_id', type='many2one', - relation='res.partner', string='Partner', readonly=True), - 'company_id': fields.many2one('res.company', 'Company', required=True), - 'unique_mandate_reference': fields.char( - 'Unique Mandate Reference', size=35, readonly=True, - track_visibility='always'), - 'type': fields.selection([ - ('recurrent', 'Recurrent'), - ('oneoff', 'One-Off'), - ], 'Type of Mandate', required=True, track_visibility='always'), - 'recurrent_sequence_type': fields.selection([ - ('first', 'First'), - ('recurring', 'Recurring'), - ('final', 'Final'), - ], 'Sequence Type for Next Debit', track_visibility='onchange', - help="This field is only used for Recurrent mandates, not for " - "One-Off mandates."), - 'signature_date': fields.date( - 'Date of Signature of the Mandate', track_visibility='onchange'), - 'scan': fields.binary('Scan of the Mandate'), - 'last_debit_date': fields.date( - 'Date of the Last Debit', readonly=True), - 'state': fields.selection([ - ('draft', 'Draft'), - ('valid', 'Valid'), - ('expired', 'Expired'), - ('cancel', 'Cancelled'), - ], 'Status', - help="Only valid mandates can be used in a payment line. A " - "cancelled mandate is a mandate that has been cancelled by " - "the customer. A one-off mandate expires after its first use. " - "A recurrent mandate expires after it's final use or if it " - "hasn't been used for 36 months."), - 'payment_line_ids': fields.one2many( - 'payment.line', 'sdd_mandate_id', "Related Payment Lines"), - 'sepa_migrated': fields.boolean( - 'Migrated to SEPA', track_visibility='onchange', - help="If this field is not active, the mandate section of the " - "next direct debit file that include this mandate will contain " - "the 'Original Mandate Identification' and the 'Original " - "Creditor Scheme Identification'. This is required in a few " - "countries (Belgium for instance), but not in all countries. " - "If this is not required in your country, you should keep this " - "field always active."), - 'original_mandate_identification': fields.char( - 'Original Mandate Identification', size=35, - track_visibility='onchange', - help="When the field 'Migrated to SEPA' is not active, this " - "field will be used as the Original Mandate Identification in " - "the Direct Debit file."), - } - - _defaults = { - 'company_id': lambda self, cr, uid, context: - self.pool['res.company']._company_default_get( - cr, uid, 'sdd.mandate', context=context), - 'unique_mandate_reference': '/', - 'state': 'draft', - 'sepa_migrated': True, - } - - _sql_constraints = [( - 'mandate_ref_company_uniq', - 'unique(unique_mandate_reference, company_id)', - 'A Mandate with the same reference already exists for this company !' - )] - - def create(self, cr, uid, vals, context=None): - if vals.get('unique_mandate_reference', '/') == '/': - vals['unique_mandate_reference'] = \ - self.pool['ir.sequence'].next_by_code( - cr, uid, 'sdd.mandate.reference', context=context) - return super(sdd_mandate, self).create(cr, uid, vals, context=context) - - def _check_sdd_mandate(self, cr, uid, ids): - for mandate in self.browse(cr, uid, ids): - if (mandate.signature_date and - mandate.signature_date > - datetime.today().strftime('%Y-%m-%d')): - raise orm.except_orm( - _('Error:'), - _("The date of signature of mandate '%s' is in the " - "future !") - % mandate.unique_mandate_reference) - if mandate.state == 'valid' and not mandate.signature_date: - raise orm.except_orm( - _('Error:'), - _("Cannot validate the mandate '%s' without a date of " - "signature.") - % mandate.unique_mandate_reference) - if mandate.state == 'valid' and not mandate.partner_bank_id: - raise orm.except_orm( - _('Error:'), - _("Cannot validate the mandate '%s' because it is not " - "attached to a bank account.") - % mandate.unique_mandate_reference) - - if (mandate.signature_date and mandate.last_debit_date and - mandate.signature_date > mandate.last_debit_date): - raise orm.except_orm( - _('Error:'), - _("The mandate '%s' can't have a date of last debit " - "before the date of signature.") - % mandate.unique_mandate_reference) - if (mandate.type == 'recurrent' - and not mandate.recurrent_sequence_type): - raise orm.except_orm( - _('Error:'), - _("The recurrent mandate '%s' must have a sequence type.") - % mandate.unique_mandate_reference) - if (mandate.type == 'recurrent' and not mandate.sepa_migrated - and mandate.recurrent_sequence_type != 'first'): - raise orm.except_orm( - _('Error:'), - _("The recurrent mandate '%s' which is not marked as " - "'Migrated to SEPA' must have its recurrent sequence " - "type set to 'First'.") - % mandate.unique_mandate_reference) - if (mandate.type == 'recurrent' and not mandate.sepa_migrated - and not mandate.original_mandate_identification): - raise orm.except_orm( - _('Error:'), - _("You must set the 'Original Mandate Identification' " - "on the recurrent mandate '%s' which is not marked " - "as 'Migrated to SEPA'.") - % mandate.unique_mandate_reference) - return True - - _constraints = [ - (_check_sdd_mandate, "Error msg in raise", [ - 'last_debit_date', 'signature_date', 'state', 'partner_bank_id', - 'type', 'recurrent_sequence_type', 'sepa_migrated', - 'original_mandate_identification', - ]), - ] - - def mandate_type_change(self, cr, uid, ids, type): - if type == 'recurrent': - recurrent_sequence_type = 'first' - else: - recurrent_sequence_type = False - res = {'value': {'recurrent_sequence_type': recurrent_sequence_type}} - return res - - def mandate_partner_bank_change( - self, cr, uid, ids, partner_bank_id, type, recurrent_sequence_type, - last_debit_date, state): - res = {'value': {}} - if partner_bank_id: - partner_bank_read = self.pool['res.partner.bank'].read( - cr, uid, partner_bank_id, ['partner_id'])['partner_id'] - if partner_bank_read: - res['value']['partner_id'] = partner_bank_read[0] - if (state == 'valid' and partner_bank_id - and type == 'recurrent' - and recurrent_sequence_type != 'first'): - res['value']['recurrent_sequence_type'] = 'first' - res['warning'] = { - 'title': _('Mandate update'), - 'message': _( - "As you changed the bank account attached to this " - "mandate, the 'Sequence Type' has been set back to " - "'First'."), - } - return res - - def validate(self, cr, uid, ids, context=None): - to_validate_ids = [] - for mandate in self.browse(cr, uid, ids, context=context): - assert mandate.state == 'draft', 'Mandate should be in draft state' - to_validate_ids.append(mandate.id) - self.write( - cr, uid, to_validate_ids, {'state': 'valid'}, context=context) - return True - - def cancel(self, cr, uid, ids, context=None): - to_cancel_ids = [] - for mandate in self.browse(cr, uid, ids, context=context): - assert mandate.state in ('draft', 'valid'),\ - 'Mandate should be in draft or valid state' - to_cancel_ids.append(mandate.id) - self.write( - cr, uid, to_cancel_ids, {'state': 'cancel'}, context=context) - return True - - def back2draft(self, cr, uid, ids, context=None): - to_draft_ids = [] - for mandate in self.browse(cr, uid, ids, context=context): - assert mandate.state == 'cancel',\ - 'Mandate should be in cancel state' - to_draft_ids.append(mandate.id) - self.write( - cr, uid, to_draft_ids, {'state': 'draft'}, context=context) - return True - - def _sdd_mandate_set_state_to_expired(self, cr, uid, context=None): - logger.info('Searching for SDD Mandates that must be set to Expired') - expire_limit_date = datetime.today() + \ - relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY) - expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d') - expired_mandate_ids = self.search(cr, uid, [ - '|', - ('last_debit_date', '=', False), - ('last_debit_date', '<=', expire_limit_date_str), - ('state', '=', 'valid'), - ('signature_date', '<=', expire_limit_date_str), - ], context=context) - if expired_mandate_ids: - self.write( - cr, uid, expired_mandate_ids, {'state': 'expired'}, - context=context) - logger.info( - 'The following SDD Mandate IDs has been set to expired: %s' - % expired_mandate_ids) - else: - logger.info('0 SDD Mandates must be set to Expired') - return True - - -class res_partner_bank(orm.Model): - _inherit = 'res.partner.bank' - - _columns = { - 'sdd_mandate_ids': fields.one2many( - 'sdd.mandate', 'partner_bank_id', 'SEPA Direct Debit Mandates'), - } - - -class payment_line(orm.Model): - _inherit = 'payment.line' - - _columns = { - 'sdd_mandate_id': fields.many2one( - 'sdd.mandate', 'SEPA Direct Debit Mandate', - domain=[('state', '=', 'valid')]), - } - - def create(self, cr, uid, vals, context=None): - '''If the customer invoice has a mandate, take it - otherwise, take the first valid mandate of the bank account''' - if context is None: - context = {} - if not vals: - vals = {} - partner_bank_id = vals.get('bank_id') - move_line_id = vals.get('move_line_id') - if (context.get('default_payment_order_type') == 'debit' - and 'sdd_mandate_id' not in vals): - if move_line_id: - line = self.pool['account.move.line'].browse( - cr, uid, move_line_id, context=context) - if (line.invoice and line.invoice.type == 'out_invoice' - and line.invoice.sdd_mandate_id): - vals.update({ - 'sdd_mandate_id': line.invoice.sdd_mandate_id.id, - 'bank_id': - line.invoice.sdd_mandate_id.partner_bank_id.id, - }) - if partner_bank_id and 'sdd_mandate_id' not in vals: - mandate_ids = self.pool['sdd.mandate'].search(cr, uid, [ - ('partner_bank_id', '=', partner_bank_id), - ('state', '=', 'valid'), - ], context=context) - if mandate_ids: - vals['sdd_mandate_id'] = mandate_ids[0] - return super(payment_line, self).create(cr, uid, vals, context=context) - - def _check_mandate_bank_link(self, cr, uid, ids): - for payline in self.browse(cr, uid, ids): - if (payline.sdd_mandate_id and payline.bank_id - and payline.sdd_mandate_id.partner_bank_id.id != - payline.bank_id.id): - raise orm.except_orm( - _('Error:'), - _("The payment line with reference '%s' has the bank " - "account '%s' which is not attached to the mandate " - "'%s' (this mandate is attached to the bank account " - "'%s').") % ( - payline.name, - self.pool['res.partner.bank'].name_get( - cr, uid, [payline.bank_id.id])[0][1], - payline.sdd_mandate_id.unique_mandate_reference, - self.pool['res.partner.bank'].name_get( - cr, uid, - [payline.sdd_mandate_id.partner_bank_id.id])[0][1], - )) - return True - - _constraints = [ - (_check_mandate_bank_link, 'Error msg in raise', - ['sdd_mandate_id', 'bank_id']), - ] - - -class account_invoice(orm.Model): - _inherit = 'account.invoice' - - _columns = { - 'sdd_mandate_id': fields.many2one( - 'sdd.mandate', 'SEPA Direct Debit Mandate', - domain=[('state', '=', 'valid')], readonly=True, - states={'draft': [('readonly', False)]}) - } diff --git a/account_banking_sepa_direct_debit/account_invoice_view.xml b/account_banking_sepa_direct_debit/account_invoice_view.xml deleted file mode 100644 index 2ca480e5407..00000000000 --- a/account_banking_sepa_direct_debit/account_invoice_view.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - add.sdd.mandate.on.customer.invoice.form - account.invoice - - - - - - - - - - diff --git a/account_banking_sepa_direct_debit/account_payment_view.xml b/account_banking_sepa_direct_debit/account_payment_view.xml deleted file mode 100644 index 74098c44eed..00000000000 --- a/account_banking_sepa_direct_debit/account_payment_view.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - sdd.payment.order.form - payment.order - - - - - - - - - - - - - - diff --git a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml new file mode 100644 index 00000000000..79aa0568910 --- /dev/null +++ b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml @@ -0,0 +1,24 @@ + + + + + + + + Set SEPA Direct Debit Mandates to Expired + + + 1 + days + -1 + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml b/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml deleted file mode 100644 index 68075d526dd..00000000000 --- a/account_banking_sepa_direct_debit/data/mandate_reference_sequence.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - SDD Mandate Reference - sdd.mandate.reference - - - - SDD Mandate Reference - sdd.mandate.reference - RUM - - - - - - - diff --git a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml similarity index 92% rename from account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml rename to account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml index 22026108841..041082d76cf 100644 --- a/account_banking_sepa_direct_debit/sepa_direct_debit_demo.xml +++ b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml @@ -15,7 +15,7 @@ FR78ZZZ424242 - + recurrent first diff --git a/account_banking_sepa_direct_debit/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/mandate_expire_cron.xml deleted file mode 100644 index 4cb0693d2d2..00000000000 --- a/account_banking_sepa_direct_debit/mandate_expire_cron.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - Set SEPA Direct Debit Mandates to Expired - - - 1 - days - -1 - - - - - - - - diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py new file mode 100644 index 00000000000..274855e14c3 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import banking_export_sdd +from . import res_company +from . import account_banking_mandate diff --git a/account_banking_sepa_direct_debit/models/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py new file mode 100644 index 00000000000..4df70637868 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -0,0 +1,145 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, fields, api, exceptions, _ +from datetime import datetime +from dateutil.relativedelta import relativedelta +import logging + +NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36 + +logger = logging.getLogger(__name__) + + +class AccountBankingMandate(models.Model): + """SEPA Direct Debit Mandate""" + _inherit = 'account.banking.mandate' + _track = { + 'recurrent_sequence_type': { + 'account_banking_sepa_direct_debit.recurrent_sequence_type_first': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'first', + 'account_banking_sepa_direct_debit.' + 'recurrent_sequence_type_recurring': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'recurring', + 'account_banking_sepa_direct_debit.recurrent_sequence_type_final': + lambda self, cr, uid, obj, ctx=None: + obj['recurrent_sequence_type'] == 'final', + } + } + + type = fields.Selection([('recurrent', 'Recurrent'), + ('oneoff', 'One-Off')], + string='Type of Mandate', required=True, + track_visibility='always') + recurrent_sequence_type = fields.Selection( + [('first', 'First'), + ('recurring', 'Recurring'), + ('final', 'Final')], + string='Sequence Type for Next Debit', track_visibility='onchange', + help="This field is only used for Recurrent mandates, not for " + "One-Off mandates.", default="first") + sepa_migrated = fields.Boolean( + string='Migrated to SEPA', track_visibility='onchange', + help="If this field is not active, the mandate section of the next " + "direct debit file that include this mandate will contain the " + "'Original Mandate Identification' and the 'Original Creditor " + "Scheme Identification'. This is required in a few countries " + "(Belgium for instance), but not in all countries. If this is " + "not required in your country, you should keep this field always " + "active.", default=True) + original_mandate_identification = fields.Char( + string='Original Mandate Identification', track_visibility='onchange', + help="When the field 'Migrated to SEPA' is not active, this field " + "will be used as the Original Mandate Identification in the " + "Direct Debit file.") + scheme = fields.Selection([('CORE', 'Basic (CORE)'), + ('B2B', 'Enterprise (B2B)')], + string='Scheme', required=True, default="CORE") + + @api.one + @api.constrains('type', 'recurrent_sequence_type') + def _check_recurring_type(self): + if (self.type == 'recurrent' + and not self.recurrent_sequence_type): + raise exceptions.Warning( + _("The recurrent mandate '%s' must have a sequence type.") + % self.unique_mandate_reference) + + @api.one + @api.constrains('type', 'recurrent_sequence_type', 'sepa_migrated') + def _check_migrated_to_sepa(self): + if (self.type == 'recurrent' and not self.sepa_migrated + and self.recurrent_sequence_type != 'first'): + raise exceptions.Warning( + _("The recurrent mandate '%s' which is not marked as " + "'Migrated to SEPA' must have its recurrent sequence type " + "set to 'First'.") % self.unique_mandate_reference) + + @api.one + @api.constrains('type', 'original_mandate_identification', 'sepa_migrated') + def _check_original_mandate_identification(self): + if (self.type == 'recurrent' and not self.sepa_migrated + and not self.original_mandate_identification): + raise exceptions.Warning( + _("You must set the 'Original Mandate Identification' on the " + "recurrent mandate '%s' which is not marked as 'Migrated to " + "SEPA'.") % self.unique_mandate_reference) + + @api.one + @api.onchange('partner_bank_id') + def mandate_partner_bank_change(self): + super(AccountBankingMandate, self).mandate_partner_bank_change() + res = {} + if (self.state == 'valid' and self.partner_bank_id + and self.type == 'recurrent' + and self.recurrent_sequence_type != 'first'): + self.recurrent_sequence_type = 'first' + res['warning'] = { + 'title': _('Mandate update'), + 'message': _("As you changed the bank account attached to " + "this mandate, the 'Sequence Type' has been set " + "back to 'First'."), + } + return res + + @api.multi + def _sdd_mandate_set_state_to_expired(self): + logger.info('Searching for SDD Mandates that must be set to Expired') + expire_limit_date = datetime.today() + \ + relativedelta(months=-NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY) + expire_limit_date_str = expire_limit_date.strftime('%Y-%m-%d') + expired_mandates = self.search( + ['|', + ('last_debit_date', '=', False), + ('last_debit_date', '<=', expire_limit_date_str), + ('state', '=', 'valid'), + ('signature_date', '<=', expire_limit_date_str)]) + if expired_mandates: + expired_mandates.write({'state': 'expired'}) + logger.info( + 'The following SDD Mandate IDs has been set to expired: %s' + % expired_mandates.ids) + else: + logger.info('0 SDD Mandates must be set to Expired') + return True diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py new file mode 100644 index 00000000000..80536aa038b --- /dev/null +++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py @@ -0,0 +1,82 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for OpenERP +# Copyright (C) 2013 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, fields, api +from openerp.addons.decimal_precision import decimal_precision as dp + +try: + from unidecode import unidecode +except ImportError: + unidecode = None + + +class BankingExportSdd(models.Model): + """SEPA Direct Debit export""" + _name = 'banking.export.sdd' + _description = __doc__ + _rec_name = 'filename' + + @api.one + def _generate_filename(self): + filename = '' + if self.payment_order_ids: + ref = self.payment_order_ids[0].reference + label = unidecode(ref.replace('/', '-')) if ref else 'error' + filename = 'sdd_%s.xml' % label + self.filename = filename + + payment_order_ids = fields.Many2many( + comodel_name='payment.order', + relation='account_payment_order_sdd_rel', + column1='banking_export_sepa_id', column2='account_order_id', + string='Payment Orders', + readonly=True) + nb_transactions = fields.Integer( + string='Number of Transactions', readonly=True) + total_amount = fields.Float( + string='Total Amount', digits_compute=dp.get_precision('Account'), + readonly=True) + batch_booking = fields.Boolean( + 'Batch Booking', readonly=True, + help="If true, the bank statement will display only one credit line " + "for all the direct debits of the SEPA file ; if false, the bank " + "statement will display one credit line per direct debit of the " + "SEPA file.") + charge_bearer = fields.Selection( + [('SLEV', 'Following Service Level'), + ('SHAR', 'Shared'), + ('CRED', 'Borne by Creditor'), + ('DEBT', 'Borne by Debtor')], 'Charge Bearer', readonly=True, + help="Following service level : transaction charges are to be applied " + "following the rules agreed in the service level and/or scheme " + "(SEPA Core messages must use this). Shared : transaction " + "charges on the creditor side are to be borne by the creditor, " + "transaction charges on the debtor side are to be borne by the " + "debtor. Borne by creditor : all transaction charges are to be " + "borne by the creditor. Borne by debtor : all transaction " + "charges are to be borne by the debtor.") + create_date = fields.Datetime(string='Generation Date', readonly=True) + file = fields.Binary(string='SEPA File', readonly=True) + filename = fields.Char(compute=_generate_filename, size=256, + string='Filename', readonly=True, store=True) + state = fields.Selection([('draft', 'Draft'), ('sent', 'Sent')], + string='State', readonly=True, default='draft') diff --git a/account_banking_sepa_direct_debit/company.py b/account_banking_sepa_direct_debit/models/res_company.py similarity index 60% rename from account_banking_sepa_direct_debit/company.py rename to account_banking_sepa_direct_debit/models/res_company.py index 6d54ba8e6ce..327edc40134 100644 --- a/account_banking_sepa_direct_debit/company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -20,29 +20,27 @@ # ############################################################################## -from openerp.osv import orm, fields +from openerp import models, fields, api, exceptions, _ import logging logger = logging.getLogger(__name__) -class res_company(orm.Model): +class ResCompany(models.Model): _inherit = 'res.company' - _columns = { - 'sepa_creditor_identifier': fields.char( - 'SEPA Creditor Identifier', size=35, - help="Enter the Creditor Identifier that has been attributed " - "to your company to make SEPA Direct Debits. This identifier " - "is composed of :\n- your country ISO code (2 letters)\n- a " - "2-digits checkum\n- a 3-letters business code\n- a " - "country-specific identifier"), - 'original_creditor_identifier': fields.char( - 'Original Creditor Identifier', size=70), - } + sepa_creditor_identifier = fields.Char( + string='SEPA Creditor Identifier', size=35, + help="Enter the Creditor Identifier that has been attributed to your " + "company to make SEPA Direct Debits. This identifier is composed " + "of :\n- your country ISO code (2 letters)\n- a 2-digits " + "checkum\n- a 3-letters business code\n- a country-specific " + "identifier") + original_creditor_identifier = fields.Char( + string='Original Creditor Identifier', size=70) def is_sepa_creditor_identifier_valid( - self, cr, uid, sepa_creditor_identifier, context=None): + self, sepa_creditor_identifier): """Check if SEPA Creditor Identifier is valid @param sepa_creditor_identifier: SEPA Creditor Identifier as str or unicode @@ -51,12 +49,11 @@ def is_sepa_creditor_identifier_valid( if not isinstance(sepa_creditor_identifier, (str, unicode)): return False try: - sci_str = str(sepa_creditor_identifier) + sci = str(sepa_creditor_identifier).lower() except: logger.warning( "SEPA Creditor ID should contain only ASCII caracters.") return False - sci = sci_str.lower() if len(sci) < 9: return False before_replacement = sci[7:] + sci[0:2] + '00' @@ -70,21 +67,14 @@ def is_sepa_creditor_identifier_valid( after_replacement += char logger.debug( "SEPA ID check after_replacement = %s" % after_replacement) - if int(sci[2:4]) == (98 - (int(after_replacement) % 97)): - return True - else: - return False - - def _check_sepa_creditor_identifier(self, cr, uid, ids): - for company in self.browse(cr, uid, ids): - if company.sepa_creditor_identifier: - if not self.is_sepa_creditor_identifier_valid( - cr, uid, company.sepa_creditor_identifier): - return False - return True + return int(sci[2:4]) == (98 - (int(after_replacement) % 97)) - _constraints = [ - (_check_sepa_creditor_identifier, - "Invalid SEPA Creditor Identifier.", - ['sepa_creditor_identifier']), - ] + @api.one + @api.constrains('sepa_creditor_identifier') + def _check_sepa_creditor_identifier(self): + if self.sepa_creditor_identifier: + if not self.is_sepa_creditor_identifier_valid( + self.sepa_creditor_identifier): + raise exceptions.Warning( + _('Error'), + _("Invalid SEPA Creditor Identifier.")) diff --git a/account_banking_sepa_direct_debit/res_partner_bank_view.xml b/account_banking_sepa_direct_debit/res_partner_bank_view.xml deleted file mode 100644 index 0b32e9f1c26..00000000000 --- a/account_banking_sepa_direct_debit/res_partner_bank_view.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - sdd.mandate.res.partner.bank.form - res.partner.bank - - - - - - - - - - - - sdd.mandate.res.partner.bank.tree - res.partner.bank - - - - - - - - - - - sdd.mandate.partner.form - res.partner - - - - - - - - - - diff --git a/account_banking_sepa_direct_debit/sdd_mandate_view.xml b/account_banking_sepa_direct_debit/sdd_mandate_view.xml deleted file mode 100644 index bd1dd6e7976..00000000000 --- a/account_banking_sepa_direct_debit/sdd_mandate_view.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - sdd.mandate.form - sdd.mandate - -
-
-
- -
-

- -

-
- - - - - - - - - - - - - - - -
-
- - -
-
-
-
- - - sdd.mandate.tree - sdd.mandate - - - - - - - - - - - - - - - sdd.mandate.search - sdd.mandate - - - - - - - - - - - - - - - SEPA Direct Debit Mandates - sdd.mandate - form - tree,form - -

- Click to create a new SEPA Direct Debit Mandate. -

- A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account. -

-
-
- - - - - - 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 index cf78ffb59bc..0cd57951186 100644 --- a/account_banking_sepa_direct_debit/security/ir.model.access.csv +++ b/account_banking_sepa_direct_debit/security/ir.model.access.csv @@ -1,4 +1,2 @@ "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/static/description/icon.png b/account_banking_sepa_direct_debit/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dca4d23f2d85309ed0527e32e30be6ceb09fd5db GIT binary patch literal 7840 zcmbt(Wl$VEwD#f-1qvwC;&gPe z$v6=s1pp{1l;xy#JTs58ynJHOOI;k&64Cxb0fH-h*2(;uLJl9s5*I}l;MP#PdLJ>sfV2%i;50bK6MWi_#UfR9wS25*H8&)BB zb-Z;PS12md+!=dd*M;^Z==8VG%~VG8LH@Y5}X z1LT-*b+jyGyDXh0G9xmPe9L4pyb+?y;c+u$+j9NL$${%u;>7UtwDeoGjfp|@qpw4g zH*A=URd)MS++X)|yxph}E>O5^$V1jL9CMKaZ?VpOe%5IlEfEAB1uO{EI$aNRhho(< z$g^^Fnj?zF2QUfG>z;oGQs87F)!Lbgi$M`g->v-=@?u#{YikG+>2jI+f@g)ZUu&jy z_@{f>kTKc)*zusr64AEp1=)%IBSThQT&!CEBT! zH}lJ?F&zCZaS}Jt2i+*=eV-17Z$b#w$Z~uNe>KJ*jB@E5+1iJZ*Qc&X| z+VB@5UQa^^5(ZJc=Enqq$>S+?1%P_LvFJcgeM+pVg}ea5ADm>1-!@~lQMz$9PR81-XC0!lcS zN~3r{#pY@3$P0WB9N(0?*r2UYz(qxj!){o+AKW2+-Lsk|Lbkd`WGjbQs z0$#a-xxN$6o_K(J^q2Dbz_h<`l~clJJ387P=d3u@i>L+w00H{G!TH0i`I#W52T_*{ zV6z+5k8#`Md_AJ!EFn>XiQidLNNpVxC<<{AE@)1Qvb@W1=<)4}$MYhdheLIPSJfpY zY^%E*3A2OCp`qeW&3uJ;_~%p3%O1UYb%|+_4<)q@i+{S2UWyjyY{0f2xw=ISUoP?* z;o&3gE8B6U-iI0M0idpz(!8s3xBWI~4x+k_E+2ti*9e*h2_FA2Kw}i7m4{C!81ugR zvBC<*>8wcm1pVIdynT}A)!~@o%Petb6w1~)1PA?N`s#7*?K7Y5YHZZ9wNUeLB?Joi zw$(%-@a6W>pK76{;6$xNc@;R@TyqB{5srm-@FQ%;XZ3enUfrNrz@CzN$DRAl%18I` z=~5PHoB9L-`4vGBsZ#W}K5y$uGysNy?@=H+Yzr8BnEz0;y7p{!Gn-54G{`He7N4EQ zuH%h(cSm)V3*1G#Gw?jbt}YI$$HcDh_~MHRZW4ua0!&$|u2KfI6-*W^M)-YB)lrdJ z^_)&>=1e@dzW;~U?)|g;dur*hMpCrNV5M-7jCoXf8Cli3?PRT;Li){<0dm?4mbWo_ zP)cw44KA7ldeIu;!Or8J*B(m3vukU%4N&CZKPz~`VFWjH^@vp;^&B{{X zBPBuDw?Pd z-i3k5j_rPlATZWpFW6PI?q;A*(LMNha0I4=8}tn!1nu9WiKK3owO!T!w*|?}xQDx| z7*Ej)raYmqYXX`;Ubpabr&btGCco>&!*3&EoXcIh-E z|IA>((GC-T;D3u=aC~p~H|tAMoh1xDesj|);@!R*(zJ{{6J)j}KErvd1z;zpi9u&^ zNZ$WpfKY zT&i&1qY=q$c9!>#=P-52**yt4`iQ8ofMV{i&l(Iza4I+F5tED^wWS{*Ffqcitfi2o zINNDVaMO+WHO4={uszGgKiX!nO_WncenXIHuBlX}86C%zUBRL-x;G&CDFURE01WFl zoY{5?ulydX?6Y)dxH0v;qiNE%ahX5eMK9m~;mN?!*k>c!p2ApesPpg%i4%jVJOx;4 z1+>aTZwMVQXRfG*mR@55d~ZE&Jbosxvyl@Z*&-zdIUx+-s}$VA#Z#@O9_$eE(-pl)GxVQu4y=;ia~kZJCUr^~p6g$@-QY%lCoS0L)K_ zCe<_NHSC=QL{eH2nRNdhgt^~2x*|^Q5aWxI+rEBi!aC~;vUe$i>m+%T&AV46Fygb1 z2SY;19E*ia@m1dZb21PKxN*hvcSAfR#t+lYN#&v0Rmvg+ZDM~Y17R+sG;z{eb*)6S z1?0Pn%=V5RMY*-Ol5jK1jaqIx4Ov0EOqt?IrK2wj&}T`+bU4ocU(HqyilzV{1zw>5HB3DHa_E5Q)p4UAM> z2njG?!ryG)6S1Av%K?r@Ca3nG{-Cl=8h4O;R+Zqr+$lj`vBIdIEX>F$n2 zT7h5Yr@ru&SIhg?x|{a4UZ>(M3kCSvS-6us%H7K(C}nDv9!3|tM04_Xr)R|wNe9PH z28V^rjISn;nQUJepr)AU2L2!wAlef4E?Uew3>4u!1r)y95~i#;wR}~-IOAMD z5$no2Lob=01i8g6HHx`R&Agb?MmJZLL2B|o@v*q3?wZN_Ql}bT03-8y1P>!0c(-2c z;nV!M(}k*;{J8;Km+02#NG@eU1DWzb*bF2{_c($UZ6yx!<*06-5=dN~;zp$oRi-(4clsvM70?F$2*CrPyrCneDOjSRnP{<#Cx5v^gXk63K>LExsdN$5m4N_dRNFy))MqGhe_pi3&>;A!Vn{2a6 zfWD;{P;4Gz+bm9Sx_T~crm=9h#D^r?*LDstx6EC7_px)9So8(+D6Xnj+zieTrgH+Z z)#kqL&NvtjWat5A3qNh7soT`97{hqkLrP#E-vAqf#eO;nn#TUlz@*-ZF{%Fyp4X{jnMe&m(m%f&DE18H$%hsnvtoS8wKQ(->77H-GX?PZ9U7Fnv=I6Mn4AM8QH2s3aUFBilsHmH^ z;`J!XhGg*%aj;7C<-i>!oN>j09M}C>@(@j(bME8(UOZf^Xfj5(jqKGt?UKymx_ zdHZpc%)~Cqt$3DPW^P)1L_4pHJf5Q4(7;~;o@zBS6zAdo-fEfnno<`SbTX$@Ptv2_gV0pD5-2Tgc^Bz;29Gs5C4 zW!Dpwb5zh(tA_~54!-ABAaAlBA?>xmlAUgzA+SJU@*niXIPaUn89eK;7?W@tdpc@0 z8=u_wTXet?8Czl9k8p5%c-Iza++UEwlsFJ9NlJceJ0Ek~Q^1+Ka-E1-&IfUOe};dz ze588GSe}25ML^ffz$z$cU2vuy;C~YuP}a1O>MCG#WffX#mt_-gbz!{jg~Bisxf+%# z(SDW5-9VP$`7&)=g>W~EG~2RMg$i4!PG|I9Q=xWh@Y03le)YY zv10Rb(crZ);0M1cM+$KDPsN!tO1SAoDNl@(TQUcFZRl$Wc^>cf`t7t<`%h~pT*<}> zCiFh9ryLyoV2e1El_Q266yz1SiJhSp+wd}XCoHOcnWe(FKu)=lDW1cl2qTcTF-U1A z{YIN#vc&6k(L+Na_$4V_XSQ5*BTr5I^Xa!Kn(f@_J6v2Hfg-1XqNkRj&!_C=Dy+{g zHhnE7e*W87(%n|crt0-Am zXCEfO!Qg?!XJ8H`X4@OB8QQ@>dLm`SM0|qYeC*nuE@lJ{9&BM|eTItZC=Q%ulHW9~ zcUwuqQn=7uwiPA2)%CSNkb?)F-RhAP{HdS>9*vt*?crxP$MuyqO;+AcpY!ks$BHNI zx4aSt)rS}KGCA}nsKU%cRrLebuG-R15Lkkpz&kQ~%?{VB@Vmw1UC9jM)yUA-O~fh5 zm_|okHhavm#Pu z{!;jQ)}i{?5Jj?9 zak;Bvl$Me_1%uiqNeaUGoVU{LKnmXcpn|mnt74lX)?@jI2D^(n%HJ-vi~MsA_qQRj zYhMmc$v-~WC64GDPX!mu+nDH5*!ZWdO|*ygyEvu`+5r`;PpGj@>exMQz*`lSB9kf+ zTy1jlII(=X$cq~cc?&}de=vo9?>77YKJUFRuo-P1*K+M(!B(m$Hfr@4th2H+XnGeJ z{sraoFBYID;cH^-1(A-`xX%R>`o?m110eLKx8%^Ma8Rb)ZVLqh@># z^OEtIWBEkK6hnz&Pbl6l8)&J2Z^y}@VV04n!(wC|`P|d6aaR{CrU;8s*(JiPq^UtH z`>Q=viuT~R^Gdv}5xr>1k3&epj<*kX!oj~728qn~#vg?V^Bqv=|U<46Fc%kM2&7}Y2XahI5gUUQXM>( z&CrZDy20%TPV@{Cd-)1L)iPl*PW48{(b}pC*qH0mHqW)UX+Wn~zXsNzTvK_tpD|42 zVWRr|LsqUj%Y)l7u2n!(r;w%r+RuoO9V3jVhzvxW6igAa<4yh8x_Vn){iVw7)n~TEnTi*Rb0O`q*r=G<0)Tpt2Ly>ex`tT4c_V_tn%*DK0a4yC}zwhN8lDe z;iZlf(tEQSy7P8Rc=%CFF{7(B@)q#NYG);;mwjBzv?x$DYn~F{Snx-wbPYStO7R3W zEt+35MEZv87{ccJZW7r6FV_|f{KCkpsP`G;;IP)NAlPnkxqbEw#;ei-`Jk<%2-#lw zu`^Ikgl*BdEQmmy|M!g->Kpdk%DCq-U)V%jby|ekL?;1<-qn2!Pc-3h;-9&m$wB)n zRH#Ng*IR&6RW)e=xFAD)>R9+M5o4tNxR48v{TSI|SqvJoRFa4FRs?g>sOK)3)bO-k^gdca4}nO3 zDIq%<9A?&(67|tB=r#yq9nKmbr=<|157JIJ41!}_kVn4Wteoak5@rX1Vg(pguNE`c z$@qrUlq}x{!-$$yZ;OlcOXx?zAV2e&9(yIRJ8aW7zLte;ms`D=ew6v*j~>rr{T6_f zy`-=LDnw@QcM85iw~kFF~}Ko@7$;ltkN?`897- z^TAE3zl)tld$@YmFcAo&_d~x6v}(DQzdcRTOB(yi;}RSC?V?!6XB>uq-zS5cUg!`J zKvmK>(>WXUj1uWn&N%XW77HRmM`1YEtQeIJYSKukgBHDaoI3f3S=B0t>s2b~8E431h8gB4Se8;zcb z@K^U|atn#QIfM4TaZ1Nt`j2(vA`!c|C7lxMp9?V`+K-L>YkQ13HPw!M5dL?L_y6y@ zS6!jo^Q5Nj2>MO-wlT*T?nr{Y|q6(hWeo1B<2-8VtBk@dVGGP18xDog&U?h&;uos_)cEG8hH| z>Nl2ss;r65=Aq%Vyg(q8LvBT#6v~R#>AC0JRtF1hmd*!#BR`fE^_2%#H##hQp1@uw zH?*Iut&4jO-HW6+C=2V$$I}5*QF6I$CX_F>1-a|alJA+|`*@Rx@7rtZp%(tTOVDxD zdO+&Kq}F*ms{JHaSrLk-fQtC(dD1fK6`s&4X(OvrJM8Jg&#k7i;l+8#0}<$+1CfAM zx1Ff2ohTfL^i(rx1$8Ot!U8_e!FAmIq=eCQ+;!>PbKa^MAf0u;1cyD6e|du%Ij~L3 zn`QC!A{Aoq2Pa%+rA)W0*JQ!Xnu~LmdkSV+!@)0c?2aCRh;Xg_L(PQ{ zPd|_wSB+mz#c59f2;}}`MHtc3I&L0IBmG2}B7>*^#XS`XKbY_zBTY9rw6f4fB80yv zmOh!VO!=u5{f-y_;HOQFi)5>)$s;kN-K;Gi6?< zg};Hk{Dz=N7@+mj#zPMWgd@P+1!KUvS#XT}7H`}=_A`=iJh+{P02AnL7g8fh&Lm39 zAa|vTCDT9Yhl-7n=qUfoR}VhuPbLH6T0M zYYx>OcUf31HW$k4mY+>SIG|=7SGb-?qV}Ue1f&By1Ws)2umG&_u~bGWX>JPST7dKw z&besEiKR)mQruJpVKJmd=la&OyRs8L{lqDk5;mD;@q~z1X94hc%k)59Q>3pBh6VTB zG0f1x^CFJ=L`$YH9bqml&q^{K2b*sDNXT@F`ki;wcGnIzivkfwQ4tXj3%68sMSl_G z2-t*BPA_-^4l>LsqXmsx-<`d2qU1($R6ME0yau5c6(HQ{?k%09>X?+R^+TFzW$Hfb zxYJc>%4wZ>+(F6KUjvUxv0Nc+M5pj)={Sxt5%lTX>Y_X9JQL6iv@&3hl?nI#e$I3w zX%1y3C+ax4;~x#`0;npa`ERx_EclNq8YOO`gkr17=H5PAW!ODV$=-h7zBwR>9B>hc z_CX0{Qm$#LSYR6 literal 0 HcmV?d00001 diff --git a/account_banking_sepa_direct_debit/static/description/icon.svg b/account_banking_sepa_direct_debit/static/description/icon.svg new file mode 100644 index 00000000000..c3bc242a4a0 --- /dev/null +++ b/account_banking_sepa_direct_debit/static/description/icon.svg @@ -0,0 +1,92 @@ + + + +image/svg+xmlDIRECTDEBIT + \ No newline at end of file diff --git a/account_banking_sepa_direct_debit/static/src/img/icon.png b/account_banking_sepa_direct_debit/static/src/img/icon.png deleted file mode 100644 index 6d1d923b6506b33ca0825af17ed0ae36c9bd0dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 + + + + + + sdd.mandate.form + account.banking.mandate + + + + + + + + + + + + + + + + + sdd.mandate.tree + account.banking.mandate + + + + + + + + + + sdd.mandate.search + 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. +

+
+
+ + + + + sdd.mandate.res.partner.bank.tree + res.partner.bank + + + + SDD Mandates + + + + + + sdd.mandate.partner.form + res.partner + + + + SDD Mandates + + + + + + Sequence Type set to First + account.banking.mandate + + Sequence Type set to First + + + + Sequence Type set to Recurring + account.banking.mandate + + Sequence Type set to Recurring + + + + Sequence Type set to Final + account.banking.mandate + + Sequence Type set to Final + + +
+
diff --git a/account_banking_sepa_direct_debit/account_banking_sdd_view.xml b/account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml similarity index 100% rename from account_banking_sepa_direct_debit/account_banking_sdd_view.xml rename to account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml diff --git a/account_banking_sepa_direct_debit/company_view.xml b/account_banking_sepa_direct_debit/views/res_company_view.xml similarity index 100% rename from account_banking_sepa_direct_debit/company_view.xml rename to account_banking_sepa_direct_debit/views/res_company_view.xml diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 19520d31803..60dce7653f8 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -23,7 +23,7 @@ from openerp.osv import orm, fields from openerp.tools.translate import _ -from openerp import netsvc +from openerp import workflow from datetime import datetime from lxml import etree @@ -195,6 +195,7 @@ def create_sepa(self, cr, uid, ids, context=None): "line with partner '%s' and Invoice ref '%s'.") % (line.partner_id.name, line.ml_inv_ref.number)) + scheme = line.sdd_mandate_id.scheme if line.sdd_mandate_id.state != 'valid': raise orm.except_orm( _('Error:'), @@ -225,8 +226,7 @@ def create_sepa(self, cr, uid, ids, context=None): line.sdd_mandate_id.recurrent_sequence_type assert seq_type_label is not False seq_type = seq_type_map[seq_type_label] - - key = (requested_date, priority, seq_type) + key = (requested_date, priority, seq_type, scheme) if key in lines_per_group: lines_per_group[key].append(line) else: @@ -237,7 +237,7 @@ def create_sepa(self, cr, uid, ids, context=None): cr, uid, line.id, {'date': requested_date}, context=context) - for (requested_date, priority, sequence_type), lines in \ + for (requested_date, priority, sequence_type, scheme), lines in \ lines_per_group.items(): # B. Payment info payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \ @@ -246,7 +246,7 @@ def create_sepa(self, cr, uid, ids, context=None): "sepa_export.payment_order_ids[0].reference + '-' + " "sequence_type + '-' + requested_date.replace('-', '') " "+ '-' + priority", - priority, 'CORE', sequence_type, requested_date, { + priority, scheme, sequence_type, requested_date, { 'sepa_export': sepa_export, 'sequence_type': sequence_type, 'priority': priority, @@ -422,9 +422,8 @@ def save_sepa(self, cr, uid, ids, context=None): self.pool.get('banking.export.sdd').write( cr, uid, sepa_export.file_id.id, {'state': 'sent'}, context=context) - wf_service = netsvc.LocalService('workflow') for order in sepa_export.payment_order_ids: - wf_service.trg_validate(uid, 'payment.order', order.id, 'done', cr) + workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr) mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids] self.pool['sdd.mandate'].write( cr, uid, mandate_ids, From 250829e65f8270eea97a275c82e36342bd5b1470 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 10 Oct 2014 20:09:17 +0200 Subject: [PATCH 04/83] replace old sdd.mandate referencess --- .../models/banking_export_sdd.py | 3 + .../wizard/export_sdd.py | 60 +++++++++---------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py index 80536aa038b..44cd03b6e4f 100644 --- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py +++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py @@ -38,10 +38,13 @@ class BankingExportSdd(models.Model): @api.one def _generate_filename(self): filename = '' + # FIXME : we never enter inside the IF to give a good filename if self.payment_order_ids: ref = self.payment_order_ids[0].reference label = unidecode(ref.replace('/', '-')) if ref else 'error' filename = 'sdd_%s.xml' % label + else: + filename = 'sdd.xml' self.filename = filename payment_order_ids = fields.Many2many( diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 60dce7653f8..79ead28b890 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -93,7 +93,7 @@ def _get_previous_bank(self, cr, uid, payline, context=None): previous_bank = False payline_ids = payline_obj.search( cr, uid, [ - ('sdd_mandate_id', '=', payline.sdd_mandate_id.id), + ('mandate_id', '=', payline.mandate_id.id), ('bank_id', '!=', payline.bank_id.id), ], context=context) @@ -188,23 +188,23 @@ def create_sepa(self, cr, uid, ids, context=None): requested_date = payment_order.date_scheduled or today else: requested_date = today - if not line.sdd_mandate_id: + if not line.mandate_id: raise orm.except_orm( _('Error:'), _("Missing SEPA Direct Debit mandate on the payment " "line with partner '%s' and Invoice ref '%s'.") % (line.partner_id.name, line.ml_inv_ref.number)) - scheme = line.sdd_mandate_id.scheme - if line.sdd_mandate_id.state != 'valid': + scheme = line.mandate_id.scheme + if line.mandate_id.state != 'valid': raise orm.except_orm( _('Error:'), _("The SEPA Direct Debit mandate with reference '%s' " "for partner '%s' has expired.") - % (line.sdd_mandate_id.unique_mandate_reference, - line.sdd_mandate_id.partner_id.name)) - if line.sdd_mandate_id.type == 'oneoff': - if not line.sdd_mandate_id.last_debit_date: + % (line.mandate_id.unique_mandate_reference, + line.mandate_id.partner_id.name)) + if line.mandate_id.type == 'oneoff': + if not line.mandate_id.last_debit_date: seq_type = 'OOFF' else: raise orm.except_orm( @@ -213,17 +213,17 @@ def create_sepa(self, cr, uid, ids, context=None): "'%s' has type set to 'One-Off' and it has a " "last debit date set to '%s', so we can't use " "it.") - % (line.sdd_mandate_id.unique_mandate_reference, - line.sdd_mandate_id.partner_id.name, - line.sdd_mandate_id.last_debit_date)) - elif line.sdd_mandate_id.type == 'recurrent': + % (line.mandate_id.unique_mandate_reference, + line.mandate_id.partner_id.name, + line.mandate_id.last_debit_date)) + elif line.mandate_id.type == 'recurrent': seq_type_map = { 'recurring': 'RCUR', 'first': 'FRST', 'final': 'FNAL', } seq_type_label = \ - line.sdd_mandate_id.recurrent_sequence_type + line.mandate_id.recurrent_sequence_type assert seq_type_label is not False seq_type = seq_type_map[seq_type_label] key = (requested_date, priority, seq_type, scheme) @@ -306,22 +306,22 @@ def create_sepa(self, cr, uid, ids, context=None): mandate_related_info_2_47, 'MndtId') mandate_identification_2_48.text = self._prepare_field( cr, uid, 'Unique Mandate Reference', - 'line.sdd_mandate_id.unique_mandate_reference', + 'line.mandate_id.unique_mandate_reference', {'line': line}, 35, gen_args=gen_args, context=context) mandate_signature_date_2_49 = etree.SubElement( mandate_related_info_2_47, 'DtOfSgntr') mandate_signature_date_2_49.text = self._prepare_field( cr, uid, 'Mandate Signature Date', - 'line.sdd_mandate_id.signature_date', + 'line.mandate_id.signature_date', {'line': line}, 10, gen_args=gen_args, context=context) if sequence_type == 'FRST' and ( - line.sdd_mandate_id.last_debit_date or - not line.sdd_mandate_id.sepa_migrated): + line.mandate_id.last_debit_date or + not line.mandate_id.sepa_migrated): previous_bank = self._get_previous_bank( cr, uid, line, context=context) - if previous_bank or not line.sdd_mandate_id.sepa_migrated: + if previous_bank or not line.mandate_id.sepa_migrated: amendment_indicator_2_50 = etree.SubElement( mandate_related_info_2_47, 'AmdmntInd') amendment_indicator_2_50.text = 'true' @@ -362,13 +362,13 @@ def create_sepa(self, cr, uid, ids, context=None): ori_debtor_agent_other, 'Id') ori_debtor_agent_other_id.text = 'SMNDA' # SMNDA = Same Mandate New Debtor Agent - elif not line.sdd_mandate_id.sepa_migrated: + elif not line.mandate_id.sepa_migrated: ori_mandate_identification_2_52 = etree.SubElement( amendment_info_details_2_51, 'OrgnlMndtId') ori_mandate_identification_2_52.text = \ self._prepare_field( cr, uid, 'Original Mandate Identification', - 'line.sdd_mandate_id.' + 'line.mandate_id.' 'original_mandate_identification', {'line': line}, gen_args=gen_args, @@ -424,25 +424,25 @@ def save_sepa(self, cr, uid, ids, context=None): context=context) for order in sepa_export.payment_order_ids: workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr) - mandate_ids = [line.sdd_mandate_id.id for line in order.line_ids] - self.pool['sdd.mandate'].write( + mandate_ids = [line.mandate_id.id for line in order.line_ids] + self.pool['account.banking.mandate'].write( cr, uid, mandate_ids, {'last_debit_date': datetime.today().strftime('%Y-%m-%d')}, context=context) to_expire_ids = [] first_mandate_ids = [] for line in order.line_ids: - if line.sdd_mandate_id.type == 'oneoff': - to_expire_ids.append(line.sdd_mandate_id.id) - elif line.sdd_mandate_id.type == 'recurrent': - seq_type = line.sdd_mandate_id.recurrent_sequence_type + if line.mandate_id.type == 'oneoff': + to_expire_ids.append(line.mandate_id.id) + elif line.mandate_id.type == 'recurrent': + seq_type = line.mandate_id.recurrent_sequence_type if seq_type == 'final': - to_expire_ids.append(line.sdd_mandate_id.id) + to_expire_ids.append(line.mandate_id.id) elif seq_type == 'first': - first_mandate_ids.append(line.sdd_mandate_id.id) - self.pool['sdd.mandate'].write( + first_mandate_ids.append(line.mandate_id.id) + self.pool['account.banking.mandate'].write( cr, uid, to_expire_ids, {'state': 'expired'}, context=context) - self.pool['sdd.mandate'].write( + self.pool['account.banking.mandate'].write( cr, uid, first_mandate_ids, { 'recurrent_sequence_type': 'recurring', 'sepa_migrated': True, From 44ef6c6100e9cdb30aeb9294e9edb214df630d0f Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Tue, 21 Oct 2014 01:53:12 +0200 Subject: [PATCH 05/83] [FIX+IMP] account_banking_sepa_direct_debit: Several things: * Restore scheme field in mandate view * Uncaught flake8 errors * Set args correctly for cron job * Split for removing stock dependency on sale * Remove old translations templates * More reorder on folder structure * Translation template files * Translations to spanish --- .../data/mandate_expire_cron.xml | 2 +- .../account_banking_sepa_direct_debit.pot | 556 ++++++------------ account_banking_sepa_direct_debit/i18n/es.po | 456 ++++++++++++++ .../models/banking_export_sdd.py | 3 +- .../models/res_company.py | 2 +- .../views/account_banking_mandate_view.xml | 1 + .../wizard/export_sdd.py | 97 ++- 7 files changed, 686 insertions(+), 431 deletions(-) create mode 100644 account_banking_sepa_direct_debit/i18n/es.po diff --git a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml index 79aa0568910..48fe6fc637d 100644 --- a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml +++ b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml @@ -18,7 +18,7 @@ - +
diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot index 0db5767263e..a39fa750ae4 100644 --- a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot +++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot @@ -1,13 +1,13 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-23 22:24+0000\n" -"PO-Revision-Date: 2013-12-23 22:24+0000\n" +"POT-Creation-Date: 2014-10-31 22:53+0000\n" +"PO-Revision-Date: 2014-10-31 22:53+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,160 +16,150 @@ msgstr "" "Plural-Forms: \n" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid -msgid "SEPA Direct Debit Mandate Validated" +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,filename:0 -#: field:banking.export.sdd.wizard,filename:0 -msgid "Filename" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120 #, python-format -msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 -#, python-format -msgid "Cannot validate the mandate '%s' without a date of signature." +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Final" +#: field:banking.export.sdd,batch_booking:0 +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Finish" +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:res.partner:0 -#: view:res.partner.bank:0 -msgid "SDD Mandates" +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: constraint:payment.line:0 -#: constraint:sdd.mandate:0 -msgid "Error msg in raise" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Reconciled" +#: field:banking.export.sdd,charge_bearer:0 +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,recurrent_sequence_type:0 -msgid "Sequence Type for Next Debit" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Creditor" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu -#: view:res.partner.bank:0 -#: field:res.partner.bank,sdd_mandate_ids:0 -msgid "SEPA Direct Debit Mandates" +#: field:banking.export.sdd,create_uid:0 +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Validate" +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -msgid "Sequence Type set to Recurring" +#: selection:banking.export.sdd,state:0 +msgid "Draft" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "Generate" +#: help:res.company,sepa_creditor_identifier:0 +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel -msgid "SEPA Direct Debit Mandate Cancelled" +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Debtor" +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79 +#, python-format +msgid "Error" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202 #, python-format msgid "Error:" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_ids:0 -msgid "Messages" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,unique_mandate_reference:0 -msgid "Unique Mandate Reference" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Cancelled" +#: field:banking.export.sdd.wizard,file:0 +msgid "File" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 -#, python-format -msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." +#: field:banking.export.sdd,filename:0 +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_unread:0 -msgid "If checked new messages require your attention." +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file_id:0 -msgid "SDD File" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired -msgid "SEPA Direct Debit Mandate has Expired" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 -#, python-format -msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" msgstr "" #. module: account_banking_sepa_direct_debit @@ -179,28 +169,18 @@ msgid "Following service level : transaction charges are to be applied following msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Reference" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "SEPA Direct Debit" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "SEPA Direct Debit XML file generation" +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +msgid "General Information" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_summary:0 -msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line -msgid "Payment Line" +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order +msgid "Generated SEPA Direct Debit Files" msgstr "" #. module: account_banking_sepa_direct_debit @@ -209,65 +189,67 @@ msgid "Generation Date" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 -#, python-format -msgid "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')." +#: field:banking.export.sdd,id:0 +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Create" +#: help:account.banking.mandate,sepa_migrated:0 +msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,nb_transactions:0 -#: field:banking.export.sdd.wizard,nb_transactions:0 -msgid "Number of Transactions" +#: help:banking.export.sdd,batch_booking:0 +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "One-Off" +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80 +#, python-format +msgid "Invalid SEPA Creditor Identifier." msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,state:0 -#: field:banking.export.sdd.wizard,state:0 -msgid "State" +#: field:banking.export.sdd,write_uid:0 +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 -#, python-format -msgid "The recurrent mandate '%s' must have a sequence type." +#: field:banking.export.sdd,write_date:0 +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_follower_ids:0 -msgid "Followers" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119 +#, python-format +msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_unread:0 -msgid "Unread Messages" +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -#: field:banking.export.sdd,payment_order_ids:0 -#: field:banking.export.sdd.wizard,payment_order_ids:0 -msgid "Payment Orders" +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186 +#, python-format +msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Type" +#: field:banking.export.sdd,nb_transactions:0 +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Sent" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +msgid "One-Off" msgstr "" #. module: account_banking_sepa_direct_debit @@ -276,160 +258,100 @@ msgid "Original Creditor Identifier" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Recurring" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:res.company,sepa_creditor_identifier:0 -msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" -"- your country ISO code (2 letters)\n" -"- a 2-digits checkum\n" -"- a 3-letters business code\n" -"- a country-specific identifier" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: sql_constraint:sdd.mandate:0 -msgid "A Mandate with the same reference already exists for this company !" +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,state:0 -msgid "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer. A one-off mandate expires after its first use. A recurrent mandate expires after it's final use or if it hasn't been used for 36 months." +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,recurrent_sequence_type:0 -msgid "This field is only used for Recurrent mandates, not for One-Off mandates." +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +#: field:banking.export.sdd,payment_order_ids:0 +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138 #, python-format -msgid "The date of signature of mandate '%s' is in the future !" +msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Signature Date" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +msgid "Recurrent" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,charge_bearer:0 -#: field:banking.export.sdd.wizard,charge_bearer:0 -msgid "Charge Bearer" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_id:0 -msgid "Partner" +#: field:banking.export.sdd.wizard,file_id:0 +msgid "SDD File" msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "First" +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,signature_date:0 -msgid "Date of Signature of the Mandate" +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel -msgid "Mandate Cancelled" +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree +msgid "SEPA Direct Debit" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order -msgid "Generated SEPA Direct Debit Files" +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd +msgid "SEPA Direct Debit Files" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,sepa_migrated:0 -msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,company_id:0 -msgid "Company" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard -msgid "Export SEPA Direct Debit File" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd +msgid "SEPA Direct Debit export" msgstr "" #. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,batch_booking:0 -#: help:banking.export.sdd.wizard,batch_booking:0 -msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." +#: field:banking.export.sdd,file:0 +msgid "SEPA File" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 -#, python-format -msgid "Cannot validate the mandate '%s' because it is not attached to a bank account." +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit #: selection:banking.export.sdd,state:0 -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Draft" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 -#, python-format -msgid "Mandate update" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Shared" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,batch_booking:0 -#: field:banking.export.sdd.wizard,batch_booking:0 -msgid "Batch Booking" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,sepa_migrated:0 -msgid "Migrated to SEPA" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,state:0 -msgid "Status" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,total_amount:0 -#: field:banking.export.sdd.wizard,total_amount:0 -msgid "Total Amount" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd -msgid "SEPA Direct Debit Files" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following Service Level" +msgid "Sent" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 -#, python-format -msgid "The mandate '%s' can't have a date of last debit before the date of signature." +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" msgstr "" #. module: account_banking_sepa_direct_debit @@ -439,195 +361,87 @@ msgid "Sequence Type set to Final" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_is_follower:0 -msgid "Is a Follower" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,original_mandate_identification:0 -msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:payment.order:0 -msgid "SDD Mandate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,original_mandate_identification:0 -msgid "Original Mandate Identification" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company -msgid "Companies" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_summary:0 -msgid "Summary" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required -msgid "Original Mandate Required (SEPA)" +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:account.invoice,sdd_mandate_id:0 -#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate -#: field:payment.line,sdd_mandate_id:0 -#: view:sdd.mandate:0 -msgid "SEPA Direct Debit Mandate" +#: field:banking.export.sdd,state:0 +#: field:banking.export.sdd.wizard,state:0 +msgid "State" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194 #, python-format -msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." +msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203 #, python-format msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,scan:0 -msgid "Scan of the Mandate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,last_debit_date:0 -msgid "Date of the Last Debit" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired -msgid "Mandate Expired" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: constraint:res.company:0 -msgid "Invalid SEPA Creditor Identifier." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank -msgid "Bank Accounts" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action -msgid "

\n" -" Click to create a new SEPA Direct Debit Mandate.\n" -"

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" -"

\n" -" " -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "General Information" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Valid" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice -msgid "Invoice" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95 +#, python-format +msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Cancel" +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "This field is only used for Recurrent mandates, not for One-Off mandates." msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: field:sdd.mandate,payment_line_ids:0 -msgid "Related Payment Lines" +#: field:banking.export.sdd,total_amount:0 +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "Recurrent" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,type:0 +#: field:account.banking.mandate,type:0 msgid "Type of Mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid -msgid "Mandate Validated" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,file:0 -msgid "SEPA File" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:res.company,sepa_creditor_identifier:0 -msgid "SEPA Creditor Identifier" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd -msgid "SEPA Direct Debit export" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Expired" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_bank_id:0 -msgid "Bank Account" +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105 #, python-format msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." msgstr "" -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first -msgid "Sequence Type set to First" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 -#, python-format -msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_ids:0 -msgid "Messages and communication history" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Search SEPA Direct Debit Mandates" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file:0 -msgid "File" -msgstr "" - diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po new file mode 100644 index 00000000000..98334c842e6 --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -0,0 +1,456 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-10-31 22:53+0000\n" +"PO-Revision-Date: 2014-10-31 22:53+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "

\n" +" Pulse para crear un nuevo mandato de adeudo directo SEPA.\n" +"

\n" +" Un mandato de adeudo directo SEPA es un documento firmado por su cliente que le autoriza a realizar uno o más cobros directos en su cuenta bancaria, también conocidas como domiciliaciones.\n" +"

\n" +" " + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "Un mandato bancario genérico" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120 +#, python-format +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." +msgstr "Puesto que ha cambiar la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'." + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "Básico (CORE)" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,batch_booking:0 +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Registro en lote" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "A cargo del acreedor" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "A cargo del deudor" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,charge_bearer:0 +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "A cargo del portador" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Crear" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,create_uid:0 +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" +msgstr "Creado en" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n" +"- el código ISO de 2 letras de su país\n" +"- dos dígitos de comprobación\n" +"- tres letras de código de negocio\n" +"- un identificador específico de país (en España, el NIF)" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +msgstr "Empresa (B2B)" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79 +#, python-format +msgid "Error" +msgstr "Error" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202 +#, python-format +msgid "Error:" +msgstr "Error:" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Exportar archivo de adeudo directo SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Archivo" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,filename:0 +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Nombre de archivo" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Final" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Finalizar" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "Inicial" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Según el acuerdo de servicio" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,charge_bearer:0 +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." +msgstr "Según el acuerdo de servicio: los costes de la transacción se aplicarán siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema (las remesas SEPA Core deben usar esta opción). Compartidos: los costes de la transacción en la parte del acreedor están a cargo del acreedor, y los costes de la transacción del lado del deudor estarán a cargo del deudor. A cargo del acreedor: todos los costes de la transacción estarán a cargo del acreedor. A cargo del deudor: Todos los costes de la transacción estarán a cargo del deudor." + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +msgid "General Information" +msgstr "Información general" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Generar" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order +msgid "Generated SEPA Direct Debit Files" +msgstr "Archivos de adeudos directos SEPA generados" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,create_date:0 +msgid "Generation Date" +msgstr "Fecha de generación" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,id:0 +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" +msgstr "ID" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,sepa_migrated:0 +msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." +msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado." + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd,batch_booking:0 +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." +msgstr "Si está marcado, el extracto bancario mostrará sólo una línea del haber para todos los adeudos directos del archivo SEPA; si no está marcado, entonces el extracto bancario mostrará una línea por cada adeudo directo del archivo SEPA." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80 +#, python-format +msgid "Invalid SEPA Creditor Identifier." +msgstr "Identificador de acreedor SEPA no válido." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,write_uid:0 +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,write_date:0 +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119 +#, python-format +msgid "Mandate update" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Migrado a SEPA" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186 +#, python-format +msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." +msgstr "Falta el mandato de adeudo directo SEPA en la línea con la empresa '%s' y la factura con referencia '%s'" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,nb_transactions:0 +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Nº de transacciones" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +msgid "One-Off" +msgstr "Único" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Identificador del acreedor original" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Identificación del mandato original" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Mandato original requerido (SEPA)" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +#: field:banking.export.sdd,payment_order_ids:0 +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Órdenes de pago" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138 +#, python-format +msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +msgid "Recurrent" +msgstr "Recurrente" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Periódico" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file_id:0 +msgid "SDD File" +msgstr "Archivo SDD" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" +msgstr "Mandatos SDD" + +#. module: account_banking_sepa_direct_debit +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "Identificador de acreedor SEPA" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form +#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree +msgid "SEPA Direct Debit" +msgstr "Adeudo directo SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd +#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd +msgid "SEPA Direct Debit Files" +msgstr "Archivos de adeudos directos SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" +msgstr "Mandatos de adeudos directos SEPA" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" +msgstr "Generación del archivo XML de adeudo directo SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd +msgid "SEPA Direct Debit export" +msgstr "Exportación de adeudo directo SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,file:0 +msgid "SEPA File" +msgstr "Archivo SEPA" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" +msgstr "Esquema" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,state:0 +msgid "Sent" +msgstr "Enviado" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Tipo de secuencia para el próximo cobro" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Tipo de secuencia establecida a 'Final'" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Tipo de secuencia establecida a 'Inicial'" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Tipo de secuencia establecida a 'Recurrente'" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd,charge_bearer:0 +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Compartidos" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,state:0 +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "Estado" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194 +#, python-format +msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203 +#, python-format +msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." +msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "El mandato periódico '%s' debe tener un tipo de secuencia." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95 +#, python-format +msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." +msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'." + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd,total_amount:0 +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Importe total" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" +msgstr "Tipo" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,type:0 +msgid "Type of Mandate" +msgstr "Tipo de mandato" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Validar" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." +msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105 +#, python-format +msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." +msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'." + diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py index 44cd03b6e4f..84ac0b5e72c 100644 --- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py +++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py @@ -36,9 +36,8 @@ class BankingExportSdd(models.Model): _rec_name = 'filename' @api.one + @api.depends('payment_order_ids', 'payment_order_ids.reference') def _generate_filename(self): - filename = '' - # FIXME : we never enter inside the IF to give a good filename if self.payment_order_ids: ref = self.payment_order_ids[0].reference label = unidecode(ref.replace('/', '-')) if ref else 'error' diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 327edc40134..46f98bbc2ec 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -62,7 +62,7 @@ def is_sepa_creditor_identifier_valid( after_replacement = '' for char in before_replacement: if char.isalpha(): - after_replacement += str(ord(char)-87) + after_replacement += str(ord(char) - 87) else: after_replacement += char logger.debug( diff --git a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml index eba8ae28b40..a2065dc7588 100644 --- a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml +++ b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml @@ -18,6 +18,7 @@ + diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 79ead28b890..aa46ff8b122 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -28,35 +28,34 @@ from lxml import etree -class banking_export_sdd_wizard(orm.TransientModel): +class BankingExportSddWizard(orm.TransientModel): _name = 'banking.export.sdd.wizard' _inherit = ['banking.export.pain'] _description = 'Export SEPA Direct Debit File' _columns = { - 'state': fields.selection([ - ('create', 'Create'), - ('finish', 'Finish'), - ], 'State', readonly=True), + 'state': fields.selection( + [('create', 'Create'), + ('finish', 'Finish')], 'State', readonly=True), 'batch_booking': fields.boolean( 'Batch Booking', help="If true, the bank statement will display only one credit " "line for all the direct debits of the SEPA file ; if false, " "the bank statement will display one credit line per direct " "debit of the SEPA file."), - 'charge_bearer': fields.selection([ - ('SLEV', 'Following Service Level'), - ('SHAR', 'Shared'), - ('CRED', 'Borne by Creditor'), - ('DEBT', 'Borne by Debtor'), - ], 'Charge Bearer', required=True, + 'charge_bearer': fields.selection( + [('SLEV', 'Following Service Level'), + ('SHAR', 'Shared'), + ('CRED', 'Borne by Creditor'), + ('DEBT', 'Borne by Debtor')], 'Charge Bearer', required=True, help="Following service level : transaction charges are to be " - "applied following the rules agreed in the service level and/or " - "scheme (SEPA Core messages must use this). Shared : transaction " - "charges on the creditor side are to be borne by the creditor, " - "transaction charges on the debtor side are to be borne by the " - "debtor. Borne by creditor : all transaction charges are to be " - "borne by the creditor. Borne by debtor : all transaction " - "charges are to be borne by the debtor."), + "applied following the rules agreed in the service level " + "and/or scheme (SEPA Core messages must use this). Shared : " + "transaction charges on the creditor side are to be borne " + "by the creditor, transaction charges on the debtor side are " + "to be borne by the debtor. Borne by creditor : all " + "transaction charges are to be borne by the creditor. Borne " + "by debtor : all transaction charges are to be borne by the " + "debtor."), 'nb_transactions': fields.related( 'file_id', 'nb_transactions', type='integer', string='Number of Transactions', readonly=True), @@ -73,19 +72,19 @@ class banking_export_sdd_wizard(orm.TransientModel): 'payment_order_ids': fields.many2many( 'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id', 'payment_order_id', 'Payment Orders', readonly=True), - } + } _defaults = { 'charge_bearer': 'SLEV', 'state': 'create', - } + } def create(self, cr, uid, vals, context=None): payment_order_ids = context.get('active_ids', []) vals.update({ 'payment_order_ids': [[6, 0, payment_order_ids]], }) - return super(banking_export_sdd_wizard, self).create( + return super(BankingExportSddWizard, self).create( cr, uid, vals, context=context) def _get_previous_bank(self, cr, uid, payline, context=None): @@ -115,9 +114,7 @@ def _get_previous_bank(self, cr, uid, payline, context=None): return previous_bank def create_sepa(self, cr, uid, ids, context=None): - ''' - Creates the SEPA Direct Debit file. That's the important code ! - ''' + """Creates the SEPA Direct Debit file. That's the important code !""" sepa_export = self.browse(cr, uid, ids[0], context=context) pain_flavor = sepa_export.payment_order_ids[0].mode.type.code @@ -139,10 +136,9 @@ def create_sepa(self, cr, uid, ids, context=None): raise orm.except_orm( _('Error:'), _("Payment Type Code '%s' is not supported. The only " - "Payment Type Code supported for SEPA Direct Debit " - "are 'pain.008.001.02', 'pain.008.001.03' and " - "'pain.008.001.04'.") % pain_flavor) - + "Payment Type Code supported for SEPA Direct Debit are " + "'pain.008.001.02', 'pain.008.001.03' and " + "'pain.008.001.04'.") % pain_flavor) gen_args = { 'bic_xml_tag': bic_xml_tag, 'name_maxsize': name_maxsize, @@ -154,20 +150,16 @@ def create_sepa(self, cr, uid, ids, context=None): 'pain_xsd_file': 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor, } - pain_ns = { 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor, - } - + } xml_root = etree.Element('Document', nsmap=pain_ns) pain_root = etree.SubElement(xml_root, root_xml_tag) - # A. Group header group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \ self.generate_group_header_block( cr, uid, pain_root, gen_args, context=context) - transactions_count_1_6 = 0 total_amount = 0.0 amount_control_sum_1_7 = 0.0 @@ -192,36 +184,35 @@ def create_sepa(self, cr, uid, ids, context=None): raise orm.except_orm( _('Error:'), _("Missing SEPA Direct Debit mandate on the payment " - "line with partner '%s' and Invoice ref '%s'.") + "line with partner '%s' and Invoice ref '%s'.") % (line.partner_id.name, - line.ml_inv_ref.number)) + line.ml_inv_ref.number)) scheme = line.mandate_id.scheme if line.mandate_id.state != 'valid': raise orm.except_orm( _('Error:'), _("The SEPA Direct Debit mandate with reference '%s' " - "for partner '%s' has expired.") + "for partner '%s' has expired.") % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name)) + line.mandate_id.partner_id.name)) if line.mandate_id.type == 'oneoff': - if not line.mandate_id.last_debit_date: - seq_type = 'OOFF' - else: + seq_type = 'OOFF' + if line.mandate_id.last_debit_date: raise orm.except_orm( _('Error:'), _("The mandate with reference '%s' for partner " - "'%s' has type set to 'One-Off' and it has a " - "last debit date set to '%s', so we can't use " - "it.") + "'%s' has type set to 'One-Off' and it has a " + "last debit date set to '%s', so we can't use " + "it.") % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name, - line.mandate_id.last_debit_date)) + line.mandate_id.partner_id.name, + line.mandate_id.last_debit_date)) elif line.mandate_id.type == 'recurrent': seq_type_map = { 'recurring': 'RCUR', 'first': 'FRST', 'final': 'FNAL', - } + } seq_type_label = \ line.mandate_id.recurrent_sequence_type assert seq_type_label is not False @@ -261,10 +252,8 @@ def create_sepa(self, cr, uid, ids, context=None): 'sepa_export.payment_order_ids[0].mode.bank_id.bank.bic', {'sepa_export': sepa_export}, gen_args, context=context) - charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr') charge_bearer_2_24.text = sepa_export.charge_bearer - creditor_scheme_identification_2_27 = etree.SubElement( payment_info_2_0, 'CdtrSchmeId') self.generate_creditor_scheme_identification( @@ -273,7 +262,6 @@ def create_sepa(self, cr, uid, ids, context=None): 'sepa_creditor_identifier', 'SEPA Creditor Identifier', {'sepa_export': sepa_export}, 'SEPA', gen_args, context=context) - transactions_count_2_4 = 0 amount_control_sum_2_5 = 0.0 for line in lines: @@ -404,20 +392,17 @@ def create_sepa(self, cr, uid, ids, context=None): gen_args, context=context) def cancel_sepa(self, cr, uid, ids, context=None): - ''' - Cancel the SEPA file: just drop the file - ''' + """Cancel the SEPA file: just drop the file""" sepa_export = self.browse(cr, uid, ids[0], context=context) self.pool.get('banking.export.sdd').unlink( cr, uid, sepa_export.file_id.id, context=context) return {'type': 'ir.actions.act_window_close'} def save_sepa(self, cr, uid, ids, context=None): - ''' - Save the SEPA Direct Debit file: mark all payments in the file + """Save the SEPA Direct Debit file: mark all payments in the file as 'sent'. Write 'last debit date' on mandate and set oneoff - mandate to expired - ''' + mandate to expired. + """ sepa_export = self.browse(cr, uid, ids[0], context=context) self.pool.get('banking.export.sdd').write( cr, uid, sepa_export.file_id.id, {'state': 'sent'}, From 9bbb150ec80331f2cb2c74456b1109dd22aa0668 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 19 Dec 2014 23:59:02 +0100 Subject: [PATCH 06/83] [IMP] account_banking_sepa_direct_debit: 5 things: * Transfer move: one transfer move for each payment.order with only 1 line in the transfer account for the total of the account move. Move the inherit of the 'Invoice' button of payment.order from account_banking_payment_transfer to account_banking_payment_export Demo data: Add a bank account + mandate on Agrolait, to be able to easily test multi-partner SEPA DD * mandates: search by reference, add group_by, add seq type in tree view * Add scheme in mandate tree+search view Replace tabs by spaces in mandate views account_banking_mandate/views/account_banking_mandate_view.xml: convert from dos to unix format * Add sale_ok and purchase_ok filters in partner/sale/purchase form views Use widget=selection for payment_mode_id fields Update demo data * Limit lenght of mandate reference, according to ISO 20022 --- .../demo/sepa_direct_debit_demo.xml | 9 + .../models/account_banking_mandate.py | 21 +- .../views/account_banking_mandate_view.xml | 203 +++++++++--------- .../wizard/export_sdd.py | 4 +- 4 files changed, 130 insertions(+), 107 deletions(-) diff --git a/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml index 041082d76cf..51a24bad1e1 100644 --- a/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml +++ b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml @@ -9,6 +9,7 @@ +
@@ -23,5 +24,13 @@ valid + + + recurrent + first + + valid + + diff --git a/account_banking_sepa_direct_debit/models/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py index 4df70637868..56b4c870d8b 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -70,18 +70,20 @@ class AccountBankingMandate(models.Model): "active.", default=True) original_mandate_identification = fields.Char( string='Original Mandate Identification', track_visibility='onchange', + size=35, help="When the field 'Migrated to SEPA' is not active, this field " "will be used as the Original Mandate Identification in the " "Direct Debit file.") scheme = fields.Selection([('CORE', 'Basic (CORE)'), ('B2B', 'Enterprise (B2B)')], string='Scheme', required=True, default="CORE") + unique_mandate_reference = fields.Char(size=35) # cf ISO 20022 @api.one @api.constrains('type', 'recurrent_sequence_type') def _check_recurring_type(self): - if (self.type == 'recurrent' - and not self.recurrent_sequence_type): + if (self.type == 'recurrent' and + not self.recurrent_sequence_type): raise exceptions.Warning( _("The recurrent mandate '%s' must have a sequence type.") % self.unique_mandate_reference) @@ -89,8 +91,8 @@ def _check_recurring_type(self): @api.one @api.constrains('type', 'recurrent_sequence_type', 'sepa_migrated') def _check_migrated_to_sepa(self): - if (self.type == 'recurrent' and not self.sepa_migrated - and self.recurrent_sequence_type != 'first'): + if (self.type == 'recurrent' and not self.sepa_migrated and + self.recurrent_sequence_type != 'first'): raise exceptions.Warning( _("The recurrent mandate '%s' which is not marked as " "'Migrated to SEPA' must have its recurrent sequence type " @@ -99,8 +101,8 @@ def _check_migrated_to_sepa(self): @api.one @api.constrains('type', 'original_mandate_identification', 'sepa_migrated') def _check_original_mandate_identification(self): - if (self.type == 'recurrent' and not self.sepa_migrated - and not self.original_mandate_identification): + if (self.type == 'recurrent' and not self.sepa_migrated and + not self.original_mandate_identification): raise exceptions.Warning( _("You must set the 'Original Mandate Identification' on the " "recurrent mandate '%s' which is not marked as 'Migrated to " @@ -111,9 +113,10 @@ def _check_original_mandate_identification(self): def mandate_partner_bank_change(self): super(AccountBankingMandate, self).mandate_partner_bank_change() res = {} - if (self.state == 'valid' and self.partner_bank_id - and self.type == 'recurrent' - and self.recurrent_sequence_type != 'first'): + if (self.state == 'valid' and + self.partner_bank_id and + self.type == 'recurrent' and + self.recurrent_sequence_type != 'first'): self.recurrent_sequence_type = 'first' res['warning'] = { 'title': _('Mandate update'), diff --git a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml index a2065dc7588..366edfaf89d 100644 --- a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml +++ b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml @@ -5,114 +5,125 @@ The licence is in the file __openerp__.py --> - - sdd.mandate.form - account.banking.mandate - - - - - - - - - - - - - - - - - sdd.mandate.tree - account.banking.mandate - - - - - - - - - sdd.mandate.search - account.banking.mandate - - - - - - - - + + sdd.mandate.form + account.banking.mandate + + + + + + + + + + + + + - - SEPA Direct Debit Mandates - account.banking.mandate - form - tree,form - -

- Click to create a new SEPA Direct Debit Mandate. -

- A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account. -

-
-
+ + sdd.mandate.tree + account.banking.mandate + + + + + + + + + - + + sdd.mandate.search + account.banking.mandate + + + + + + + + + + + + + - - sdd.mandate.res.partner.bank.tree - res.partner.bank - - - - SDD Mandates - - - + + SEPA Direct Debit Mandates + account.banking.mandate + 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. +

+
+
- - sdd.mandate.partner.form - res.partner - - - - SDD Mandates - - - + - - Sequence Type set to First - account.banking.mandate - - Sequence Type set to First - + + sdd.mandate.res.partner.bank.tree + res.partner.bank + + + + SDD Mandates + + + - - Sequence Type set to Recurring - account.banking.mandate - - Sequence Type set to Recurring - + + 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 + - - Sequence Type set to Final - account.banking.mandate - - Sequence Type set to Final -
diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index aa46ff8b122..2fffdda6599 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -103,8 +103,8 @@ def _get_previous_bank(self, cr, uid, payline, context=None): 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): + 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: From 4aee8f7efa8e95eff376e8cf05c1f367a0f867ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Thu, 22 Jan 2015 17:24:23 +0100 Subject: [PATCH 07/83] sepa direct debit: get BIC from bank account if not available on bank --- .../wizard/export_sdd.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 2fffdda6599..948fa68be92 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -249,7 +249,8 @@ def create_sepa(self, cr, uid, ids, context=None): '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.payment_order_ids[0].mode.bank_id.bank.bic or ' + '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') @@ -316,7 +317,10 @@ def create_sepa(self, cr, uid, ids, context=None): 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: + 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( @@ -340,7 +344,8 @@ def create_sepa(self, cr, uid, ids, context=None): 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.bank.bic or ' + 'previous_bank.bank_bic', {'previous_bank': previous_bank}, gen_args=gen_args, context=context) @@ -375,7 +380,8 @@ def create_sepa(self, cr, uid, ids, context=None): cr, uid, dd_transaction_info_2_28, 'Dbtr', 'C', 'line.partner_id.name', 'line.bank_id.acc_number', - 'line.bank_id.bank.bic', + 'line.bank_id.bank.bic or ' + 'line.bank_id.bank_bic', {'line': line}, gen_args, context=context) self.generate_remittance_info_block( From eafeec437de9719a0221a6ab565638d0d497c849 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Thu, 29 Jan 2015 16:30:02 +0100 Subject: [PATCH 08/83] Use attachments instead of creating a specific object for each kind of payment order --- .../__openerp__.py | 9 +- .../migrations/8.0.0.2/post-migration.py | 50 +++++++++++ .../migrations/8.0.0.2/pre-migration.py | 32 +++++++ .../models/__init__.py | 1 - .../models/banking_export_sdd.py | 84 ------------------- .../security/ir.model.access.csv | 2 - .../views/account_banking_sdd_view.xml | 77 ----------------- .../wizard/export_sdd.py | 50 ++++------- .../wizard/export_sdd_view.xml | 5 +- 9 files changed, 104 insertions(+), 206 deletions(-) create mode 100644 account_banking_sepa_direct_debit/migrations/8.0.0.2/post-migration.py create mode 100644 account_banking_sepa_direct_debit/migrations/8.0.0.2/pre-migration.py delete mode 100644 account_banking_sepa_direct_debit/models/banking_export_sdd.py delete mode 100644 account_banking_sepa_direct_debit/security/ir.model.access.csv delete mode 100644 account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 6a95f025524..3fa29c1eb3c 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -1,8 +1,8 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# SEPA Direct Debit module for OpenERP -# Copyright (C) 2013 Akretion (http://www.akretion.com) +# 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 @@ -34,18 +34,13 @@ 'account_banking_pain_base', 'account_banking_mandate', ], - 'external_dependencies': { - 'python': ['unidecode', 'lxml'], - }, 'data': [ - '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', 'security/original_mandate_required_security.xml', - 'security/ir.model.access.csv', ], 'demo': ['demo/sepa_direct_debit_demo.xml'], 'description': ''' diff --git a/account_banking_sepa_direct_debit/migrations/8.0.0.2/post-migration.py b/account_banking_sepa_direct_debit/migrations/8.0.0.2/post-migration.py new file mode 100644 index 00000000000..dd759cac6ae --- /dev/null +++ b/account_banking_sepa_direct_debit/migrations/8.0.0.2/post-migration.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 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 pooler, SUPERUSER_ID + + +def migrate(cr, version): + if not version: + return + + pool = pooler.get_pool(cr.dbname) + cr.execute(''' + SELECT + old_sepa.file, + rel.account_order_id AS payment_order_id, + payment_order.reference + FROM migration_banking_export_sdd old_sepa + LEFT JOIN migration_account_payment_order_sdd_rel rel + ON old_sepa.id=rel.banking_export_sepa_id + LEFT JOIN payment_order ON payment_order.id=rel.account_order_id + ''') + + for sepa_file in cr.dictfetchall(): + filename = 'sdd_%s.xml' % sepa_file['reference'].replace('/', '-') + pool['ir.attachment'].create( + cr, SUPERUSER_ID, { + 'name': filename, + 'res_id': sepa_file['payment_order_id'], + 'res_model': 'payment.order', + 'datas': str(sepa_file['file']), + }) + return diff --git a/account_banking_sepa_direct_debit/migrations/8.0.0.2/pre-migration.py b/account_banking_sepa_direct_debit/migrations/8.0.0.2/pre-migration.py new file mode 100644 index 00000000000..42fa23b0ae6 --- /dev/null +++ b/account_banking_sepa_direct_debit/migrations/8.0.0.2/pre-migration.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 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 . +# +############################################################################## + + +def migrate(cr, version): + if not version: + return + + cr.execute( + 'ALTER TABLE banking_export_sdd ' + 'RENAME TO migration_banking_export_sdd') + cr.execute( + 'ALTER TABLE account_payment_order_sdd_rel ' + 'RENAME TO migration_account_payment_order_sdd_rel') diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index 274855e14c3..153ab3543b3 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -20,6 +20,5 @@ # ############################################################################## -from . import banking_export_sdd from . import res_company from . import account_banking_mandate diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py deleted file mode 100644 index 84ac0b5e72c..00000000000 --- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py +++ /dev/null @@ -1,84 +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 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 - @api.depends('payment_order_ids', 'payment_order_ids.reference') - def _generate_filename(self): - 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( - 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/security/ir.model.access.csv b/account_banking_sepa_direct_debit/security/ir.model.access.csv deleted file mode 100644 index 0cd57951186..00000000000 --- a/account_banking_sepa_direct_debit/security/ir.model.access.csv +++ /dev/null @@ -1,2 +0,0 @@ -"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 diff --git a/account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml b/account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml deleted file mode 100644 index f74b60353e6..00000000000 --- a/account_banking_sepa_direct_debit/views/account_banking_sdd_view.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - 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/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 948fa68be92..9fc1e2876aa 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -1,8 +1,8 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# SEPA Direct Debit module for OpenERP -# Copyright (C) 2013 Akretion (http://www.akretion.com) +# 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 @@ -24,7 +24,6 @@ from openerp.osv import orm, fields from openerp.tools.translate import _ from openerp import workflow -from datetime import datetime from lxml import etree @@ -56,19 +55,14 @@ class BankingExportSddWizard(orm.TransientModel): "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', + 'nb_transactions': fields.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), + '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', 'Payment Orders', readonly=True), @@ -144,9 +138,9 @@ def create_sepa(self, cr, uid, ids, context=None): 'name_maxsize': name_maxsize, 'convert_to_ascii': convert_to_ascii, 'payment_method': 'DD', + 'file_prefix': 'sdd_', '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, } @@ -397,29 +391,21 @@ def create_sepa(self, cr, uid, ids, context=None): 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) for order in sepa_export.payment_order_ids: workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr) - 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) + self.pool['ir.attachment'].create( + cr, uid, { + 'res_model': 'payment.order', + 'res_id': order.id, + 'name': sepa_export.filename, + 'datas': sepa_export.file, + }, context=context) to_expire_ids = [] first_mandate_ids = [] for line in order.line_ids: @@ -438,4 +424,4 @@ def save_sepa(self, cr, uid, ids, context=None): 'recurrent_sequence_type': 'recurring', 'sepa_migrated': True, }, context=context) - return {'type': 'ir.actions.act_window_close'} + 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 index 3699de91caf..95117e27094 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml +++ b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml @@ -11,7 +11,7 @@ banking.export.sdd.wizard.view banking.export.sdd.wizard -
+ @@ -25,9 +25,8 @@
From 20807820b3da803b760461c160c58094e025402d Mon Sep 17 00:00:00 2001 From: Philippe Schmidt Date: Mon, 1 Jun 2015 17:10:58 +0200 Subject: [PATCH 09/83] Add requested descriptions in an OCA README.rst file --- account_banking_sepa_direct_debit/README.rst | 87 +++++++++++++++++++ .../__openerp__.py | 14 --- 2 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 account_banking_sepa_direct_debit/README.rst diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst new file mode 100644 index 00000000000..ace5ce806cc --- /dev/null +++ b/account_banking_sepa_direct_debit/README.rst @@ -0,0 +1,87 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +Account Banking SEPA Direct Debit +================================= + +Create SEPA files for Direct Debit + +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. + +Installation +============ + +This module depends on : +* account_direct_debit +* account_banking_pain_base', +* account_banking_mandate + +This module is part of the OCA/bank-payment suite. + +Configuration +============= + +To configure this module, you need to: + + * Create a payment mode and select an export type related to debit order ( eg. "SEPA direct debit ...") + +Usage +===== + +To use this module, you must select this payment mode on a direct debit order (Menu :Accounting > Payment > Direct Debit orders) + +For further information, please visit: + + * https://www.odoo.com/forum/help-1 + +Known issues / Roadmap +====================== + + * No known issues + +Bug Tracker +=========== + +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 +`here `_. + +Credits +======= + +Contributors +------------ + +* Firsname Lastname +* Alexis de Lattre +* Pedro M. Baeza +* Stéphane Bidoul +* Alexandre Fayolle +* Raphaël Valyi +* Sandy Carter + + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 3fa29c1eb3c..92eea9370a4 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -43,19 +43,5 @@ 'security/original_mandate_required_security.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. - -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. - ''', 'installable': True, } From 609debc1e592fa38207570df2109775c7fa495ef Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Sat, 6 Jun 2015 00:20:41 +0200 Subject: [PATCH 10/83] Port SEPA modules to new API Fix an important regression in account_banking_sepa_direct_debit: "Date of Last Debit" was not set any more Proper write of date_done with account_banking_payment_export is installed without account_banking_payment_transfer Add post-install script for date_sent on payment.order --- .../wizard/export_sdd.py | 295 ++++++++---------- 1 file changed, 131 insertions(+), 164 deletions(-) diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 9fc1e2876aa..2c0d93d5783 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -21,99 +21,85 @@ ############################################################################## -from openerp.osv import orm, fields -from openerp.tools.translate import _ +from openerp import models, fields, api, _ +from openerp.exceptions import Warning from openerp import workflow from lxml import etree -class BankingExportSddWizard(orm.TransientModel): +class BankingExportSddWizard(models.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.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', 'Payment Orders', readonly=True), - } - _defaults = { - 'charge_bearer': 'SLEV', - 'state': 'create', - } + 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) - def create(self, cr, uid, vals, context=None): - payment_order_ids = context.get('active_ids', []) + @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( - cr, uid, vals, context=context) + return super(BankingExportSddWizard, self).create(vals) - def _get_previous_bank(self, cr, uid, payline, context=None): - payline_obj = self.pool['payment.line'] + def _get_previous_bank(self, payline): previous_bank = False - payline_ids = payline_obj.search( - cr, uid, [ - ('mandate_id', '=', payline.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) + 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_id = False + previous_payline = 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) + 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 - def create_sepa(self, cr, uid, ids, context=None): + @api.multi + def create_sepa(self): """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 + pain_flavor = self.payment_order_ids[0].mode.type.code convert_to_ascii = \ - sepa_export.payment_order_ids[0].mode.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 @@ -127,8 +113,7 @@ def create_sepa(self, cr, uid, ids, context=None): name_maxsize = 140 root_xml_tag = 'CstmrDrctDbtInitn' else: - raise orm.except_orm( - _('Error:'), + 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 " @@ -140,7 +125,6 @@ def create_sepa(self, cr, uid, ids, context=None): 'payment_method': 'DD', 'file_prefix': 'sdd_', 'pain_flavor': pain_flavor, - 'sepa_export': sepa_export, 'pain_xsd_file': 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor, } @@ -152,8 +136,7 @@ def create_sepa(self, cr, uid, ids, context=None): 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) + 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 @@ -161,8 +144,8 @@ def create_sepa(self, cr, uid, ids, context=None): # 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: + today = fields.Date.context_today(self) + for payment_order in self.payment_order_ids: total_amount = total_amount + payment_order.total # Iterate each payment lines for line in payment_order.line_ids: @@ -175,16 +158,14 @@ def create_sepa(self, cr, uid, ids, context=None): else: requested_date = today if not line.mandate_id: - raise orm.except_orm( - _('Error:'), + raise Warning( _("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.mandate_id.scheme if line.mandate_id.state != 'valid': - raise orm.except_orm( - _('Error:'), + raise Warning( _("The SEPA Direct Debit mandate with reference '%s' " "for partner '%s' has expired.") % (line.mandate_id.unique_mandate_reference, @@ -192,8 +173,7 @@ def create_sepa(self, cr, uid, ids, context=None): if line.mandate_id.type == 'oneoff': seq_type = 'OOFF' if line.mandate_id.last_debit_date: - raise orm.except_orm( - _('Error:'), + 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 " @@ -218,45 +198,41 @@ def create_sepa(self, cr, uid, ids, context=None): 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) + line.date = requested_date 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( - cr, uid, pain_root, - "sepa_export.payment_order_ids[0].reference + '-' + " + pain_root, + "self.payment_order_ids[0].reference + '-' + " "sequence_type + '-' + requested_date.replace('-', '') " "+ '-' + priority", priority, scheme, sequence_type, requested_date, { - 'sepa_export': sepa_export, + 'self': self, 'sequence_type': sequence_type, 'priority': priority, 'requested_date': requested_date, - }, gen_args, context=context) + }, gen_args) self.generate_party_block( - cr, uid, payment_info_2_0, 'Cdtr', 'B', - 'sepa_export.payment_order_ids[0].mode.bank_id.partner_id.' + payment_info_2_0, 'Cdtr', 'B', + 'self.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 or ' - 'sepa_export.payment_order_ids[0].mode.bank_id.bank_bic', - {'sepa_export': sepa_export}, - gen_args, context=context) + '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 = sepa_export.charge_bearer + 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( - cr, uid, creditor_scheme_identification_2_27, - 'sepa_export.payment_order_ids[0].company_id.' + creditor_scheme_identification_2_27, + 'self.payment_order_ids[0].company_id.' 'sepa_creditor_identifier', - 'SEPA Creditor Identifier', {'sepa_export': sepa_export}, - 'SEPA', gen_args, context=context) + 'SEPA Creditor Identifier', {'self': self}, 'SEPA', gen_args) transactions_count_2_4 = 0 amount_control_sum_2_5 = 0.0 for line in lines: @@ -269,13 +245,11 @@ def create_sepa(self, cr, uid, ids, context=None): 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) + 'End to End Identification', 'line.name', + {'line': line}, 35, gen_args=gen_args) currency_name = self._prepare_field( - cr, uid, 'Currency Code', 'line.currency.name', - {'line': line}, 3, gen_args=gen_args, - context=context) + '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 @@ -288,22 +262,19 @@ def create_sepa(self, cr, uid, ids, context=None): 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', + 'Unique Mandate Reference', 'line.mandate_id.unique_mandate_reference', - {'line': line}, 35, - gen_args=gen_args, context=context) + {'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( - cr, uid, 'Mandate Signature Date', + 'Mandate Signature Date', 'line.mandate_id.signature_date', - {'line': line}, 10, - gen_args=gen_args, context=context) + {'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( - cr, uid, line, context=context) + 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') @@ -322,13 +293,11 @@ def create_sepa(self, cr, uid, ids, context=None): 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', + self._prepare_field( + 'Original Debtor Account', 'previous_bank.acc_number', {'previous_bank': previous_bank}, - gen_args=gen_args, - context=context), - context=context) + gen_args=gen_args)) else: ori_debtor_agent_2_58 = etree.SubElement( amendment_info_details_2_51, 'OrgnlDbtrAgt') @@ -337,12 +306,11 @@ def create_sepa(self, cr, uid, ids, context=None): 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', + 'Original Debtor Agent', 'previous_bank.bank.bic or ' 'previous_bank.bank_bic', {'previous_bank': previous_bank}, - gen_args=gen_args, - context=context) + gen_args=gen_args) ori_debtor_agent_other = etree.SubElement( ori_debtor_agent_institution, 'Othr') ori_debtor_agent_other_id = etree.SubElement( @@ -354,74 +322,73 @@ def create_sepa(self, cr, uid, ids, context=None): amendment_info_details_2_51, 'OrgnlMndtId') ori_mandate_identification_2_52.text = \ self._prepare_field( - cr, uid, 'Original Mandate Identification', + 'Original Mandate Identification', 'line.mandate_id.' 'original_mandate_identification', {'line': line}, - gen_args=gen_args, - context=context) + gen_args=gen_args) 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.' + ori_creditor_scheme_id_2_53, + 'self.payment_order_ids[0].company_id.' 'original_creditor_identifier', 'Original Creditor Identifier', - {'sepa_export': sepa_export}, - 'SEPA', gen_args, context=context) + {'self': self}, 'SEPA', gen_args) self.generate_party_block( - cr, uid, dd_transaction_info_2_28, 'Dbtr', 'C', + 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, context=context) + {'line': line}, gen_args) self.generate_remittance_info_block( - cr, uid, dd_transaction_info_2_28, - line, gen_args, context=context) + dd_transaction_info_2_28, line, gen_args) - nb_of_transactions_2_4.text = str(transactions_count_2_4) + 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 = str(transactions_count_1_6) + 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( - cr, uid, ids, xml_root, total_amount, transactions_count_1_6, - gen_args, context=context) + xml_root, total_amount, transactions_count_1_6, gen_args) - def save_sepa(self, cr, uid, ids, context=None): + @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. """ - sepa_export = self.browse(cr, uid, ids[0], context=context) - for order in sepa_export.payment_order_ids: - workflow.trg_validate(uid, 'payment.order', order.id, 'done', cr) - self.pool['ir.attachment'].create( - cr, uid, { - 'res_model': 'payment.order', - 'res_id': order.id, - 'name': sepa_export.filename, - 'datas': sepa_export.file, - }, context=context) - to_expire_ids = [] - first_mandate_ids = [] + 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 line in order.line_ids: + all_mandates += line.mandate_id if line.mandate_id.type == 'oneoff': - to_expire_ids.append(line.mandate_id.id) + to_expire_mandates += line.mandate_id elif line.mandate_id.type == 'recurrent': seq_type = line.mandate_id.recurrent_sequence_type if seq_type == 'final': - to_expire_ids.append(line.mandate_id.id) + to_expire_mandates += line.mandate_id elif seq_type == 'first': - 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['account.banking.mandate'].write( - cr, uid, first_mandate_ids, { - 'recurrent_sequence_type': 'recurring', - 'sepa_migrated': True, - }, context=context) + first_mandates += line.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 From 49bfcf271f80e3a4bd47eae479696e4a942a580a Mon Sep 17 00:00:00 2001 From: sergio-incaser Date: Wed, 8 Jul 2015 10:07:40 +0200 Subject: [PATCH 11/83] account_banking_sepa_direct_debit: Fix error in payment order validation when there is more than one line with the same mandate. --- account_banking_sepa_direct_debit/wizard/export_sdd.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 2c0d93d5783..b76e14050b7 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -375,6 +375,8 @@ def save_sepa(self): first_mandates = abmo.browse([]) all_mandates = abmo.browse([]) for line in order.line_ids: + if line.mandate_id in all_mandates: + continue all_mandates += line.mandate_id if line.mandate_id.type == 'oneoff': to_expire_mandates += line.mandate_id From bf6d51b14b9bee25b34b3fb2dfdfd1089cf21e84 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Mon, 21 Sep 2015 12:32:45 +0200 Subject: [PATCH 12/83] [IMP] account_banking_sepa_direct_debit: 4 things * Add bank.payment.lines object to allow grouping in the payments * Add a hook to inherit grouping of the transfer account move line Use that new hook in SEPA direct debits Better variable names * FIX Reading wrong field for sequence type of SEPA DD Loop on bank payment lines instead of payment lines * Update automated tests and demo data * Add on_change on field 'type' of payment.mode for easier configuration --- .../demo/sepa_direct_debit_demo.xml | 1 + .../models/__init__.py | 23 +--------- .../models/bank_payment_line.py | 41 +++++++++++++++++ .../wizard/export_sdd.py | 44 ++++++++----------- 4 files changed, 63 insertions(+), 46 deletions(-) create mode 100644 account_banking_sepa_direct_debit/models/bank_payment_line.py 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 51a24bad1e1..07b347f6cbc 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 @@ -10,6 +10,7 @@ + diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index 153ab3543b3..ac7674156e9 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -1,24 +1,5 @@ -# -*- 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 . -# -############################################################################## +# -*- coding: utf-8 -*- from . import res_company from . import account_banking_mandate +from . import bank_payment_line diff --git a/account_banking_sepa_direct_debit/models/bank_payment_line.py b/account_banking_sepa_direct_debit/models/bank_payment_line.py new file mode 100644 index 00000000000..67a0da3f500 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/bank_payment_line.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# SEPA Direct Debit module for Odoo +# Copyright (C) 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, api + + +class BankPaymentLine(models.Model): + _inherit = 'bank.payment.line' + + @api.multi + def move_line_transfer_account_hashcode(self): + """ + From my experience, even when you ask several direct debits + at the same date with enough delay, you will have several credits + on your bank statement: one for each mandate types. + So we split the transfer move lines by mandate type, so easier + reconciliation of the bank statement. + """ + hashcode = super(BankPaymentLine, self).\ + move_line_transfer_account_hashcode() + hashcode += '-' + unicode(self.mandate_id.recurrent_sequence_type) + return hashcode diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index b76e14050b7..53bdd3d10fd 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -144,25 +144,22 @@ def create_sepa(self): # key = (requested_date, priority, sequence type) # value = list of lines as objects # Iterate on payment orders - today = fields.Date.context_today(self) for payment_order in self.payment_order_ids: total_amount = total_amount + payment_order.total # Iterate each payment lines - for line in payment_order.line_ids: + for line in payment_order.bank_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 + # 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 payment " - "line with partner '%s' and Invoice ref '%s'.") - % (line.partner_id.name, - line.ml_inv_ref.number)) + _("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( @@ -191,14 +188,11 @@ def create_sepa(self): 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) + 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] - # Write requested_exec_date on 'Payment date' of the pay line - if requested_date != line.date: - line.date = requested_date for (requested_date, priority, sequence_type, scheme), lines in \ lines_per_group.items(): @@ -374,18 +368,18 @@ def save_sepa(self): to_expire_mandates = abmo.browse([]) first_mandates = abmo.browse([]) all_mandates = abmo.browse([]) - for line in order.line_ids: - if line.mandate_id in all_mandates: + for bline in order.bank_line_ids: + if bline.mandate_id in all_mandates: continue - all_mandates += line.mandate_id - if line.mandate_id.type == 'oneoff': - to_expire_mandates += line.mandate_id - elif line.mandate_id.type == 'recurrent': - seq_type = line.mandate_id.recurrent_sequence_type + 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 += line.mandate_id + to_expire_mandates += bline.mandate_id elif seq_type == 'first': - first_mandates += line.mandate_id + first_mandates += bline.mandate_id all_mandates.write( {'last_debit_date': fields.Date.context_today(self)}) to_expire_mandates.write({'state': 'expired'}) From 44eb1ec85078563e03e3c813026064a352ef0818 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 15 Feb 2016 23:10:18 +0100 Subject: [PATCH 13/83] [IMP] account_banking_sepa_direct_debit: Short headers + Bump version numbers + es translations --- account_banking_sepa_direct_debit/__init__.py | 24 +-- .../__openerp__.py | 28 +--- account_banking_sepa_direct_debit/i18n/es.po | 144 +++++------------- .../models/account_banking_mandate.py | 25 +-- .../models/bank_payment_line.py | 22 +-- .../models/res_company.py | 25 +-- .../wizard/export_sdd.py | 2 +- 7 files changed, 59 insertions(+), 211 deletions(-) diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py index 096fe8ad3fd..b4a69d3678b 100644 --- a/account_banking_sepa_direct_debit/__init__.py +++ b/account_banking_sepa_direct_debit/__init__.py @@ -1,24 +1,6 @@ -# -*- 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 . -# -############################################################################## +# -*- coding: utf-8 -*- +# © 2013 Akretion (www.akretion.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models from . import wizard diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 92eea9370a4..268fffe2591 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -1,28 +1,12 @@ -# -*- 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 . -# -############################################################################## +# -*- coding: utf-8 -*- +# © 2013-2015 Akretion (www.akretion.com) +# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '8.0.0.2.0', + 'version': '8.0.0.3.0', 'license': 'AGPL-3', 'author': "Akretion, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 98334c842e6..1255410e676 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -6,8 +6,8 @@ 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" +"POT-Creation-Date: 2016-02-16 07:53+0000\n" +"PO-Revision-Date: 2016-02-16 07:53+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -18,17 +18,17 @@ msgstr "" #. 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" -" " +" 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" +" " #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate @@ -36,10 +36,15 @@ 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:106 #, 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'." +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" #. module: account_banking_sepa_direct_debit #: selection:account.banking.mandate,scheme:0 @@ -47,19 +52,16 @@ 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" @@ -70,7 +72,6 @@ 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" @@ -86,7 +87,6 @@ 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" @@ -96,11 +96,6 @@ msgstr "Creado por" 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" @@ -120,20 +115,11 @@ msgid "Enterprise (B2B)" msgstr "Empresa (B2B)" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:62 #, 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" @@ -145,7 +131,6 @@ 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" @@ -166,39 +151,21 @@ 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" @@ -209,34 +176,31 @@ msgid "If this field is not active, the mandate section of the next direct debit 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 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:63 #, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105 #, python-format msgid "Mandate update" -msgstr "" +msgstr "Actualizacion de mandato" #. module: account_banking_sepa_direct_debit #: field:account.banking.mandate,sepa_migrated:0 @@ -244,13 +208,12 @@ 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 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 #, 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'" +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')." #. 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" @@ -277,17 +240,15 @@ 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 +#: 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 "" +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:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search @@ -300,11 +261,6 @@ msgstr "Recurrente" 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 @@ -316,18 +272,6 @@ msgstr "Mandatos SDD" 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" @@ -339,24 +283,16 @@ 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 +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search #: 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" +#: 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 "Tipo de secuencia" #. module: account_banking_sepa_direct_debit #: field:account.banking.mandate,recurrent_sequence_type:0 @@ -382,37 +318,35 @@ 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 +#: 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 "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 +#: 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 "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 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:71 #, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:80 #, 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'." @@ -423,12 +357,12 @@ 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_search #: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree msgid "Type" msgstr "Tipo" @@ -449,7 +383,7 @@ msgid "When the field 'Migrated to SEPA' is not active, this field will be used 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:90 #, 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/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py index 56b4c870d8b..a2e9668f846 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -1,24 +1,7 @@ -# -*- 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 . -# -############################################################################## +# -*- coding: utf-8 -*- +# © 2013 Akretion - Alexis de Lattre +# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import models, fields, api, exceptions, _ from datetime import datetime diff --git a/account_banking_sepa_direct_debit/models/bank_payment_line.py b/account_banking_sepa_direct_debit/models/bank_payment_line.py index 67a0da3f500..e28207ebce0 100644 --- a/account_banking_sepa_direct_debit/models/bank_payment_line.py +++ b/account_banking_sepa_direct_debit/models/bank_payment_line.py @@ -1,24 +1,6 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# SEPA Direct Debit module for Odoo -# Copyright (C) 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 . -# -############################################################################## +# © 2015 Akretion - Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import models, api diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 46f98bbc2ec..9ce0401892a 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -1,24 +1,7 @@ -# -*- 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 . -# -############################################################################## +# -*- coding: utf-8 -*- +# © 2013 Akretion (www.akretion.com) +# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import models, fields, api, exceptions, _ import logging diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 53bdd3d10fd..f2be2df0061 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -158,7 +158,7 @@ def create_sepa(self): raise Warning( _("Missing SEPA Direct Debit mandate on the " "bank payment line with partner '%s' " - "(reference '%s'.") + "(reference '%s').") % (line.partner_id.name, line.name)) scheme = line.mandate_id.scheme if line.mandate_id.state != 'valid': From 2ccb1b1844c308448bf7a9ca72e644449f19c0e4 Mon Sep 17 00:00:00 2001 From: Antonio Espinosa Date: Fri, 4 Mar 2016 17:15:53 +0100 Subject: [PATCH 14/83] Define SEPA identifiers per payment mode --- account_banking_sepa_direct_debit/README.rst | 4 +- .../__openerp__.py | 5 ++- .../models/__init__.py | 1 + .../models/common.py | 39 +++++++++++++++++ .../models/payment_mode.py | 42 +++++++++++++++++++ .../models/res_company.py | 37 ++-------------- .../views/payment_mode_view.xml | 24 +++++++++++ .../wizard/export_sdd.py | 4 ++ 8 files changed, 119 insertions(+), 37 deletions(-) create mode 100644 account_banking_sepa_direct_debit/models/common.py create mode 100644 account_banking_sepa_direct_debit/models/payment_mode.py create mode 100644 account_banking_sepa_direct_debit/views/payment_mode_view.xml diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst index ace5ce806cc..10eb9754d23 100644 --- a/account_banking_sepa_direct_debit/README.rst +++ b/account_banking_sepa_direct_debit/README.rst @@ -49,7 +49,7 @@ Known issues / Roadmap ====================== * No known issues - + Bug Tracker =========== @@ -64,13 +64,13 @@ Credits Contributors ------------ -* Firsname Lastname * Alexis de Lattre * Pedro M. Baeza * Stéphane Bidoul * Alexandre Fayolle * Raphaël Valyi * Sandy Carter +* Antonio Espinosa Maintainer diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 268fffe2591..c7922127f9c 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -1,15 +1,17 @@ # -*- coding: utf-8 -*- # © 2013-2015 Akretion (www.akretion.com) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '8.0.0.3.0', + 'version': '8.0.0.4.0', 'license': 'AGPL-3', 'author': "Akretion, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Antiun Ingeniería S.L., " "Odoo Community Association (OCA)", 'website': 'https://github.com/OCA/bank-payment', 'category': 'Banking addons', @@ -21,6 +23,7 @@ 'data': [ 'views/account_banking_mandate_view.xml', 'views/res_company_view.xml', + 'views/payment_mode_view.xml', 'wizard/export_sdd_view.xml', 'data/mandate_expire_cron.xml', 'data/payment_type_sdd.xml', diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index ac7674156e9..93fb91cc8f0 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -3,3 +3,4 @@ from . import res_company from . import account_banking_mandate from . import bank_payment_line +from . import payment_mode diff --git a/account_banking_sepa_direct_debit/models/common.py b/account_banking_sepa_direct_debit/models/common.py new file mode 100644 index 00000000000..dd507a4db8f --- /dev/null +++ b/account_banking_sepa_direct_debit/models/common.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# © 2013 Akretion (www.akretion.com) +# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +logger = logging.getLogger(__name__) + + +def is_sepa_creditor_identifier_valid(sepa_creditor_identifier): + """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(sepa_creditor_identifier).lower() + except: + logger.warning( + "SEPA Creditor ID should contain only ASCII caracters.") + return False + 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) + return int(sci[2:4]) == (98 - (int(after_replacement) % 97)) diff --git a/account_banking_sepa_direct_debit/models/payment_mode.py b/account_banking_sepa_direct_debit/models/payment_mode.py new file mode 100644 index 00000000000..9753ac3193c --- /dev/null +++ b/account_banking_sepa_direct_debit/models/payment_mode.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields, api, exceptions, _ +from .common import is_sepa_creditor_identifier_valid + + +class PaymentMode(models.Model): + _inherit = 'payment.mode' + + 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. 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") + original_creditor_identifier = fields.Char( + string='Original Creditor Identifier', size=70, + help="If not defined, Original Creditor Identifier from company " + "will be used.") + + def _sepa_type_get(self): + res = super(PaymentMode, self)._sepa_type_get() + if not res: + if self.type.code and self.type.code.startswith('pain.008'): + res = 'sepa_direct_debit' + return res + + @api.one + @api.constrains('sepa_creditor_identifier') + def _check_sepa_creditor_identifier(self): + if self.sepa_creditor_identifier: + if not 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/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 9ce0401892a..8b76a967857 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # © 2013 Akretion (www.akretion.com) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import models, fields, api, exceptions, _ -import logging - -logger = logging.getLogger(__name__) +from .common import is_sepa_creditor_identifier_valid class ResCompany(models.Model): @@ -22,41 +21,11 @@ class ResCompany(models.Model): original_creditor_identifier = fields.Char( string='Original Creditor Identifier', size=70) - def is_sepa_creditor_identifier_valid( - self, sepa_creditor_identifier): - """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(sepa_creditor_identifier).lower() - except: - logger.warning( - "SEPA Creditor ID should contain only ASCII caracters.") - return False - 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) - return int(sci[2:4]) == (98 - (int(after_replacement) % 97)) - @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( + if not is_sepa_creditor_identifier_valid( self.sepa_creditor_identifier): raise exceptions.Warning( _('Error'), diff --git a/account_banking_sepa_direct_debit/views/payment_mode_view.xml b/account_banking_sepa_direct_debit/views/payment_mode_view.xml new file mode 100644 index 00000000000..9bba891d6b8 --- /dev/null +++ b/account_banking_sepa_direct_debit/views/payment_mode_view.xml @@ -0,0 +1,24 @@ + + + + + + + Add SEPA identifiers + payment.mode + + + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index f2be2df0061..232bb98a55f 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -224,6 +224,8 @@ def create_sepa(self): 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) @@ -325,6 +327,8 @@ def create_sepa(self): 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', From 4bae6dc140e88c317717c7a197e6f2be3271a13d Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 9 Mar 2016 15:37:55 +0100 Subject: [PATCH 15/83] account_banking_sepa_direct_debit: Fixes #257 --- account_banking_sepa_direct_debit/wizard/export_sdd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py index 232bb98a55f..9b4022d4646 100644 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ b/account_banking_sepa_direct_debit/wizard/export_sdd.py @@ -225,7 +225,7 @@ def create_sepa(self): self.generate_creditor_scheme_identification( creditor_scheme_identification_2_27, 'self.payment_order_ids[0].mode.' - 'sepa_creditor_identifier or' + 'sepa_creditor_identifier or ' 'self.payment_order_ids[0].company_id.' 'sepa_creditor_identifier', 'SEPA Creditor Identifier', {'self': self}, 'SEPA', gen_args) @@ -328,7 +328,7 @@ def create_sepa(self): self.generate_creditor_scheme_identification( ori_creditor_scheme_id_2_53, 'self.payment_order_ids[0].mode.' - 'original_creditor_identifier or' + 'original_creditor_identifier or ' 'self.payment_order_ids[0].company_id.' 'original_creditor_identifier', 'Original Creditor Identifier', From 5d53dfa4152dac96ae9c19b8c04f5b34be3ca6b4 Mon Sep 17 00:00:00 2001 From: Sergio Incaser Date: Fri, 1 Apr 2016 15:16:29 +0200 Subject: [PATCH 16/83] sepa_direct_debit_mandate: Split basic and sepa mandate --- account_banking_sepa_direct_debit/README.rst | 1 + .../__openerp__.py | 5 +- .../data/report_paperformat.xml | 22 ++ .../demo/sepa_direct_debit_demo.xml | 2 + account_banking_sepa_direct_debit/i18n/es.po | 373 ++++++++++++++++-- .../migrations/8.0.0.5/post-migration.py | 13 + .../models/account_banking_mandate.py | 86 ++-- .../models/payment_mode.py | 15 +- .../models/res_company.py | 15 +- .../reports/sepa_direct_debit_mandate.xml | 21 + .../views/account_banking_mandate_view.xml | 11 +- .../report_sepa_direct_debit_mandate.xml | 123 ++++++ 12 files changed, 588 insertions(+), 99 deletions(-) create mode 100644 account_banking_sepa_direct_debit/data/report_paperformat.xml create mode 100644 account_banking_sepa_direct_debit/migrations/8.0.0.5/post-migration.py create mode 100644 account_banking_sepa_direct_debit/reports/sepa_direct_debit_mandate.xml create mode 100644 account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst index 10eb9754d23..04d40f4c347 100644 --- a/account_banking_sepa_direct_debit/README.rst +++ b/account_banking_sepa_direct_debit/README.rst @@ -71,6 +71,7 @@ Contributors * Raphaël Valyi * Sandy Carter * Antonio Espinosa +* Sergio Teruel Maintainer diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index c7922127f9c..798db017679 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -7,7 +7,7 @@ { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '8.0.0.4.0', + 'version': '8.0.0.5.0', 'license': 'AGPL-3', 'author': "Akretion, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " @@ -27,6 +27,9 @@ 'wizard/export_sdd_view.xml', 'data/mandate_expire_cron.xml', 'data/payment_type_sdd.xml', + 'data/report_paperformat.xml', + 'reports/sepa_direct_debit_mandate.xml', + 'views/report_sepa_direct_debit_mandate.xml', 'security/original_mandate_required_security.xml', ], 'demo': ['demo/sepa_direct_debit_demo.xml'], diff --git a/account_banking_sepa_direct_debit/data/report_paperformat.xml b/account_banking_sepa_direct_debit/data/report_paperformat.xml new file mode 100644 index 00000000000..631dc93f7cd --- /dev/null +++ b/account_banking_sepa_direct_debit/data/report_paperformat.xml @@ -0,0 +1,22 @@ + + + + + + European A4 low margin for SEPA + + A4 + 0 + 0 + Portrait + 10 + 10 + 5 + 5 + + 0 + 80 + + + + 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 07b347f6cbc..bcbeb7fb89c 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 @@ -19,6 +19,7 @@ + sepa recurrent first 2014-02-01 @@ -27,6 +28,7 @@ + sepa recurrent first diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 1255410e676..ce10768cddd 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -1,32 +1,38 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit +# * account_banking_sepa_direct_debit # msgid "" msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-02-16 07:53+0000\n" -"PO-Revision-Date: 2016-02-16 07:53+0000\n" -"Last-Translator: <>\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" "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-Generator: Poedit 1.5.4\n" #. module: account_banking_sepa_direct_debit #: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.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" " 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" "

\n" " " @@ -36,10 +42,70 @@ 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:106 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " +"CREDITOR FOR STORAGE." +msgstr "" +"TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA " +"ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." + +#. 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." + +#. 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" +" 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:110 #, 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'." +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 @@ -66,6 +132,12 @@ msgstr "A cargo del acreedor" 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 +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" @@ -81,6 +153,16 @@ msgstr "A cargo del portador" 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" @@ -96,14 +178,54 @@ msgstr "Creado por" 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" +"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 #: 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 "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" +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" @@ -115,7 +237,8 @@ msgid "Enterprise (B2B)" msgstr "Empresa (B2B)" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:62 +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:41 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 #, python-format msgid "Error" msgstr "Error" @@ -157,8 +280,23 @@ 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." +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 @@ -170,18 +308,48 @@ msgstr "Generar" 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." +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." +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:63 +#: 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 "Invalid SEPA Creditor Identifier." msgstr "Identificador de acreedor SEPA no válido." @@ -197,7 +365,12 @@ 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:105 +#: 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:109 #, python-format msgid "Mandate update" msgstr "Actualizacion de mandato" @@ -210,8 +383,12 @@ msgstr "Migrado a 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 "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 con la " +"empresa '%s' (referencia '%s')." #. module: account_banking_sepa_direct_debit #: field:banking.export.sdd.wizard,nb_transactions:0 @@ -221,10 +398,12 @@ 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 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 msgid "Original Creditor Identifier" msgstr "Identificador del acreedor original" @@ -239,6 +418,11 @@ msgstr "Identificación del mandato original" msgid "Original Mandate Required (SEPA)" msgstr "Mandato original requerido (SEPA)" +#. 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" + #. module: account_banking_sepa_direct_debit #: field:banking.export.sdd.wizard,payment_order_ids:0 msgid "Payment Orders" @@ -247,12 +431,24 @@ msgstr "Órdenes de pago" #. 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 "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'." +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 msgid "Recurrent" msgstr "Recurrente" @@ -268,6 +464,7 @@ 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 msgid "SEPA Creditor Identifier" msgstr "Identificador de acreedor SEPA" @@ -288,6 +485,23 @@ msgstr "Generación del archivo XML de adeudo directo SEPA" 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 @@ -322,40 +536,91 @@ msgstr "Tipo de secuencia establecida a 'Recurrente'" 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 #, 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." +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 #, 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." +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:71 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, 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:80 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:84 #, 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'." +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." +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" +" 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" @@ -372,6 +637,11 @@ msgstr "Tipo" 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" + #. module: account_banking_sepa_direct_debit #: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view msgid "Validate" @@ -379,12 +649,31 @@ 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." +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:90 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:94 #, 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'." +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" +" 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/migrations/8.0.0.5/post-migration.py b/account_banking_sepa_direct_debit/migrations/8.0.0.5/post-migration.py new file mode 100644 index 00000000000..958a1af7d52 --- /dev/null +++ b/account_banking_sepa_direct_debit/migrations/8.0.0.5/post-migration.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# © 2016 Sergio Teruel +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +def migrate(cr, version): + if not version: + return + + cr.execute(''' + UPDATE account_banking_mandate SET format='sepa' + ''') + return 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 a2e9668f846..ca238120446 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -31,9 +31,13 @@ class AccountBankingMandate(models.Model): } } + format = fields.Selection( + selection_add=[('sepa', _('Sepa Mandate'))], + default='sepa', + ) type = fields.Selection([('recurrent', 'Recurrent'), ('oneoff', 'One-Off')], - string='Type of Mandate', required=True, + string='Type of Mandate', track_visibility='always') recurrent_sequence_type = fields.Selection( [('first', 'First'), @@ -59,57 +63,63 @@ class AccountBankingMandate(models.Model): "Direct Debit file.") scheme = fields.Selection([('CORE', 'Basic (CORE)'), ('B2B', 'Enterprise (B2B)')], - string='Scheme', required=True, default="CORE") + string='Scheme', default="CORE") unique_mandate_reference = fields.Char(size=35) # cf ISO 20022 - @api.one + @api.multi @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) + for mandate in self: + if (mandate.type == 'recurrent' and + not mandate.recurrent_sequence_type): + raise exceptions.Warning( + _("The recurrent mandate '%s' must have a sequence type.") + % mandate.unique_mandate_reference) - @api.one + @api.multi @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) + for mandate in self: + if (mandate.type == 'recurrent' and not mandate.sepa_migrated and + mandate.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'.") + % mandate.unique_mandate_reference) - @api.one + @api.multi @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) + for mandate in self: + if (mandate.type == 'recurrent' and not mandate.sepa_migrated and + not mandate.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'.") + % mandate.unique_mandate_reference) - @api.one + @api.multi @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 + for mandate in self: + super(AccountBankingMandate, self).mandate_partner_bank_change() + res = {} + if (mandate.state == 'valid' and + mandate.partner_bank_id and + mandate.type == 'recurrent' and + mandate.recurrent_sequence_type != 'first'): + mandate.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 + @api.model 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() + \ diff --git a/account_banking_sepa_direct_debit/models/payment_mode.py b/account_banking_sepa_direct_debit/models/payment_mode.py index 9753ac3193c..f3c1ac1b649 100644 --- a/account_banking_sepa_direct_debit/models/payment_mode.py +++ b/account_banking_sepa_direct_debit/models/payment_mode.py @@ -31,12 +31,13 @@ def _sepa_type_get(self): res = 'sepa_direct_debit' return res - @api.one + @api.multi @api.constrains('sepa_creditor_identifier') def _check_sepa_creditor_identifier(self): - if self.sepa_creditor_identifier: - if not is_sepa_creditor_identifier_valid( - self.sepa_creditor_identifier): - raise exceptions.Warning( - _('Error'), - _("Invalid SEPA Creditor Identifier.")) + for payment_mode in self: + if payment_mode.sepa_creditor_identifier: + if not is_sepa_creditor_identifier_valid( + payment_mode.sepa_creditor_identifier): + raise exceptions.Warning( + _('Error'), + _("Invalid SEPA Creditor Identifier.")) diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 8b76a967857..c57dc8b04a4 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -21,12 +21,13 @@ class ResCompany(models.Model): original_creditor_identifier = fields.Char( string='Original Creditor Identifier', size=70) - @api.one + @api.multi @api.constrains('sepa_creditor_identifier') def _check_sepa_creditor_identifier(self): - if self.sepa_creditor_identifier: - if not is_sepa_creditor_identifier_valid( - self.sepa_creditor_identifier): - raise exceptions.Warning( - _('Error'), - _("Invalid SEPA Creditor Identifier.")) + for company in self: + if company.sepa_creditor_identifier: + if not is_sepa_creditor_identifier_valid( + company.sepa_creditor_identifier): + raise exceptions.Warning( + _('Error'), + _("Invalid SEPA Creditor Identifier.")) diff --git a/account_banking_sepa_direct_debit/reports/sepa_direct_debit_mandate.xml b/account_banking_sepa_direct_debit/reports/sepa_direct_debit_mandate.xml new file mode 100644 index 00000000000..1d6a9daa23f --- /dev/null +++ b/account_banking_sepa_direct_debit/reports/sepa_direct_debit_mandate.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + 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 366edfaf89d..667cedb5422 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 @@ -17,9 +17,13 @@ - - - + + + @@ -124,6 +128,5 @@ Sequence Type set to Final
- 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 new file mode 100644 index 00000000000..eb850815b02 --- /dev/null +++ b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml @@ -0,0 +1,123 @@ + + + + + + + + + + From 5683f40c7c1a4cec62e5654ff2a0419ecea71f28 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 9 Apr 2016 02:15:34 -0400 Subject: [PATCH 17/83] OCA Transbot updated translations from Transifex --- account_banking_sepa_direct_debit/i18n/en.po | 588 ++++++++++++ account_banking_sepa_direct_debit/i18n/es.po | 221 ++--- account_banking_sepa_direct_debit/i18n/fr.po | 879 +++++++---------- account_banking_sepa_direct_debit/i18n/nl.po | 887 +++++++----------- .../i18n/pt_BR.po | 588 ++++++++++++ account_banking_sepa_direct_debit/i18n/sl.po | 589 ++++++++++++ 6 files changed, 2550 insertions(+), 1202 deletions(-) create mode 100644 account_banking_sepa_direct_debit/i18n/en.po create mode 100644 account_banking_sepa_direct_debit/i18n/pt_BR.po create mode 100644 account_banking_sepa_direct_debit/i18n/sl.po diff --git a/account_banking_sepa_direct_debit/i18n/en.po b/account_banking_sepa_direct_debit/i18n/en.po new file mode 100644 index 00000000000..ee6d5157681 --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/en.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: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\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 "

\n Click to create a new SEPA Direct Debit Mandate.\n

\n A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n

\n " + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "A generic banking mandate" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " +"CREDITOR FOR STORAGE." +msgstr "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." +msgstr "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "Account Number - IBAN:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "Address of the Debtor:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "Address:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"As part of your rights, you are entitled to a refund from\n" +" your bank under the terms and conditions of your agreement\n" +" with your bank.\n" +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "As part of your rights, you are entitled to a refund from\n your bank under the terms and conditions of your agreement\n with your bank.\n A refund must be claimed within 8 weeks starting from the date on which your account was debited." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 +#, python-format +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "Bank Payment Lines" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "Basic (CORE)" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Batch Booking" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Borne by Creditor" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "Borne by Debtor" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "By signing this mandate form, you authorise (A)" +msgstr "By signing this mandate form, you authorise (A)" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" +msgstr "Cancel" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Charge Bearer" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Companies" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" +msgstr "Country of the debtor:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "Country:" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Create" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" +msgstr "Created by" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" +msgstr "Created on" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "Creditor's Name:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "Date - Location:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "Debtor's Name:" + +#. module: account_banking_sepa_direct_debit +#: help:payment.mode,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" +"This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\nThis identifier is composed of :\n- your country ISO code (2 letters)\n- a 2-digits checkum\n- a 3-letters business code\n- a country-specific identifier" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n- your country ISO code (2 letters)\n- a 2-digits checkum\n- a 3-letters business code\n- a country-specific identifier" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +msgstr "Enterprise (B2B)" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 +#, python-format +msgid "Error" +msgstr "Error" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Export SEPA Direct Debit File" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "File" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Filename" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Final" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Finish" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "First" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Following Service Level" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must" +" use this). Shared : transaction charges on the creditor side are to be " +"borne by the creditor, transaction charges on the debtor side are to be " +"borne by the debtor. Borne by creditor : all transaction charges are to be " +"borne by the creditor. Borne by debtor : all transaction charges are to be " +"borne by the debtor." +msgstr "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Generate" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" +msgstr "ID" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "Identifier:" + +#. module: account_banking_sepa_direct_debit +#: help:payment.mode,original_creditor_identifier:0 +msgid "" +"If not defined, Original Creditor Identifier from company will be used." +msgstr "If not defined, Original Creditor Identifier from company will be used." + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,sepa_migrated:0 +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "" +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 +#, python-format +msgid "Invalid SEPA Creditor Identifier." +msgstr "Invalid SEPA Creditor Identifier." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "Mandate Reference:" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 +#, python-format +msgid "Mandate update" +msgstr "Mandate update" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Migrated to SEPA" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 +#, python-format +msgid "" +"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" +" (reference '%s')." +msgstr "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Number of Transactions" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "One-Off" +msgstr "One-Off" + +#. module: account_banking_sepa_direct_debit +#: field:payment.mode,original_creditor_identifier:0 +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Original Creditor Identifier" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Original Mandate Identification" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Original Mandate Required (SEPA)" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode +msgid "Payment Mode" +msgstr "Payment Mode" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Payment Orders" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117 +#, python-format +msgid "" +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" +" 'pain.008.001.04'." +msgstr "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" +msgstr "Postal Code - City - Town:" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Recurrent" +msgstr "Recurrent" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Recurring" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" +msgstr "SDD Mandates" + +#. module: account_banking_sepa_direct_debit +#: field:payment.mode,sepa_creditor_identifier:0 +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "SEPA Creditor Identifier" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" +msgstr "SEPA Direct Debit Mandates" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" +msgstr "SEPA Direct Debit XML file generation" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" +msgstr "Scheme" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Business-To-Business Direct debit Mandate" +msgstr "Sepa Business-To-Business Direct debit Mandate" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +msgstr "Sepa Direct Debit Mandate" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35 +#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +#, python-format +msgid "Sepa Mandate" +msgstr "Sepa Mandate" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Sequence Type" +msgstr "Sequence Type" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Sequence Type for Next Debit" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Sequence Type set to Final" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Sequence Type set to First" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Sequence Type set to Recurring" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Shared" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "Signature of the debtor:" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "State" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Swift BIC (up to 8 or 11 characteres):" +msgstr "Swift BIC (up to 8 or 11 characteres):" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166 +#, python-format +msgid "" +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 +#, python-format +msgid "" +"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " +"and it has a last debit date set to '%s', so we can't use it." +msgstr "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "The recurrent mandate '%s' must have a sequence type." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "This field is only used for Recurrent mandates, not for One-Off mandates." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"This mandate is only intended for business-to-business transactions.\n" +" You are not entitled to a refund from your bank after your account has\n" +" been debited, but you are entitled to request your bank\n" +" not to debit your account up until the day on which the payment is due." +msgstr "This mandate is only intended for business-to-business transactions.\n You are not entitled to a refund from your bank after your account has\n been debited, but you are entitled to request your bank\n not to debit your account up until the day on which the payment is due." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "To be completed by the creditor" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "To be completed by the debtor" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Total Amount" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" +msgstr "Type" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,type:0 +msgid "Type of Mandate" +msgstr "Type of Mandate" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "Type of payment:" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Validate" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 +#, python-format +msgid "" +"You must set the 'Original Mandate Identification' on the recurrent mandate " +"'%s' which is not marked as 'Migrated to SEPA'." +msgstr "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"to send instructions to your bank to debit your account and (B) your bank to\n" +" debit your account in accordance with the instructions from" +msgstr "to send instructions to your bank to debit your account and (B) your bank to\n debit your account in accordance with the instructions from" diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index ce10768cddd..8f64295d1e1 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -1,20 +1,21 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit -# +# * account_banking_sepa_direct_debit +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" +"Project-Id-Version: bank-payment (8.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-05 20:32+0000\n" -"PO-Revision-Date: 2016-04-05 23:01+0100\n" -"Last-Translator: Sergio Teruel \n" -"Language-Team: \n" -"Language: es_ES\n" +"POT-Creation-Date: 2016-04-08 00:46+0000\n" +"PO-Revision-Date: 2016-04-07 16:04+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit #: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action @@ -22,19 +23,10 @@ msgid "" "

\n" " Click to create a new SEPA Direct Debit Mandate.\n" "

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer " -"that gives you the autorization to do one or several direct debits on his " -"bank account.\n" -"

\n" -" " -msgstr "" -"

\n" -" Pulse para crear un nuevo mandato bancario.\n" -"

\n" -" Un mandato bancario es un documento firmado por su cliente que le da " -"la autorización para hacer una o varias operaciones en su cuenta bancaria.\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" "

\n" " " +msgstr "

\n Pulse para crear un nuevo mandato bancario.\n

\n Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n

\n " #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate @@ -46,25 +38,15 @@ msgstr "Un mandato bancario genérico" msgid "" "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " "CREDITOR FOR STORAGE." -msgstr "" -"TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA " -"ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." +msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " -"CREDITOR FOR STORAGE.\n" -" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S " -"AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" -" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED " -"AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." -msgstr "" -"TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA " -"ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA " -"ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE " -"LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON " -"LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN." +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." +msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN." #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -85,27 +67,18 @@ msgstr "Dirección:" #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" "As part of your rights, you are entitled to a refund from\n" -" your bank under the terms and conditions of your " -"agreement\n" +" your bank under the terms and conditions of your agreement\n" " with your bank.\n" -" A refund must be claimed within 8 weeks starting " -"from the date on which your account was debited." -msgstr "" -"Como parte de sus derechos, el deudor está legitimado al reembolso por su " -"entidad en los términos y condiciones del contrato suscrito con la misma. La " -"solicitud de reembolso deberá efectuarse dentro de las ocho semanas que " -"siguen a la fecha de adeudo en cuenta. Puede obtener información adicional " -"sobre sus derechos en su entidad financiera." +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:110 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 #, python-format msgid "" "As you changed the bank account attached to this mandate, the 'Sequence " "Type' has been set back to 'First'." -msgstr "" -"Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el " -"'Tipo de secuencia' se ha vuelto a 'Inicial'." +msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line @@ -135,8 +108,7 @@ msgstr "A cargo del deudor" #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "By signing this mandate form, you authorise (A)" -msgstr "" -"Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) " +msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) " #. module: account_banking_sepa_direct_debit #: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view @@ -196,40 +168,23 @@ msgstr "Nombre del deudor:" #. module: account_banking_sepa_direct_debit #: help:payment.mode,sepa_creditor_identifier:0 msgid "" -"Enter the Creditor Identifier that has been attributed to your company to " -"make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from " -"company will be used.\n" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" "This identifier is composed of :\n" "- your country ISO code (2 letters)\n" "- a 2-digits checkum\n" "- a 3-letters business code\n" "- a country-specific identifier" -msgstr "" -"Introduzca el identificador de acreedor que se le ha atribuido a su compañía " -"para realizar adeudos directos SEPA. Su banco suele poseer esta información. " -"Este identificador se compone de:\n" -"- el código ISO de 2 letras de su país\n" -"- dos dígitos de comprobación\n" -"- tres letras de código de negocio\n" -"- un identificador específico de país (en España, el NIF)" +msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)" #. module: account_banking_sepa_direct_debit #: help:res.company,sepa_creditor_identifier:0 msgid "" -"Enter the Creditor Identifier that has been attributed to your company to " -"make SEPA Direct Debits. This identifier is composed of :\n" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" "- your country ISO code (2 letters)\n" "- a 2-digits checkum\n" "- a 3-letters business code\n" "- a country-specific identifier" -msgstr "" -"Introduzca el identificador de acreedor que se le ha atribuido a su compañía " -"para realizar adeudos directos SEPA. Su banco suele poseer esta información. " -"Este identificador se compone de:\n" -"- el código ISO de 2 letras de su país\n" -"- dos dígitos de comprobación\n" -"- tres letras de código de negocio\n" -"- un identificador específico de país (en España, el NIF)" +msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)" #. module: account_banking_sepa_direct_debit #: selection:account.banking.mandate,scheme:0 @@ -237,8 +192,8 @@ msgid "Enterprise (B2B)" msgstr "Empresa (B2B)" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:41 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 #, python-format msgid "Error" msgstr "Error" @@ -282,21 +237,13 @@ msgstr "Según el acuerdo de servicio" #: help:banking.export.sdd.wizard,charge_bearer:0 msgid "" "Following service level : transaction charges are to be applied following " -"the rules agreed in the service level and/or scheme (SEPA Core messages must " -"use this). Shared : transaction charges on the creditor side are to be borne " -"by the creditor, transaction charges on the debtor side are to be borne by " -"the debtor. Borne by creditor : all transaction charges are to be borne by " -"the creditor. Borne by debtor : all transaction charges are to be borne by " -"the debtor." -msgstr "" -"Según el acuerdo de servicio: los costes de la transacción se aplicarán " -"siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema " -"(las remesas SEPA Core deben usar esta opción). Compartidos: los costes de " -"la transacción en la parte del acreedor están a cargo del acreedor, y los " -"costes de la transacción del lado del deudor estarán a cargo del deudor. A " -"cargo del acreedor: todos los costes de la transacción estarán a cargo del " -"acreedor. A cargo del deudor: Todos los costes de la transacción estarán a " -"cargo del deudor." +"the rules agreed in the service level and/or scheme (SEPA Core messages must" +" use this). Shared : transaction charges on the creditor side are to be " +"borne by the creditor, transaction charges on the debtor side are to be " +"borne by the debtor. Borne by creditor : all transaction charges are to be " +"borne by the creditor. Borne by debtor : all transaction charges are to be " +"borne by the debtor." +msgstr "Según el acuerdo de servicio: los costes de la transacción se aplicarán siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema (las remesas SEPA Core deben usar esta opción). Compartidos: los costes de la transacción en la parte del acreedor están a cargo del acreedor, y los costes de la transacción del lado del deudor estarán a cargo del deudor. A cargo del acreedor: todos los costes de la transacción estarán a cargo del acreedor. A cargo del deudor: Todos los costes de la transacción estarán a cargo del deudor." #. module: account_banking_sepa_direct_debit #: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view @@ -315,7 +262,8 @@ msgstr "Identificador:" #. module: account_banking_sepa_direct_debit #: help:payment.mode,original_creditor_identifier:0 -msgid "If not defined, Original Creditor Identifier from company will be used." +msgid "" +"If not defined, Original Creditor Identifier from company will be used." msgstr "" #. module: account_banking_sepa_direct_debit @@ -327,13 +275,7 @@ msgid "" "required in a few countries (Belgium for instance), but not in all " "countries. If this is not required in your country, you should keep this " "field always active." -msgstr "" -"Si este campo no está marcado, la sección 'mandato' del próximo archivo de " -"adeudo directo que lo incluya contendrá el valor de los campos " -"'Identificación del mandato original' y 'Identificación del esquema original " -"del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), " -"pero no en todos ellos. Si no es un requisito en su país, este campo siempre " -"debe estar marcado." +msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado." #. module: account_banking_sepa_direct_debit #: help:banking.export.sdd.wizard,batch_booking:0 @@ -341,15 +283,11 @@ msgid "" "If true, the bank statement will display only one credit line for all the " "direct debits of the SEPA file ; if false, the bank statement will display " "one credit line per direct debit of the SEPA file." -msgstr "" -"Si está marcado, el extracto bancario mostrará sólo una línea del haber para " -"todos los adeudos directos del archivo SEPA; si no está marcado, entonces el " -"extracto bancario mostrará una línea por cada adeudo directo del archivo " -"SEPA." +msgstr "Si está marcado, el extracto bancario mostrará sólo una línea del haber para todos los adeudos directos del archivo SEPA; si no está marcado, entonces el extracto bancario mostrará una línea por cada adeudo directo del archivo SEPA." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 #, python-format msgid "Invalid SEPA Creditor Identifier." msgstr "Identificador de acreedor SEPA no válido." @@ -370,7 +308,7 @@ msgid "Mandate Reference:" msgstr "Referencia del mandato:" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:109 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 #, python-format msgid "Mandate update" msgstr "Actualizacion de mandato" @@ -384,11 +322,9 @@ msgstr "Migrado a SEPA" #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." -msgstr "" -"Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la " -"empresa '%s' (referencia '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" +" (reference '%s')." +msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la empresa '%s' (referencia '%s')." #. module: account_banking_sepa_direct_debit #: field:banking.export.sdd.wizard,nb_transactions:0 @@ -433,12 +369,9 @@ msgstr "Órdenes de pago" #, python-format msgid "" "Payment Type Code '%s' is not supported. The only Payment Type Code " -"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " -"'pain.008.001.04'." -msgstr "" -"El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo " -"de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', " -"'pain.008.001.03' y 'pain.008.001.04'." +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" +" 'pain.008.001.04'." +msgstr "El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', 'pain.008.001.03' y 'pain.008.001.04'." #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -557,9 +490,7 @@ msgstr "Swift BIC (puede contener 8 u 11 posiciones):" msgid "" "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " "expired." -msgstr "" -"El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' " -"ha expirado." +msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 @@ -567,25 +498,21 @@ msgstr "" msgid "" "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " "and it has a last debit date set to '%s', so we can't use it." -msgstr "" -"El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya " -"tiene como fecha de último cobro '%s', por lo que no se puede usar." +msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "El mandato periódico '%s' debe tener un tipo de secuencia." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:84 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 #, python-format msgid "" "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " "have its recurrent sequence type set to 'First'." -msgstr "" -"El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe " -"establecer su tipo de secuencia a 'Inicial'." +msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'." #. module: account_banking_sepa_direct_debit #: help:account.banking.mandate,recurrent_sequence_type:0 @@ -597,19 +524,10 @@ msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos." #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" "This mandate is only intended for business-to-business transactions.\n" -" You are not entitled to a refund from your bank " -"after your account has\n" -" been debited, but you are entitled to request your " -"bank\n" -" not to debit your account up until the day on which " -"the payment is due." -msgstr "" -"Esta orden de domiciliación está prevista para operaciones exclusivamente " -"entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le " -"reembolse una vez que se haya realizado el cargo en cuenta, pero puede " -"solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha " -"debida. Podrá obtener información detallada del procedimiento en su entidad " -"financiera." +" You are not entitled to a refund from your bank after your account has\n" +" been debited, but you are entitled to request your bank\n" +" not to debit your account up until the day on which the payment is due." +msgstr "Esta orden de domiciliación está prevista para operaciones exclusivamente entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le reembolse una vez que se haya realizado el cargo en cuenta, pero puede solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha debida. Podrá obtener información detallada del procedimiento en su entidad financiera." #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -652,28 +570,19 @@ msgstr "Validar" msgid "" "When the field 'Migrated to SEPA' is not active, this field will be used as " "the Original Mandate Identification in the Direct Debit file." -msgstr "" -"Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como " -"identificación del mandato original en el archivo de adeudo directo." +msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:94 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 #, python-format msgid "" "You must set the 'Original Mandate Identification' on the recurrent mandate " "'%s' which is not marked as 'Migrated to SEPA'." -msgstr "" -"Debe establecer el campo 'Identificación de mandato original en el mandato " -"periódico '%s', que no está marcado como 'Migrado a SEPA'." +msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'." #. module: account_banking_sepa_direct_debit #: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"to send instructions to your bank to debit your account and (B) your bank " -"to\n" -" debit your account in accordance with the " -"instructions from" -msgstr "" -"a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) " -"a la entidad para efectuar los adeudos en su cuenta siguiendo las " -"instrucciones del acreedor " +"to send instructions to your bank to debit your account and (B) your bank to\n" +" debit your account in accordance with the instructions from" +msgstr "a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor " diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 3744da85064..75cc33f0fbe 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -1,749 +1,588 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit -# +# * account_banking_sepa_direct_debit +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: bank-payment (8.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-23 22:24+0000\n" -"PO-Revision-Date: 2014-02-01 04:49+0000\n" -"Last-Translator: Alexis de Lattre \n" -"Language-Team: \n" +"POT-Creation-Date: 2016-04-08 00:46+0000\n" +"PO-Revision-Date: 2016-04-07 16:04+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n" -"X-Generator: Launchpad (build 17031)\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid -msgid "SEPA Direct Debit Mandate Validated" -msgstr "Mandat de prélèvement SEPA validé" +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "" +"

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "

\n Cliquez pour créer un mandat de prélèvement SEPA.\n

\n Un mandat de prélèvement SEPA est un document signé par votre client qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur son compte bancaire.\n

\n " #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,filename:0 -#: field:banking.export.sdd.wizard,filename:0 -msgid "Filename" -msgstr "Nom du fichier" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 -#, python-format +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " +"CREDITOR FOR STORAGE." msgstr "" -"Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire " -"'%s' a expiré." - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 -#, python-format -msgid "Cannot validate the mandate '%s' without a date of signature." -msgstr "Impossible de valider le mandat '%s' sans date de signature." - -#. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Final" -msgstr "Final" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Finish" -msgstr "Finir" #. module: account_banking_sepa_direct_debit -#: view:res.partner:0 -#: view:res.partner.bank:0 -msgid "SDD Mandates" -msgstr "Mandats SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." +msgstr "" #. module: account_banking_sepa_direct_debit -#: constraint:payment.line:0 -#: constraint:sdd.mandate:0 -msgid "Error msg in raise" -msgstr "Error msg in raise" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Reconciled" -msgstr "Réconcilié" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,recurrent_sequence_type:0 -msgid "Sequence Type for Next Debit" -msgstr "Type de séquence pour le prochain prélèvement" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Creditor" -msgstr "Supportés par le créancier" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"As part of your rights, you are entitled to a refund from\n" +" your bank under the terms and conditions of your agreement\n" +" with your bank.\n" +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu -#: view:res.partner.bank:0 -#: field:res.partner.bank,sdd_mandate_ids:0 -msgid "SEPA Direct Debit Mandates" -msgstr "Mandats de prélèvement SEPA" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 +#, python-format +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "Etant donné que vous avez changé le compte bancaire associé à ce mandat, le 'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Validate" -msgstr "Valider" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -msgid "Sequence Type set to Recurring" -msgstr "Type de séquence mis à Recurring" +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "Generate" -msgstr "Générer" +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Crédit groupé" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel -msgid "SEPA Direct Debit Mandate Cancelled" -msgstr "Mandat de prélèvement SEPA annulé" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Supportés par le créancier" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 #: selection:banking.export.sdd.wizard,charge_bearer:0 msgid "Borne by Debtor" msgstr "Supportés par le débiteur" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 -#, python-format -msgid "Error:" -msgstr "Erreur :" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "By signing this mandate form, you authorise (A)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_ids:0 -msgid "Messages" -msgstr "Messages" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" +msgstr "Annuler" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,unique_mandate_reference:0 -msgid "Unique Mandate Reference" -msgstr "Référence unique de mandat" +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Répartition des frais" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Cancelled" -msgstr "Annulé" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Sociétés" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 -#, python-format -msgid "" -"Payment Type Code '%s' is not supported. The only Payment Type Code " -"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " -"'pain.008.001.04'." +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" msgstr "" -"Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type " -"de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', " -"'pain.008.001.03' et 'pain.008.001.04'." - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_unread:0 -msgid "If checked new messages require your attention." -msgstr "If checked new messages require your attention." #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file_id:0 -msgid "SDD File" -msgstr "Fichier de prélèvement SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired -msgid "SEPA Direct Debit Mandate has Expired" -msgstr "Le mandat de prélèvement SEPA a expiré" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Créer" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 -#, python-format -msgid "" -"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " -"have its recurrent sequence type set to 'First'." +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" msgstr "" -"Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit " -"avec sa séquence mise à 'First'." #. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,charge_bearer:0 -#: help:banking.export.sdd.wizard,charge_bearer:0 -msgid "" -"Following service level : transaction charges are to be applied following " -"the rules agreed in the service level and/or scheme (SEPA Core messages must " -"use this). Shared : transaction charges on the creditor side are to be borne " -"by the creditor, transaction charges on the debtor side are to be borne by " -"the debtor. Borne by creditor : all transaction charges are to be borne by " -"the creditor. Borne by debtor : all transaction charges are to be borne by " -"the debtor." +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" msgstr "" -"Suivant le niveau de service : la répartition des frais bancaires suit les " -"règles pré-établies dans le schema ou dans le contrat avec la banque (les " -"messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais " -"bancaires côté débiteur sont à la charge du débiteur, les frais bancaires " -"côté créancier sont à la charge du créancier. Supportés par le créancier : " -"tous les frais bancaires sont à la charge du créancier. Supportés par le " -"débiteur : tous les frais bancaires sont à la charge du débiteur." #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Reference" -msgstr "Référence" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "SEPA Direct Debit" -msgstr "Prélèvement SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "SEPA Direct Debit XML file generation" -msgstr "Génération de fichiers de prélèvement SEPA XML" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_summary:0 +#: help:payment.mode,sepa_creditor_identifier:0 msgid "" -"Holds the Chatter summary (number of messages, ...). This summary is " -"directly in html format in order to be inserted in kanban views." +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" +"This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" msgstr "" -"Holds the Chatter summary (number of messages, ...). This summary is " -"directly in html format in order to be inserted in kanban views." #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line -msgid "Payment Line" -msgstr "Ligne de paiement" +#: help:res.company,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Entrez l'Identifiant créancier qui a été attribué à votre société pour réaliser des prélèvements SEPA. Cet identifiant est composé de :\n- du code ISO de votre pays (2 lettres)\n- un code de contrôle à 2 chiffres\n- un code d'activité à 3 lettres\n- un identifiant national" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,create_date:0 -msgid "Generation Date" -msgstr "Date de génération" +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 #, python-format -msgid "" -"The payment line with reference '%s' has the bank account '%s' which is not " -"attached to the mandate '%s' (this mandate is attached to the bank account " -"'%s')." +msgid "Error" msgstr "" -"La ligne de paiement portant la référence '%s' est configurée avec le compte " -"bancaire '%s' qui n'est pas rattaché au mandat '%s' (ce mandat est rattaché " -"au compte bancaire '%s')." - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Create" -msgstr "Créer" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,nb_transactions:0 -#: field:banking.export.sdd.wizard,nb_transactions:0 -msgid "Number of Transactions" -msgstr "Nombre de transactions" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Export du fichier de prélèvement SEPA" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "One-Off" -msgstr "One-Off" +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Fichier" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,state:0 -#: field:banking.export.sdd.wizard,state:0 -msgid "State" -msgstr "État" +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Nom du fichier" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 -#, python-format -msgid "The recurrent mandate '%s' must have a sequence type." -msgstr "Le mandat récurrent '%s' doit avoir un type de séquence." +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Final" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_follower_ids:0 -msgid "Followers" -msgstr "Followers" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Finir" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_unread:0 -msgid "Unread Messages" -msgstr "Unread Messages" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "First" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -#: field:banking.export.sdd,payment_order_ids:0 -#: field:banking.export.sdd.wizard,payment_order_ids:0 -msgid "Payment Orders" -msgstr "Ordres de paiement" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Suivant le niveau de service" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Type" -msgstr "Type" +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must" +" use this). Shared : transaction charges on the creditor side are to be " +"borne by the creditor, transaction charges on the debtor side are to be " +"borne by the debtor. Borne by creditor : all transaction charges are to be " +"borne by the creditor. Borne by debtor : all transaction charges are to be " +"borne by the debtor." +msgstr "Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le schema ou dans le contrat avec la banque (les messages SEPA Core doivent utiliser ce paramètre). Partagés : les frais bancaires côté débiteur sont à la charge du débiteur, les frais bancaires côté créancier sont à la charge du créancier. Supportés par le créancier : tous les frais bancaires sont à la charge du créancier. Supportés par le débiteur : tous les frais bancaires sont à la charge du débiteur." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Sent" -msgstr "Envoyé" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Générer" #. module: account_banking_sepa_direct_debit -#: field:res.company,original_creditor_identifier:0 -msgid "Original Creditor Identifier" -msgstr "Ancien Identifiant Créancier" +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Recurring" -msgstr "Recurring" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: help:res.company,sepa_creditor_identifier:0 +#: help:payment.mode,original_creditor_identifier:0 msgid "" -"Enter the Creditor Identifier that has been attributed to your company to " -"make SEPA Direct Debits. This identifier is composed of :\n" -"- your country ISO code (2 letters)\n" -"- a 2-digits checkum\n" -"- a 3-letters business code\n" -"- a country-specific identifier" +"If not defined, Original Creditor Identifier from company will be used." msgstr "" -"Entrez l'Identifiant créancier qui a été attribué à votre société pour " -"réaliser des prélèvements SEPA. Cet identifiant est composé de :\n" -"- du code ISO de votre pays (2 lettres)\n" -"- un code de contrôle à 2 chiffres\n" -"- un code d'activité à 3 lettres\n" -"- un identifiant national" #. module: account_banking_sepa_direct_debit -#: sql_constraint:sdd.mandate:0 -msgid "A Mandate with the same reference already exists for this company !" -msgstr "Un mandat avec la même référence existe déjà pour cette société !" +#: help:account.banking.mandate,sepa_migrated:0 +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "Si cette option n'est pas activée, la section qui concerne le mandat dans le prochain fichier de prélèvement qui incluera ce mandat contiendra les champs 'Original Mandate Identification' et 'Original Creditor Scheme Identification'. Ces champs sont requis dans certains pays (en Belgique notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis dans votre pays, vous devriez garder ce champ toujours actif." #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,state:0 +#: help:banking.export.sdd.wizard,batch_booking:0 msgid "" -"Only valid mandates can be used in a payment line. A cancelled mandate is a " -"mandate that has been cancelled by the customer. A one-off mandate expires " -"after its first use. A recurrent mandate expires after it's final use or if " -"it hasn't been used for 36 months." -msgstr "" -"Seuls des mandats valides peuvent être utilisés dans une ligne de paiement. " -"Un mandate annulé est un mandat qui a été annulé par le client. Un mandat " -"One-Off expire à l'issue de sa première utilisation. Un mandate récurrent " -"expire après sa dernière utilisation ou si il n'a pas été utilisé pendant 36 " -"mois." +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de banque fera apparaître une ligne de crédit pour chaque prélèvement du fichier SEPA." #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,recurrent_sequence_type:0 -msgid "" -"This field is only used for Recurrent mandates, not for One-Off mandates." +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 +#, python-format +msgid "Invalid SEPA Creditor Identifier." +msgstr "Identifiant créancier SEPA invalide." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" msgstr "" -"Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats " -"One-Off." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 -#, python-format -msgid "The date of signature of mandate '%s' is in the future !" -msgstr "La date de signature du mandat '%s' est dans le futur !" +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Signature Date" -msgstr "Date de signature" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,charge_bearer:0 -#: field:banking.export.sdd.wizard,charge_bearer:0 -msgid "Charge Bearer" -msgstr "Répartition des frais" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 +#, python-format +msgid "Mandate update" +msgstr "Mise-à-jour du mandat" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_id:0 -msgid "Partner" -msgstr "Partenaire" +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Migré à SEPA" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "First" -msgstr "First" +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 +#, python-format +msgid "" +"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" +" (reference '%s')." +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,signature_date:0 -msgid "Date of Signature of the Mandate" -msgstr "Date de signature du mandat" +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Nombre de transactions" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel -msgid "Mandate Cancelled" -msgstr "Mandat annulé" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "One-Off" +msgstr "One-Off" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order -msgid "Generated SEPA Direct Debit Files" -msgstr "Fichiers de prélèvement SEPA générés" +#: field:payment.mode,original_creditor_identifier:0 +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Ancien Identifiant Créancier" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,sepa_migrated:0 -msgid "" -"If this field is not active, the mandate section of the next direct debit " -"file that include this mandate will contain the 'Original Mandate " -"Identification' and the 'Original Creditor Scheme Identification'. This is " -"required in a few countries (Belgium for instance), but not in all " -"countries. If this is not required in your country, you should keep this " -"field always active." -msgstr "" -"Si cette option n'est pas activée, la section qui concerne le mandat dans le " -"prochain fichier de prélèvement qui incluera ce mandat contiendra les champs " -"'Original Mandate Identification' et 'Original Creditor Scheme " -"Identification'. Ces champs sont requis dans certains pays (en Belgique " -"notamment), mais pas dans tous les pays. Si ces champs ne sont pas requis " -"dans votre pays, vous devriez garder ce champ toujours actif." +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Ancien Identifiant du Mandat" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,company_id:0 -msgid "Company" -msgstr "Société" +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Ancien mandat requis (SEPA)" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard -msgid "Export SEPA Direct Debit File" -msgstr "Export du fichier de prélèvement SEPA" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode +msgid "Payment Mode" +msgstr "Mode de paiement" #. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,batch_booking:0 -#: help:banking.export.sdd.wizard,batch_booking:0 -msgid "" -"If true, the bank statement will display only one credit line for all the " -"direct debits of the SEPA file ; if false, the bank statement will display " -"one credit line per direct debit of the SEPA file." -msgstr "" -"Si activé, le relevé de compte ne fera apparaître qu'une ligne de crédit " -"pour tous les prélèvements du fichier SEPA ; si désactivé, le relevé de " -"banque fera apparaître une ligne de crédit pour chaque prélèvement du " -"fichier SEPA." +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Ordres de paiement" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117 #, python-format msgid "" -"Cannot validate the mandate '%s' because it is not attached to a bank " -"account." +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" +" 'pain.008.001.04'." +msgstr "Le code du Type de paiement '%s' n'est pas supporté. Les seuls codes de Type de paiement supportés pour les prélèvements SEPA sont 'pain.008.001.02', 'pain.008.001.03' et 'pain.008.001.04'." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" msgstr "" -"Impossible de valider le mandat '%s' car il n'est pas rattaché à un compte " -"bancaire." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Draft" -msgstr "Brouillon" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Recurrent" +msgstr "Récurrent" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 -#, python-format -msgid "Mandate update" -msgstr "Mise-à-jour du mandat" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Recurring" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Shared" -msgstr "Partagée" +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" +msgstr "Mandats SEPA" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,batch_booking:0 -#: field:banking.export.sdd.wizard,batch_booking:0 -msgid "Batch Booking" -msgstr "Crédit groupé" +#: field:payment.mode,sepa_creditor_identifier:0 +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "Identifiant créancier SEPA" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,sepa_migrated:0 -msgid "Migrated to SEPA" -msgstr "Migré à SEPA" +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" +msgstr "Mandats de prélèvement SEPA" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,state:0 -msgid "Status" -msgstr "Statut" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" +msgstr "Génération de fichiers de prélèvement SEPA XML" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,total_amount:0 -#: field:banking.export.sdd.wizard,total_amount:0 -msgid "Total Amount" -msgstr "Montant total" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd -msgid "SEPA Direct Debit Files" -msgstr "Fichiers de prélèvement SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Business-To-Business Direct debit Mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following Service Level" -msgstr "Suivant le niveau de service" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35 +#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate #, python-format -msgid "" -"The mandate '%s' can't have a date of last debit before the date of " -"signature." +msgid "Sepa Mandate" msgstr "" -"Le mandat '%s' ne peut pas avoir une date de dernier débit antérieure à la " -"date de signature." #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final -msgid "Sequence Type set to Final" -msgstr "Type de Séquence mis à Final" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Sequence Type" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_is_follower:0 -msgid "Is a Follower" -msgstr "Is a Follower" +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Type de séquence pour le prochain prélèvement" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,original_mandate_identification:0 -msgid "" -"When the field 'Migrated to SEPA' is not active, this field will be used as " -"the Original Mandate Identification in the Direct Debit file." -msgstr "" -"Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original " -"Mandate Identification' dans le fichier de prélèvement." +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Type de Séquence mis à Final" #. module: account_banking_sepa_direct_debit -#: view:payment.order:0 -msgid "SDD Mandate" -msgstr "Mandat de prélèvement" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Type de Séquence mis à First" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,original_mandate_identification:0 -msgid "Original Mandate Identification" -msgstr "Ancien Identifiant du Mandat" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Type de séquence mis à Recurring" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company -msgid "Companies" -msgstr "Sociétés" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Partagée" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_summary:0 -msgid "Summary" -msgstr "Résumé" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required -msgid "Original Mandate Required (SEPA)" -msgstr "Ancien mandat requis (SEPA)" +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "État" #. module: account_banking_sepa_direct_debit -#: field:account.invoice,sdd_mandate_id:0 -#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate -#: field:payment.line,sdd_mandate_id:0 -#: view:sdd.mandate:0 -msgid "SEPA Direct Debit Mandate" -msgstr "Mandat de prélèvement SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Swift BIC (up to 8 or 11 characteres):" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and " -"Invoice ref '%s'." -msgstr "" -"Mandat de prélèvement SEPA manquant sur la ligne de paiement ayant pour " -"partenaire '%s' et pour référence de facture '%s'." +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "Le mandat de prélèvement SEPA portant la référence '%s' pour le partenaire '%s' a expiré." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 #, python-format msgid "" "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " "and it has a last debit date set to '%s', so we can't use it." -msgstr "" -"Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-" -"Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,scan:0 -msgid "Scan of the Mandate" -msgstr "Scan du mandat" +msgstr "Le mandat portant la référence '%s' pour le partenaire '%s' est de type 'One-Off' et il a une date de dernier débit au '%s', donc il n'est pas utilisable." #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,last_debit_date:0 -msgid "Date of the Last Debit" -msgstr "Date du dernier prélèvement" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired -msgid "Mandate Expired" -msgstr "Mandat expiré" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "Le mandat récurrent '%s' doit avoir un type de séquence." #. module: account_banking_sepa_direct_debit -#: constraint:res.company:0 -msgid "Invalid SEPA Creditor Identifier." -msgstr "Identifiant créancier SEPA invalide." +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "Le mandat récurrent '%s' dont l'option 'Migré à SEPA' n'est pas activée doit avec sa séquence mise à 'First'." #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank -msgid "Bank Accounts" -msgstr "Comptes bancaires" +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats One-Off." #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"

\n" -" Click to create a new SEPA Direct Debit Mandate.\n" -"

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer " -"that gives you the autorization to do one or several direct debits on his " -"bank account.\n" -"

\n" -" " +"This mandate is only intended for business-to-business transactions.\n" +" You are not entitled to a refund from your bank after your account has\n" +" been debited, but you are entitled to request your bank\n" +" not to debit your account up until the day on which the payment is due." msgstr "" -"

\n" -" Cliquez pour créer un mandat de prélèvement SEPA.\n" -"

\n" -" Un mandat de prélèvement SEPA est un document signé par votre client " -"qui vous donne l'autorisation de réaliser un ou plusieurs prélèvements sur " -"son compte bancaire.\n" -"

\n" -" " - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "General Information" -msgstr "Informations générales" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Valid" -msgstr "Valide" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice -msgid "Invoice" -msgstr "Facture" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Cancel" -msgstr "Annuler" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: field:sdd.mandate,payment_line_ids:0 -msgid "Related Payment Lines" -msgstr "Lignes de paiement associées" +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Montant total" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "Recurrent" -msgstr "Récurrent" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" +msgstr "Type" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,type:0 +#: field:account.banking.mandate,type:0 msgid "Type of Mandate" msgstr "Type de mandat" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid -msgid "Mandate Validated" -msgstr "Mandat validé" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,file:0 -msgid "SEPA File" -msgstr "Fichier SEPA" - -#. module: account_banking_sepa_direct_debit -#: field:res.company,sepa_creditor_identifier:0 -msgid "SEPA Creditor Identifier" -msgstr "Identifiant créancier SEPA" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd -msgid "SEPA Direct Debit export" -msgstr "Export de prélèvement SEPA" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Expired" -msgstr "Expiré" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Valider" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_bank_id:0 -msgid "Bank Account" -msgstr "Compte bancaire" +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "Quand le champ 'Migré à SEPA' n'est pas activé, ce champ sera le 'Original Mandate Identification' dans le fichier de prélèvement." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 #, python-format msgid "" "You must set the 'Original Mandate Identification' on the recurrent mandate " "'%s' which is not marked as 'Migrated to SEPA'." -msgstr "" -"Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat " -"récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'." - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first -msgid "Sequence Type set to First" -msgstr "Type de Séquence mis à First" +msgstr "Vous devez renseigner le champ 'Ancien identifiant du mandat' sur le mandat récurrent '%s' qui n'est pas marqué comme étant 'Migré à SEPA'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 -#, python-format +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"As you changed the bank account attached to this mandate, the 'Sequence " -"Type' has been set back to 'First'." +"to send instructions to your bank to debit your account and (B) your bank to\n" +" debit your account in accordance with the instructions from" msgstr "" -"Etant donné que vous avez changé le compte bancaire associé à ce mandat, le " -"'Type de séquence' a été remis à 'First'." - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_ids:0 -msgid "Messages and communication history" -msgstr "Messages and communication history" - -#. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Search SEPA Direct Debit Mandates" -msgstr "Recherche dans les mandats de prélèvement SEPA" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file:0 -msgid "File" -msgstr "Fichier" diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po index 2c2ccc12fc4..8fb3b71df72 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -1,754 +1,589 @@ -# Dutch translation for banking-addons -# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 -# This file is distributed under the same license as the banking-addons package. -# FIRST AUTHOR , 2014. -# +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +# Translators: +# FIRST AUTHOR , 2014 msgid "" msgstr "" -"Project-Id-Version: banking-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2013-12-23 22:24+0000\n" -"PO-Revision-Date: 2014-04-24 10:38+0000\n" -"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n" -"Language-Team: Dutch \n" +"Project-Id-Version: bank-payment (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-08 00:46+0000\n" +"PO-Revision-Date: 2016-04-07 16:04+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n" -"X-Generator: Launchpad (build 17031)\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_valid -msgid "SEPA Direct Debit Mandate Validated" -msgstr "SEPA incasso machtiging bevestigd." +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "" +"

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "

\n Klik voor het maken van een nieuwe SEPA incasso machtiging.\n

\n Een SEPA incasso machtiging is een document ondertekend door uw klant, welke u toestemming geeft om incasso's uit te voeren op zijn bankrekening.\n

\n " #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,filename:0 -#: field:banking.export.sdd.wizard,filename:0 -msgid "Filename" -msgstr "Bestandsnaam" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:200 -#, python-format +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " +"CREDITOR FOR STORAGE." msgstr "" -"De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:219 -#, python-format -msgid "Cannot validate the mandate '%s' without a date of signature." +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." msgstr "" -"Het is niet mogelijk de machtiging '%s' te bevestigen zonder een datum van " -"ondertekenen." - -#. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Final" -msgstr "Definitief" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Finish" -msgstr "Gereed" #. module: account_banking_sepa_direct_debit -#: view:res.partner:0 -#: view:res.partner.bank:0 -msgid "SDD Mandates" -msgstr "SDD machteging" - -#. module: account_banking_sepa_direct_debit -#: constraint:payment.line:0 -#: constraint:sdd.mandate:0 -msgid "Error msg in raise" -msgstr "Fout bericht" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Reconciled" -msgstr "Afgeletterd" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,recurrent_sequence_type:0 -msgid "Sequence Type for Next Debit" -msgstr "Reeks soort voor volgende incasso" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Creditor" -msgstr "Op rekening van schuldeiser" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"As part of your rights, you are entitled to a refund from\n" +" your bank under the terms and conditions of your agreement\n" +" with your bank.\n" +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.sdd_mandate_action -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.sdd_mandate_menu -#: view:res.partner.bank:0 -#: field:res.partner.bank,sdd_mandate_ids:0 -msgid "SEPA Direct Debit Mandates" -msgstr "SEPA incasso machtegingen" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 +#, python-format +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet naar 'Eerste'." #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Validate" -msgstr "Bevestigen" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -msgid "Sequence Type set to Recurring" -msgstr "Reeks soort ingesteld op herhalend" +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "Generate" -msgstr "Genereer" +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Bach verwerking" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_cancel -msgid "SEPA Direct Debit Mandate Cancelled" -msgstr "SEPA incasso machtegingen geannuleerd" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Op rekening van schuldeiser" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 #: selection:banking.export.sdd.wizard,charge_bearer:0 msgid "Borne by Debtor" msgstr "Rekening van schuldenaar" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:212 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:218 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:224 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:232 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:239 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:245 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:253 -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:395 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:140 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:192 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:199 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:209 -#, python-format -msgid "Error:" -msgstr "Fout:" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "By signing this mandate form, you authorise (A)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_ids:0 -msgid "Messages" -msgstr "Berichten" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" +msgstr "Annuleer" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,unique_mandate_reference:0 -msgid "Unique Mandate Reference" -msgstr "Unieke machtiging referentie" +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Kostenverdeling" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Cancelled" -msgstr "Geannuleerd" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Bedrijven" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:141 -#, python-format -msgid "" -"Payment Type Code '%s' is not supported. The only Payment Type Code " -"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " -"'pain.008.001.04'." +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" msgstr "" -"Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code " -"ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en " -"'pain.008.001.04'." - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_unread:0 -msgid "If checked new messages require your attention." -msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen." #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file_id:0 -msgid "SDD File" -msgstr "SDD bestand" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.mandate_expired -msgid "SEPA Direct Debit Mandate has Expired" -msgstr "SEPA Direct incasso machtiging is verlopen" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Aanmaken" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:246 -#, python-format -msgid "" -"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " -"have its recurrent sequence type set to 'First'." +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" msgstr "" -"Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd " -"naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'." #. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,charge_bearer:0 -#: help:banking.export.sdd.wizard,charge_bearer:0 -msgid "" -"Following service level : transaction charges are to be applied following " -"the rules agreed in the service level and/or scheme (SEPA Core messages must " -"use this). Shared : transaction charges on the creditor side are to be borne " -"by the creditor, transaction charges on the debtor side are to be borne by " -"the debtor. Borne by creditor : all transaction charges are to be borne by " -"the creditor. Borne by debtor : all transaction charges are to be borne by " -"the debtor." +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" msgstr "" -"Volg service level: Transactie kosten worden toegepast volgens de " -"afgesproken regels in het service level en/of schema (Voor SEPA berichten " -"deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn " -"voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de " -"schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn " -"voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle " -"transactie kosten zijn voor rekening van de schuldeiser." #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Reference" -msgstr "Referentie" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "SEPA Direct Debit" -msgstr "SEPA Incasso (Direct Debit)" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -msgid "SEPA Direct Debit XML file generation" -msgstr "SEPA Incasso XML bestand aanmaken" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_summary:0 +#: help:payment.mode,sepa_creditor_identifier:0 msgid "" -"Holds the Chatter summary (number of messages, ...). This summary is " -"directly in html format in order to be inserted in kanban views." +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" +"This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" msgstr "" -"Bevat de samenvatting van de chatter (aantal berichten,...). Deze " -"samenvatting is direct in html formaat om zo in de kanban weergave te worden " -"ingevoegd." #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_line -msgid "Payment Line" -msgstr "Betaalregel" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,create_date:0 -msgid "Generation Date" -msgstr "Aangemaakt op" +#: help:res.company,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit te voeren. De Incassant-ID is samengesteld uit:\n- uw ISO landcode (2 letters)\n- een 2 cijferig controlegetal\n- een 3 cijferig business code\n- een landspecifieke identifier" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:396 -#, python-format -msgid "" -"The payment line with reference '%s' has the bank account '%s' which is not " -"attached to the mandate '%s' (this mandate is attached to the bank account " -"'%s')." +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" msgstr "" -"De betaalregel met referentie '%s' heeft het bankrekeningnummer '%s' welke " -"niet is gekoppeld aan de machtiging '%s' (deze machtiging is gekoppeld aan " -"bankrekening '%s')." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Create" -msgstr "Aanmaken" +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 +#, python-format +msgid "Error" +msgstr "Fout" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,nb_transactions:0 -#: field:banking.export.sdd.wizard,nb_transactions:0 -msgid "Number of Transactions" -msgstr "Aantal transacties" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "Exporteer SEPA incasso bestand" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "One-Off" -msgstr "Eenmalig" +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Bestand" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,state:0 -#: field:banking.export.sdd.wizard,state:0 -msgid "State" -msgstr "Status" +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Bestandsnaam" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:240 -#, python-format -msgid "The recurrent mandate '%s' must have a sequence type." -msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben." +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Definitief" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_follower_ids:0 -msgid "Followers" -msgstr "Volgers" +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Gereed" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_unread:0 -msgid "Unread Messages" -msgstr "Ongelezen berichten" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "Eerste" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -#: field:banking.export.sdd,payment_order_ids:0 -#: field:banking.export.sdd.wizard,payment_order_ids:0 -msgid "Payment Orders" -msgstr "Betaalopdrachten" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Volg service level" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Type" -msgstr "Soort" +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must" +" use this). Shared : transaction charges on the creditor side are to be " +"borne by the creditor, transaction charges on the debtor side are to be " +"borne by the debtor. Borne by creditor : all transaction charges are to be " +"borne by the creditor. Borne by debtor : all transaction charges are to be " +"borne by the debtor." +msgstr "Volg service level: Transactie kosten worden toegepast volgens de afgesproken regels in het service level en/of schema (Voor SEPA berichten deze gebruiken). Gedeeld : De transactiekosten aan de crediteur zijde zijn voor de schuldenaar, transactiekosten aan de debiteur kant zijn voor de schuldeiser. Op rekening van de schuldenaar: Alle transactie kosten zijn voor rekening van de schuldenaar. Op rekening van de schuldeiser: Alle transactie kosten zijn voor rekening van de schuldeiser." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Sent" -msgstr "Verstuurd" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Genereer" #. module: account_banking_sepa_direct_debit -#: field:res.company,original_creditor_identifier:0 -msgid "Original Creditor Identifier" -msgstr "Originele Incassant-ID" +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "Recurring" -msgstr "Terugkerend" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: help:res.company,sepa_creditor_identifier:0 +#: help:payment.mode,original_creditor_identifier:0 msgid "" -"Enter the Creditor Identifier that has been attributed to your company to " -"make SEPA Direct Debits. This identifier is composed of :\n" -"- your country ISO code (2 letters)\n" -"- a 2-digits checkum\n" -"- a 3-letters business code\n" -"- a country-specific identifier" +"If not defined, Original Creditor Identifier from company will be used." msgstr "" -"Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit " -"te voeren. De Incassant-ID is samengesteld uit:\n" -"- uw ISO landcode (2 letters)\n" -"- een 2 cijferig controlegetal\n" -"- een 3 cijferig business code\n" -"- een landspecifieke identifier" #. module: account_banking_sepa_direct_debit -#: sql_constraint:sdd.mandate:0 -msgid "A Mandate with the same reference already exists for this company !" -msgstr "Een machtiging met dezelfde referentie bestaat al vooR dit bedrijf!" +#: help:account.banking.mandate,sepa_migrated:0 +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt te houden." #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,state:0 +#: help:banking.export.sdd.wizard,batch_booking:0 msgid "" -"Only valid mandates can be used in a payment line. A cancelled mandate is a " -"mandate that has been cancelled by the customer. A one-off mandate expires " -"after its first use. A recurrent mandate expires after it's final use or if " -"it hasn't been used for 36 months." -msgstr "" -"Alleen geldige machtigingen kunnen worden gebruikt op betaalregels. Een " -"geannuleerde machtiging is een machtiging welke is geannuleerd door de " -"klant. Een eenmalige machtiging verloopt na eenmalig gebruik. Een herhalende " -"machtiging verloopt na zijn laatste gebruik of als deze niet is gebruikt " -"voor 36 maanden." +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor iedere incasso een credit regel weergegeven op het bankafschrift." #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,recurrent_sequence_type:0 -msgid "" -"This field is only used for Recurrent mandates, not for One-Off mandates." +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 +#, python-format +msgid "Invalid SEPA Creditor Identifier." +msgstr "Ongeldige SEPA Incassant-ID." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" msgstr "" -"Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een " -"eenmalige machtiging." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:213 -#, python-format -msgid "The date of signature of mandate '%s' is in the future !" +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" msgstr "" -"De datum van de handtekening van de machtiging '%s' is in de toekomst!" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Signature Date" -msgstr "Handtekening datum" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,charge_bearer:0 -#: field:banking.export.sdd.wizard,charge_bearer:0 -msgid "Charge Bearer" -msgstr "Kostenverdeling" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 +#, python-format +msgid "Mandate update" +msgstr "Machtiging bijwerken" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_id:0 -msgid "Partner" -msgstr "Relatie" +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Gemigreerd naar SEPa" #. module: account_banking_sepa_direct_debit -#: selection:sdd.mandate,recurrent_sequence_type:0 -msgid "First" -msgstr "Eerste" +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 +#, python-format +msgid "" +"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" +" (reference '%s')." +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,signature_date:0 -msgid "Date of Signature of the Mandate" -msgstr "Datum avn de handtekening van de machtiging" +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Aantal transacties" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_cancel -msgid "Mandate Cancelled" -msgstr "Machtiging geannuleerd" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "One-Off" +msgstr "Eenmalig" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order -msgid "Generated SEPA Direct Debit Files" -msgstr "Genereerde SEPA incasso bestanden" +#: field:payment.mode,original_creditor_identifier:0 +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "Originele Incassant-ID" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,sepa_migrated:0 -msgid "" -"If this field is not active, the mandate section of the next direct debit " -"file that include this mandate will contain the 'Original Mandate " -"Identification' and the 'Original Creditor Scheme Identification'. This is " -"required in a few countries (Belgium for instance), but not in all " -"countries. If this is not required in your country, you should keep this " -"field always active." -msgstr "" -"Indien niet aangevinkt, zal het machtiging gedeelte van het volgende incasso " -"bestand, dat deze machtiging bevat, de 'Originele machtiging identificatie' " -"en de 'Origineel schuldeiser identificatie' bevatten. Dit is verplicht in " -"een aantal landen (zoals bijvoorbeeld België), maar niet in alle landen. " -"Indien dit niet verplicht is in uw land, dient u dit veld altijd aangevinkt " -"te houden." +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Originele machtiging indificatie" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,company_id:0 -msgid "Company" -msgstr "Bedijf" +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "Originele machtiging benodigd (SEPA)" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard -msgid "Export SEPA Direct Debit File" -msgstr "Exporteer SEPA incasso bestand" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode +msgid "Payment Mode" +msgstr "Betaalwijze" #. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,batch_booking:0 -#: help:banking.export.sdd.wizard,batch_booking:0 -msgid "" -"If true, the bank statement will display only one credit line for all the " -"direct debits of the SEPA file ; if false, the bank statement will display " -"one credit line per direct debit of the SEPA file." -msgstr "" -"Indien aangevinkt, zal het bankafschrift maar één credit regel weergeven " -"voor alle incasso's van het SEPA bestand. Indien niet aangevinkt wordt voor " -"iedere incasso een credit regel weergegeven op het bankafschrift." +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Betaalopdrachten" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:225 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117 #, python-format msgid "" -"Cannot validate the mandate '%s' because it is not attached to a bank " -"account." +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" +" 'pain.008.001.04'." +msgstr "Betaal soort code '%s' wordt niet ondersteund. De enige betaalsoort code ondersteund voor SEPA incasso's zijn 'pain.008.001.02', 'pain.008.001.03' en 'pain.008.001.04'." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" msgstr "" -"Kan de machtiging '%s' niet bevestigen omdat deze niet is gekoppeld aan een " -"bankrekening." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Draft" -msgstr "Concept" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Recurrent" +msgstr "Terugkerend" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:290 -#, python-format -msgid "Mandate update" -msgstr "Machtiging bijwerken" +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Terugkerend" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Shared" -msgstr "Gedeeld" +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" +msgstr "SDD machteging" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,batch_booking:0 -#: field:banking.export.sdd.wizard,batch_booking:0 -msgid "Batch Booking" -msgstr "Bach verwerking" +#: field:payment.mode,sepa_creditor_identifier:0 +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "SEPA Incassant-ID" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,sepa_migrated:0 -msgid "Migrated to SEPA" -msgstr "Gemigreerd naar SEPa" +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" +msgstr "SEPA incasso machtegingen" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,state:0 -msgid "Status" -msgstr "Status" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" +msgstr "SEPA Incasso XML bestand aanmaken" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,total_amount:0 -#: field:banking.export.sdd.wizard,total_amount:0 -msgid "Total Amount" -msgstr "Totaalbedrag" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd -msgid "SEPA Direct Debit Files" -msgstr "SEPA incasso bestanden" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Business-To-Business Direct debit Mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following Service Level" -msgstr "Volg service level" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:233 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35 +#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate #, python-format -msgid "" -"The mandate '%s' can't have a date of last debit before the date of " -"signature." +msgid "Sepa Mandate" msgstr "" -"De machtiging '%s' kan geen datum van laatste incasso hebben die eerder is " -"dan de datum van ondertekening." #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final -msgid "Sequence Type set to Final" -msgstr "Reeks soort ingesteld op definitief" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Sequence Type" +msgstr "" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_is_follower:0 -msgid "Is a Follower" -msgstr "Is een volger" +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Reeks soort voor volgende incasso" #. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,original_mandate_identification:0 -msgid "" -"When the field 'Migrated to SEPA' is not active, this field will be used as " -"the Original Mandate Identification in the Direct Debit file." -msgstr "" -"Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden " -"gebruikt als de originele machtiging identificatie in het incasso bestand." +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "Reeks soort ingesteld op definitief" #. module: account_banking_sepa_direct_debit -#: view:payment.order:0 -msgid "SDD Mandate" -msgstr "SDD machtiging" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "Reeks ingesteld op eerste" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,original_mandate_identification:0 -msgid "Original Mandate Identification" -msgstr "Originele machtiging indificatie" +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "Reeks soort ingesteld op herhalend" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company -msgid "Companies" -msgstr "Bedrijven" +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "Gedeeld" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,message_summary:0 -msgid "Summary" -msgstr "Samenvatting" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required -msgid "Original Mandate Required (SEPA)" -msgstr "Originele machtiging benodigd (SEPA)" +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "Status" #. module: account_banking_sepa_direct_debit -#: field:account.invoice,sdd_mandate_id:0 -#: model:ir.model,name:account_banking_sepa_direct_debit.model_sdd_mandate -#: field:payment.line,sdd_mandate_id:0 -#: view:sdd.mandate:0 -msgid "SEPA Direct Debit Mandate" -msgstr "SEPA incasso machtiging" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Swift BIC (up to 8 or 11 characteres):" +msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the payment line with partner '%s' and " -"Invoice ref '%s'." -msgstr "" -"Ontbrekende SEPA incasso machtiging op de betaalregel met relatie '%s' en " -"factuur referentie '%s'." +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "De SEPA incasso machtiging met referentie '%s' voor relatie '%s' is verlopen." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:210 +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 #, python-format msgid "" "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " "and it has a last debit date set to '%s', so we can't use it." -msgstr "" -"De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en " -"de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet " -"gebruiken." - -#. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,scan:0 -msgid "Scan of the Mandate" -msgstr "Scan van de machteging" +msgstr "De machtiging referentie '%s' voor relatie %s' is ingesteld op 'eenmalig' en de laatste incasso datum is ingesteld op '%s'. Zodoende kunnen we deze niet gebruiken." #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,last_debit_date:0 -msgid "Date of the Last Debit" -msgstr "Datum van laatste incasso" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_expired -msgid "Mandate Expired" -msgstr "Machtiging verlopen" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "De herhalende machtiging '%s' dient een reeks soort te hebben." #. module: account_banking_sepa_direct_debit -#: constraint:res.company:0 -msgid "Invalid SEPA Creditor Identifier." -msgstr "Ongeldige SEPA Incassant-ID." +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "Bij de herhalende machtiging '%s' welke niet is gemarkeerd als 'gemigreerd naar SEPA' dient de reeks soort te worden ingesteld op 'Eerste'." #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_partner_bank -msgid "Bank Accounts" -msgstr "Bankrekeningen" +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "Dit veld wordt alleen gebruikt voor herhalende machtigingen, niet voor een eenmalige machtiging." #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.sdd_mandate_action +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"

\n" -" Click to create a new SEPA Direct Debit Mandate.\n" -"

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer " -"that gives you the autorization to do one or several direct debits on his " -"bank account.\n" -"

\n" -" " +"This mandate is only intended for business-to-business transactions.\n" +" You are not entitled to a refund from your bank after your account has\n" +" been debited, but you are entitled to request your bank\n" +" not to debit your account up until the day on which the payment is due." msgstr "" -"

\n" -" Klik voor het maken van een nieuwe SEPA incasso machtiging.\n" -"

\n" -" Een SEPA incasso machtiging is een document ondertekend door uw " -"klant, welke u toestemming geeft om incasso's uit te voeren op zijn " -"bankrekening.\n" -"

\n" -" " - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:0 -msgid "General Information" -msgstr "Algemene informatie" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Valid" -msgstr "Geldig" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_invoice -msgid "Invoice" -msgstr "Factuur" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:0 -#: view:sdd.mandate:0 -msgid "Cancel" -msgstr "Annuleer" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: field:sdd.mandate,payment_line_ids:0 -msgid "Related Payment Lines" -msgstr "Gerelateerde betaalregels" +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Totaalbedrag" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,type:0 -msgid "Recurrent" -msgstr "Terugkerend" +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" +msgstr "Soort" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,type:0 +#: field:account.banking.mandate,type:0 msgid "Type of Mandate" msgstr "Soort machtiging" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.mandate_valid -msgid "Mandate Validated" -msgstr "Machtiging bevestigd" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,file:0 -msgid "SEPA File" -msgstr "SEPA bestand" - -#. module: account_banking_sepa_direct_debit -#: field:res.company,sepa_creditor_identifier:0 -msgid "SEPA Creditor Identifier" -msgstr "SEPA Incassant-ID" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd -msgid "SEPA Direct Debit export" -msgstr "SEPA incasso export" +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "" #. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -#: selection:sdd.mandate,state:0 -msgid "Expired" -msgstr "Verlopen" +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Bevestigen" #. module: account_banking_sepa_direct_debit -#: field:sdd.mandate,partner_bank_id:0 -msgid "Bank Account" -msgstr "Bankrekening" +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "Wanneer het veld 'gemigreerd naar SEPA' niet actief is, zal dit veld worden gebruikt als de originele machtiging identificatie in het incasso bestand." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:254 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 #, python-format msgid "" "You must set the 'Original Mandate Identification' on the recurrent mandate " "'%s' which is not marked as 'Migrated to SEPA'." -msgstr "" -"U dient de 'Originele machtiging identificatie' in te stellen op de " -"herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar " -"SEPA'" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first -msgid "Sequence Type set to First" -msgstr "Reeks ingesteld op eerste" +msgstr "U dient de 'Originele machtiging identificatie' in te stellen op de herhalende machtiging '%s' welke niet is gemarkeerd als 'Gemigreerd naar SEPA'" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/account_banking_sdd.py:291 -#, python-format +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "" -"As you changed the bank account attached to this mandate, the 'Sequence " -"Type' has been set back to 'First'." +"to send instructions to your bank to debit your account and (B) your bank to\n" +" debit your account in accordance with the instructions from" msgstr "" -"Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet " -"naar 'Eerste'." - -#. module: account_banking_sepa_direct_debit -#: help:sdd.mandate,message_ids:0 -msgid "Messages and communication history" -msgstr "Berichten en communicatie historie" - -#. module: account_banking_sepa_direct_debit -#: view:sdd.mandate:0 -msgid "Search SEPA Direct Debit Mandates" -msgstr "Zoek SEPA incasso machtigingen" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file:0 -msgid "File" -msgstr "Bestand" diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po new file mode 100644 index 00000000000..44b0048874e --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -0,0 +1,588 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: bank-payment (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-08 00:46+0000\n" +"PO-Revision-Date: 2016-04-07 16:04+0000\n" +"Last-Translator: danimaribeiro \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "" +"

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "Uma ordem bancária genérica" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " +"CREDITOR FOR STORAGE." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"As part of your rights, you are entitled to a refund from\n" +" your bank under the terms and conditions of your agreement\n" +" with your bank.\n" +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 +#, python-format +msgid "" +"As you changed the bank account attached to this mandate, the 'Sequence " +"Type' has been set back to 'First'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "Linhas de pagamento bancária" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "By signing this mandate form, you authorise (A)" +msgstr "Assinando este formulário de Ordem, você autoriza (A)" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Empresas" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Criar" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" +msgstr "Criado por" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" +msgstr "Criado em" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:payment.mode,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" +"This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:res.company,sepa_creditor_identifier:0 +msgid "" +"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +"- your country ISO code (2 letters)\n" +"- a 2-digits checkum\n" +"- a 3-letters business code\n" +"- a country-specific identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 +#, python-format +msgid "Error" +msgstr "Erro" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard +msgid "Export SEPA Direct Debit File" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Arquivo" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Nome do arquivo" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Finalizar" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd.wizard,charge_bearer:0 +msgid "" +"Following service level : transaction charges are to be applied following " +"the rules agreed in the service level and/or scheme (SEPA Core messages must" +" use this). Shared : transaction charges on the creditor side are to be " +"borne by the creditor, transaction charges on the debtor side are to be " +"borne by the debtor. Borne by creditor : all transaction charges are to be " +"borne by the creditor. Borne by debtor : all transaction charges are to be " +"borne by the debtor." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Gerar" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,id:0 +msgid "ID" +msgstr "ID" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:payment.mode,original_creditor_identifier:0 +msgid "" +"If not defined, Original Creditor Identifier from company will be used." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,sepa_migrated:0 +msgid "" +"If this field is not active, the mandate section of the next direct debit " +"file that include this mandate will contain the 'Original Mandate " +"Identification' and the 'Original Creditor Scheme Identification'. This is " +"required in a few countries (Belgium for instance), but not in all " +"countries. If this is not required in your country, you should keep this " +"field always active." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:banking.export.sdd.wizard,batch_booking:0 +msgid "" +"If true, the bank statement will display only one credit line for all the " +"direct debits of the SEPA file ; if false, the bank statement will display " +"one credit line per direct debit of the SEPA file." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 +#, python-format +msgid "Invalid SEPA Creditor Identifier." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 +#, python-format +msgid "Mandate update" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 +#, python-format +msgid "" +"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" +" (reference '%s')." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "One-Off" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:payment.mode,original_creditor_identifier:0 +#: field:res.company,original_creditor_identifier:0 +msgid "Original Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required +msgid "Original Mandate Required (SEPA)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode +msgid "Payment Mode" +msgstr "Modo de Pagamento" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Ordens de Pagamento" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117 +#, python-format +msgid "" +"Payment Type Code '%s' is not supported. The only Payment Type Code " +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" +" 'pain.008.001.04'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: selection:account.banking.mandate,type:0 +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Recurrent" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form +#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree +msgid "SDD Mandates" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:payment.mode,sepa_creditor_identifier:0 +#: field:res.company,sepa_creditor_identifier:0 +msgid "SEPA Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action +msgid "SEPA Direct Debit Mandates" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "SEPA Direct Debit XML file generation" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: field:account.banking.mandate,scheme:0 +msgid "Scheme" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Business-To-Business Direct debit Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35 +#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +#, python-format +msgid "Sepa Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Sequence Type" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final +msgid "Sequence Type set to Final" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first +msgid "Sequence Type set to First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring +msgid "Sequence Type set to Recurring" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Swift BIC (up to 8 or 11 characteres):" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166 +#, python-format +msgid "" +"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " +"expired." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 +#, python-format +msgid "" +"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " +"and it has a last debit date set to '%s', so we can't use it." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 +#, python-format +msgid "" +"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " +"have its recurrent sequence type set to 'First'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,recurrent_sequence_type:0 +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"This mandate is only intended for business-to-business transactions.\n" +" You are not entitled to a refund from your bank after your account has\n" +" been debited, but you are entitled to request your bank\n" +" not to debit your account up until the day on which the payment is due." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Valor total" + +#. module: account_banking_sepa_direct_debit +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search +#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +msgid "Type" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,type:0 +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Validar" + +#. module: account_banking_sepa_direct_debit +#: help:account.banking.mandate,original_mandate_identification:0 +msgid "" +"When the field 'Migrated to SEPA' is not active, this field will be used as " +"the Original Mandate Identification in the Direct Debit file." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 +#, python-format +msgid "" +"You must set the 'Original Mandate Identification' on the recurrent mandate " +"'%s' which is not marked as 'Migrated to SEPA'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "" +"to send instructions to your bank to debit your account and (B) your bank to\n" +" debit your account in accordance with the instructions from" +msgstr "" diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po new file mode 100644 index 00000000000..4ce7d321a3d --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -0,0 +1,589 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_sepa_direct_debit +# +# Translators: +# Matjaž Mozetič , 2016 +msgid "" +msgstr "" +"Project-Id-Version: bank-payment (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-18 10:57+0000\n" +"PO-Revision-Date: 2016-04-22 06:53+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action +msgid "" +"

\n" +" Click to create a new SEPA Direct Debit Mandate.\n" +"

\n" +" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" +"

\n" +" " +msgstr "

\n Ustvari nov SEPA mandat za direktno bremenitev.\n

\n SEPA mandat za direktno bremenitev je s strani kupca podpisan dokument, ki vas pooblašča za izvajanje ene ali več bremenitev njegovega bančnega računa.\n

\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 "Generični bančni mandat" + +#. 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 "VSE VRZELI SO OBVEZNE. PO PODPISU MANDATA, SE GA MORA POSLATI UPNIKU V HRANJENJE." + +#. 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 "VSE VRZELI SO OBVEZNE. PO PODPISU MANDATA, SE GA MORA POSLATI UPNIKU V HRANJENJE.\n KLJUB VSEMU, BANKA DOLŽNIKA ZAHTEVA DOLŽNIKOVO POOBLASTILO PRED NEPOSREDNO B2B OBREMENITVIJO RAČUNA.\n DOLŽNIK BI LAHKO UPRAVLJAL OMENJENO POOBLASTILO NA NAČIN, KI MU GA OMOGOČA NJEGOVA BANKA." + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "Številka računa - 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 "Naslov dolžnika:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "Naslov:" + +#. 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 "V sklopu vaših pravic je dobropis/povračilo vaše banke\n v skladu s splošnimi pogoji vašega dogovora\n z banko.\n Povračilo je potrebno zahtevati v do 8 tednih od datuma, na katerega je bil vaš račun obremenjen." + +#. 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 "Ker ste spremenili bančni račun pripet temu mandatu, se je tip zaporedja vrnil v 'Prvi'." + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "Postavke bančnih plačil" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "Osnovna (CORE)" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,batch_booking:0 +msgid "Batch Booking" +msgstr "Skupinska rezervacija" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Creditor" +msgstr "Nosi upnik" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Borne by Debtor" +msgstr "Nosi dolžnik" + +#. 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 "S podpisom tega mandata vi pooblaščate (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 "Preklic" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,charge_bearer:0 +msgid "Charge Bearer" +msgstr "Sprememba nosilca" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Družbe" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" +msgstr "Država dolžnika:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "Država:" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Create" +msgstr "Ustvari" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_uid:0 +msgid "Created by" +msgstr "Ustvaril" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,create_date:0 +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "Naziv upnika:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "Datum - lokacija:" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "Naziv dolžnika:" + +#. 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 "Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA direktnih obremenitev. Če ni določen, se uporabi SEPA identifikator upnika iz nastavitev družbe.\nIdentifikator sestavljajo:\n- ISO koda vaše države (2 znaka)\n- 2-značna checkum koda\n- 3-značna poslovna koda\n- specifični identifikator glede na državo" + +#. 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 "Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA direktnih obremenitev. Identifikator sestavljajo:\n- ISO koda vaše države (2 znaka)\n- 2-značna checkum koda\n- 3-značna poslovna koda\n- specifični identifikator glede na državo" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +msgstr "Podjetje (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 "Napaka" + +#. 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 "Izvoz datoteke SEPA direktne obremenitve" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,file:0 +msgid "File" +msgstr "Datoteka" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,filename:0 +msgid "Filename" +msgstr "Naziv datoteke" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Final" +msgstr "Končna" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,state:0 +msgid "Finish" +msgstr "Dokončaj" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "Prva" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Following Service Level" +msgstr "Nivo sledenja" + +#. 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 "Nivo sledenja: stroške transakcije se dodeli glede na naslednja pravila v sporazumu o ravni storitev in/ali shemi (SEPA temeljna sporočila morajo to uporabljati). Deljeno: stroške transakcije na strani upnika nosi upnik sam, stroške na strani dolžnika pa dolžnik. Nosi upnik: vse stroške transakcije nosi upnik. Nosi dolžnik: vse stroške transakcije nosi dolžnik." + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Generate" +msgstr "Ustvari" + +#. 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 "Identifikator:" + +#. 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 "Če ni določeno, se uporabi izvorni identifikator upnika iz nastavitev družbe." + +#. 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 "Če je to polje neaktivno, bo odsek datoteke naslednje direktne obremenitve, ki vključuje ta mandat, vseboval 'Identifikator izvornega mandata' in 'Identifikator izvorne sheme upnika'. To se zahteva v nekaj državah (npr. Belgiji), a ne pri vseh državah. Če v vaši državi to ni zahtevano, naj bo to polje zmeraj aktivno." + +#. 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 "Če pravilno, bančni izpisek prikaže le eno postavko v dobro za vse direktne obremenitve v SEPA XML datoteki ; če napačno, bančni izpisek prikaže le eno postavko v dobro za vsako direktno obremenitev v SEPA datoteki." + +#. 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 "Neveljaven identifikator SEPA upnika." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "Sklic mandata:" + +#. 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 "Posodobitev mandata" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,sepa_migrated:0 +msgid "Migrated to SEPA" +msgstr "Preseljeno v 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 "Pri postavki bančnega plačila partnerja '%s' (sklic '%s') manjka SEPA direktna obremenitev." + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,nb_transactions:0 +msgid "Number of Transactions" +msgstr "Število transakcij" + +#. 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 "Enkratna" + +#. 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 "Identifikator izvornega upnika" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,original_mandate_identification:0 +msgid "Original Mandate Identification" +msgstr "Identifikator izvornega mandata" + +#. 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 "Zahteva se izvorni mandat (SEPA)" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode +msgid "Payment Mode" +msgstr "Metoda plačila" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,payment_order_ids:0 +msgid "Payment Orders" +msgstr "Plačilni nalogi" + +#. 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 "Koda tipa plačila '%s' ni podprta. Edine kode tipov plačil, ki so podprte za SEPA bremenilne transakcije, so 'pain.008.001.02', 'pain.008.001.03' in '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 "Poštna številka - Mesto - Kraj:" + +#. 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 "Ponavljajoče se" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "Ponavljajoč" + +#. 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 mandati" + +#. 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 "Identifikator SEPA upnika" + +#. 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 mandat za direktno obremenitev" + +#. 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 "Ustvarjanje XML datoteke SEPA direktne obremenitve" + +#. 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 "Shema" + +#. 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 mandat za direktno obremenitev" + +#. 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 mandat za direktno obremenitev" + +#. 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 mandat" + +#. 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 "Tip zaporedja" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,recurrent_sequence_type:0 +msgid "Sequence Type for Next Debit" +msgstr "Tip zaporedja za naslednjo obremenitev" + +#. 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 "Tip zaporedja nastavljen kot končni" + +#. 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 "Tip zaporedja nastavljen kot prvi" + +#. 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 "Tip zaporedja nastavljen kot ponavljajoči se" + +#. module: account_banking_sepa_direct_debit +#: selection:banking.export.sdd.wizard,charge_bearer:0 +msgid "Shared" +msgstr "V souporabi" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "Podpis dolžnika:" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,state:0 +msgid "State" +msgstr "Stanje" + +#. 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 (8 ali 11 znakov):" + +#. 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 "SEPA mandat za direktno obremenitev s sklicem '%s' za partnerja '%s' je potekel." + +#. 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 "Pri mandatu s sklicem '%s' za partnerja '%s' je tip nastavljen na 'enkraten', zadnji datum obremenitve pa ima nastavljen na '%s', zato ga ne moremo uporabiti." + +#. 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 "Ponavljajoči se mandat '%s' mora vsebovati tip zaporedja." + +#. 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 "Ponavljajoči se mandat '%s', ki ni označen kot 'Preseljen v SEPA', mora imeti svoj ponavljajoči se tip zaporedja nastavljen kot 'Prvi'." + +#. 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 "To polje se uporablja le za ponavljajoče se mandate, ne pa za enkratne mandate." + +#. 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 "Ta mandat je mišljen le za transakcije med pravnimi osebami.\n Po obremenitvi vašega računa nimate pravice do povračila\n svoje banke,, lahko pa pri banki zahtevate, da se računa\n ne bremeni do dneva zapadlosti plačila." + +#. 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 "Izpolniti mora upnik" + +#. 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 "Izpolniti mora dolžnik" + +#. module: account_banking_sepa_direct_debit +#: field:banking.export.sdd.wizard,total_amount:0 +msgid "Total Amount" +msgstr "Skupni znesek" + +#. 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 "Tip" + +#. module: account_banking_sepa_direct_debit +#: field:account.banking.mandate,type:0 +msgid "Type of Mandate" +msgstr "Tip mandata" + +#. module: account_banking_sepa_direct_debit +#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "Tip plačila:" + +#. module: account_banking_sepa_direct_debit +#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view +msgid "Validate" +msgstr "Potrdi" + +#. 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 "Kadar polje 'Preseljeno v SEPA' ni aktivno, se to polje uporabi za identifikator izvornega mandata v datoteki direktne obremenitve." + +#. 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 "Na ponavljajočem se mandatu '%s', ki ni označen kot 'Preseljen v SEPA' morate nastaviti 'Identifikacijo izvornega mandata'." + +#. 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 "za pošiljanje navodil svoji banki glede bremenitve vašega računa in (B) svoji banki\n naj bremeni vaš račun v skladu z navodili iz" From cc8daeb8dca71f5443be18810dbebcc71cf9db5c Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Sat, 30 Apr 2016 01:46:34 +0200 Subject: [PATCH 18/83] [MIG] account_banking_sepa_direct_debit: Migration to 9.0 --- account_banking_sepa_direct_debit/README.rst | 32 +- account_banking_sepa_direct_debit/__init__.py | 4 +- .../__openerp__.py | 13 +- .../data/account_payment_method.xml | 17 + .../data/mandate_expire_cron.xml | 2 +- .../data/pain.008.003.02.xsd | 614 ++++++++++++++++++ .../data/payment_type_sdd.xml | 35 - .../demo/sepa_direct_debit_demo.xml | 26 +- .../account_banking_sepa_direct_debit.pot | 5 - account_banking_sepa_direct_debit/i18n/fr.po | 5 - .../models/__init__.py | 5 +- .../models/account_banking_mandate.py | 78 +-- .../models/account_payment_method.py | 27 + ...ayment_mode.py => account_payment_mode.py} | 19 +- .../models/account_payment_order.py | 298 +++++++++ .../models/bank_payment_line.py | 6 +- .../models/common.py | 4 +- .../models/res_company.py | 11 +- .../models/res_config.py | 12 + .../post_install.py | 18 + .../original_mandate_required_security.xml | 17 - .../tests/__init__.py | 3 + .../tests/test_sdd.py | 167 +++++ .../views/account_banking_mandate_view.xml | 80 +-- .../views/account_payment_mode.xml | 23 + .../views/payment_mode_view.xml | 24 - .../report_sepa_direct_debit_mandate.xml | 61 +- .../views/res_company_view.xml | 5 +- .../views/res_config.xml | 21 + .../wizard/__init__.py | 23 - .../wizard/export_sdd.py | 394 ----------- .../wizard/export_sdd_view.xml | 36 - 32 files changed, 1327 insertions(+), 758 deletions(-) create mode 100644 account_banking_sepa_direct_debit/data/account_payment_method.xml create mode 100644 account_banking_sepa_direct_debit/data/pain.008.003.02.xsd delete mode 100644 account_banking_sepa_direct_debit/data/payment_type_sdd.xml create mode 100644 account_banking_sepa_direct_debit/models/account_payment_method.py rename account_banking_sepa_direct_debit/models/{payment_mode.py => account_payment_mode.py} (70%) create mode 100644 account_banking_sepa_direct_debit/models/account_payment_order.py create mode 100644 account_banking_sepa_direct_debit/models/res_config.py create mode 100644 account_banking_sepa_direct_debit/post_install.py delete mode 100644 account_banking_sepa_direct_debit/security/original_mandate_required_security.xml create mode 100644 account_banking_sepa_direct_debit/tests/__init__.py create mode 100644 account_banking_sepa_direct_debit/tests/test_sdd.py create mode 100644 account_banking_sepa_direct_debit/views/account_payment_mode.xml delete mode 100644 account_banking_sepa_direct_debit/views/payment_mode_view.xml create mode 100644 account_banking_sepa_direct_debit/views/res_config.xml delete mode 100644 account_banking_sepa_direct_debit/wizard/__init__.py delete mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd.py delete mode 100644 account_banking_sepa_direct_debit/wizard/export_sdd_view.xml diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst index 04d40f4c347..22f07a8ad02 100644 --- a/account_banking_sepa_direct_debit/README.rst +++ b/account_banking_sepa_direct_debit/README.rst @@ -1,6 +1,7 @@ .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg :alt: License: AGPL-3 +================================= Account Banking SEPA Direct Debit ================================= @@ -23,8 +24,8 @@ Installation ============ This module depends on : -* account_direct_debit -* account_banking_pain_base', + +* account_banking_pain_base * account_banking_mandate This module is part of the OCA/bank-payment suite. @@ -32,18 +33,21 @@ This module is part of the OCA/bank-payment suite. Configuration ============= -To configure this module, you need to: - - * Create a payment mode and select an export type related to debit order ( eg. "SEPA direct debit ...") +Create a Payment Mode dedicated to SEPA Direct Debit and select the +Payment Method *SEPA Direct Debit for customers* (which is automatically +created upon module installation) and check that this payment method +uses the proper version of PAIN. Usage ===== -To use this module, you must select this payment mode on a direct debit order (Menu :Accounting > Payment > Direct Debit orders) - -For further information, please visit: +In the menu *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. - * https://www.odoo.com/forum/help-1 +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/173/9.0 Known issues / Roadmap ====================== @@ -53,10 +57,10 @@ Known issues / Roadmap Bug Tracker =========== -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 -`here `_. +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. Credits ======= @@ -64,7 +68,7 @@ Credits Contributors ------------ -* Alexis de Lattre +* Alexis de Lattre * Pedro M. Baeza * Stéphane Bidoul * Alexandre Fayolle diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py index b4a69d3678b..a1815ae51d7 100644 --- a/account_banking_sepa_direct_debit/__init__.py +++ b/account_banking_sepa_direct_debit/__init__.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -# © 2013 Akretion (www.akretion.com) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models -from . import wizard +from .post_install import update_bank_journals diff --git a/account_banking_sepa_direct_debit/__openerp__.py b/account_banking_sepa_direct_debit/__openerp__.py index 798db017679..d23eb7a931f 100644 --- a/account_banking_sepa_direct_debit/__openerp__.py +++ b/account_banking_sepa_direct_debit/__openerp__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2013-2015 Akretion (www.akretion.com) +# © 2013-2016 Akretion (www.akretion.com) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). @@ -7,7 +7,7 @@ { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '8.0.0.5.0', + 'version': '9.0.1.0.0', 'license': 'AGPL-3', 'author': "Akretion, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " @@ -16,22 +16,21 @@ 'website': 'https://github.com/OCA/bank-payment', 'category': 'Banking addons', 'depends': [ - 'account_direct_debit', 'account_banking_pain_base', 'account_banking_mandate', ], 'data': [ 'views/account_banking_mandate_view.xml', 'views/res_company_view.xml', - 'views/payment_mode_view.xml', - 'wizard/export_sdd_view.xml', + 'views/res_config.xml', + 'views/account_payment_mode.xml', 'data/mandate_expire_cron.xml', - 'data/payment_type_sdd.xml', + 'data/account_payment_method.xml', 'data/report_paperformat.xml', 'reports/sepa_direct_debit_mandate.xml', 'views/report_sepa_direct_debit_mandate.xml', - 'security/original_mandate_required_security.xml', ], 'demo': ['demo/sepa_direct_debit_demo.xml'], + 'post_init_hook': 'update_bank_journals', 'installable': True, } diff --git a/account_banking_sepa_direct_debit/data/account_payment_method.xml b/account_banking_sepa_direct_debit/data/account_payment_method.xml new file mode 100644 index 00000000000..67a3339f6e0 --- /dev/null +++ b/account_banking_sepa_direct_debit/data/account_payment_method.xml @@ -0,0 +1,17 @@ + + + + + + + SEPA Direct Debit for customers + sepa_direct_debit + inbound + + + pain.008.001.02 + + + + + 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 48fe6fc637d..fc411dacf3b 100644 --- a/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml +++ b/account_banking_sepa_direct_debit/data/mandate_expire_cron.xml @@ -1,7 +1,7 @@ diff --git a/account_banking_sepa_direct_debit/data/pain.008.003.02.xsd b/account_banking_sepa_direct_debit/data/pain.008.003.02.xsd new file mode 100644 index 00000000000..ed2dd930b52 --- /dev/null +++ b/account_banking_sepa_direct_debit/data/pain.008.003.02.xsd @@ -0,0 +1,614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mandatory if changes occur in ‘Mandate Identification’, otherwise not to be used. + + + + + Mandatory if changes occur in 'Creditor Scheme Identification', otherwise not to be used. + + + + + To be used only for changes of accounts within the same bank. + + + + + To use 'Identification’ under 'Other' under 'Financial Institution Identifier with code ‘SMNDA’ to indicate same mandate with new Debtor Agent. To be used with the ‘FRST’ indicator in the ‘Sequence Type’. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + If a Creditor Reference contains a check digit, the receiving bank is not required to validate this. +If the receiving bank validates the check digit and if this validation fails, the bank may continue its processing and send the transaction to the next party in the chain. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + It is recommended that all transactions within the same ‘Payment Information’ block have the same ‘Creditor Scheme Identification’. +This data element must be present at either ‘Payment Information’ or ‘Direct Debit +Transaction’ level. + + + + + + + + + + + It is recommended that this element be specified at ‘Payment Information’ level. + + + + + + This data element may be present either at ‘Payment Information’ or at ‘Direct Debit Transaction Information’ level. + + + + + + + + Mandatory if provided by the debtor in the mandate. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mandatory if 'Amendment Indicator' is 'TRUE' +The reason code from the Rulebook is indicated using one of the following message subelements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Either ‘BIC or BEI’ or one +occurrence of ‘Other’ is allowed. + + + + + Either ‘Date and Place of Birth’ or one occurrence of ‘Other’ is allowed + + + + + + + + + + Private Identification is used to identify either an organisation or a private +person. + + + + + + + + + ‘Name’ is limited to 70 characters in length. + + + + + + + + + + ‘Name’ is limited to 70 characters in length. + + + + + + + + + + + + + + + + If present the new’ Name’ must be specified under ‘Creditor’. ‘Name’ is limited to 70 characters in length. + + + + + + + + + + ‘Name’ is limited to 70 characters in length. + + + + + + + + + + + + + + + + + + If present and contains ‘true’, batch booking is requested. If present and contains ‘false’, booking per transaction is requested. If element is not present, pre-agreed customer-to-bank conditions apply. + + + + + + + + + + + + This data element may be present either at ‘Payment Information’ or at ‘Direct Debit Transaction Information’ level. + + + + + It is recommended that this element be specified at ‘Payment Information’ level. + + + + + It is recommended that all transactions within the same ‘Payment Information’ block have the same ‘Creditor Scheme Identification’. +This data element must be present at either ‘Payment Information’ or ‘Direct Debit +Transaction’ level. + + + + + + + + + + + + + + + + Only ‘B2B’, 'CORE' or 'COR1' is allowed. The mixing of different Local Instrument values is not allowed in the same message. + + + + + If 'Amendment Indicator' is 'true' and 'Original Debtor Agent' is set to 'SMNDA' this message element must indicate 'FRST' + + + + + Depending on the agreement between the Creditor and the Creditor Bank, ‘Category Purpose’ may be forwarded to the Debtor Bank. + + + + + + + + + + + + + + + + + Only one occurrence of ‘Other’ is allowed, and no other sub-elements are allowed. +Identification must be used with an identifier described in General Message Element Specifications, Chapter 1.5.2 of the Implementation Guide. +Scheme Name’ under ‘Other’ must specify ‘SEPA’ under ‘Proprietary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Only codes from the ISO 20022 ExternalPurposeCode list are allowed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + When present, the receiving bank is not obliged to validate the reference information. + + + + + + + + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/data/payment_type_sdd.xml b/account_banking_sepa_direct_debit/data/payment_type_sdd.xml deleted file mode 100644 index a17b3b21ce8..00000000000 --- a/account_banking_sepa_direct_debit/data/payment_type_sdd.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - 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/demo/sepa_direct_debit_demo.xml b/account_banking_sepa_direct_debit/demo/sepa_direct_debit_demo.xml index bcbeb7fb89c..a93f87b3f12 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 @@ -3,13 +3,11 @@ - - SEPA Direct Debit La Banque Postale - - + + SEPA Direct Debit of customers - - + variable + @@ -17,8 +15,9 @@ FR78ZZZ424242 + - + sepa recurrent first @@ -26,8 +25,14 @@ valid + + + + + + - + sepa recurrent first @@ -35,5 +40,10 @@ valid + + + + + 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 a39fa750ae4..834613460e2 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 @@ -319,11 +319,6 @@ msgstr "" 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" diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 75cc33f0fbe..df7158fa469 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -402,11 +402,6 @@ msgstr "Mandats SEPA" 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" diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index 93fb91cc8f0..64b7c387435 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -1,6 +1,9 @@ # -*- coding: utf-8 -*- from . import res_company +from . import res_config from . import account_banking_mandate from . import bank_payment_line -from . import payment_mode +from . import account_payment_mode +from . import account_payment_method +from . import account_payment_order 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 ca238120446..744903cb648 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2013 Akretion - Alexis de Lattre +# © 2013-2016 Akretion - Alexis de Lattre # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). @@ -16,29 +16,14 @@ 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', - } - } + _rec_name = 'display_name' format = fields.Selection( - selection_add=[('sepa', _('Sepa Mandate'))], - default='sepa', - ) + selection_add=[('sepa', 'Sepa Mandate')], default='sepa') type = fields.Selection([('recurrent', 'Recurrent'), ('oneoff', 'One-Off')], string='Type of Mandate', - track_visibility='always') + track_visibility='onchange') recurrent_sequence_type = fields.Selection( [('first', 'First'), ('recurring', 'Recurring'), @@ -46,25 +31,12 @@ class AccountBankingMandate(models.Model): 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', - 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', default="CORE") + scheme = fields.Selection([ + ('CORE', 'Basic (CORE)'), + ('B2B', 'Enterprise (B2B)')], + string='Scheme', default="CORE", track_visibility='onchange') unique_mandate_reference = fields.Char(size=35) # cf ISO 20022 + display_name = fields.Char(compute='compute_display_name', store=True) @api.multi @api.constrains('type', 'recurrent_sequence_type') @@ -77,28 +49,16 @@ def _check_recurring_type(self): % mandate.unique_mandate_reference) @api.multi - @api.constrains('type', 'recurrent_sequence_type', 'sepa_migrated') - def _check_migrated_to_sepa(self): + @api.depends('unique_mandate_reference', 'recurrent_sequence_type') + def compute_display_name(self): for mandate in self: - if (mandate.type == 'recurrent' and not mandate.sepa_migrated and - mandate.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'.") - % mandate.unique_mandate_reference) - - @api.multi - @api.constrains('type', 'original_mandate_identification', 'sepa_migrated') - def _check_original_mandate_identification(self): - for mandate in self: - if (mandate.type == 'recurrent' and not mandate.sepa_migrated and - not mandate.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'.") - % mandate.unique_mandate_reference) + if mandate.format == 'sepa': + name = '%s (%s)' % ( + mandate.unique_mandate_reference, + mandate.recurrent_sequence_type) + else: + name = mandate.unique_mandate_reference + mandate.display_name = name @api.multi @api.onchange('partner_bank_id') @@ -137,5 +97,5 @@ def _sdd_mandate_set_state_to_expired(self): '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') + logger.info('0 SDD Mandates had to be set to Expired') return True diff --git a/account_banking_sepa_direct_debit/models/account_payment_method.py b/account_banking_sepa_direct_debit/models/account_payment_method.py new file mode 100644 index 00000000000..c6781cc4fcb --- /dev/null +++ b/account_banking_sepa_direct_debit/models/account_payment_method.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields, api + + +class AccountPaymentMethod(models.Model): + _inherit = 'account.payment.method' + + pain_version = fields.Selection(selection_add=[ + ('pain.008.001.02', 'pain.008.001.02 (recommended for direct debit)'), + ('pain.008.001.03', 'pain.008.001.03'), + ('pain.008.001.04', 'pain.008.001.04'), + ('pain.008.003.02', 'pain.008.003.02 (direct debit in Germany)'), + ]) + + @api.multi + def get_xsd_file_path(self): + self.ensure_one() + if self.pain_version in [ + 'pain.008.001.02', 'pain.008.001.03', 'pain.008.001.04', + 'pain.008.003.02']: + path = 'account_banking_sepa_direct_debit/data/%s.xsd'\ + % self.pain_version + return path + return super(AccountPaymentMethod, self).get_xsd_file_path() diff --git a/account_banking_sepa_direct_debit/models/payment_mode.py b/account_banking_sepa_direct_debit/models/account_payment_mode.py similarity index 70% rename from account_banking_sepa_direct_debit/models/payment_mode.py rename to account_banking_sepa_direct_debit/models/account_payment_mode.py index f3c1ac1b649..0650736d026 100644 --- a/account_banking_sepa_direct_debit/models/payment_mode.py +++ b/account_banking_sepa_direct_debit/models/account_payment_mode.py @@ -2,12 +2,13 @@ # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import models, fields, api, exceptions, _ +from openerp import models, fields, api, _ from .common import is_sepa_creditor_identifier_valid +from openerp.exceptions import ValidationError -class PaymentMode(models.Model): - _inherit = 'payment.mode' +class AccountPaymentMode(models.Model): + _inherit = 'account.payment.mode' sepa_creditor_identifier = fields.Char( string='SEPA Creditor Identifier', size=35, @@ -19,13 +20,9 @@ class PaymentMode(models.Model): "- 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, - help="If not defined, Original Creditor Identifier from company " - "will be used.") def _sepa_type_get(self): - res = super(PaymentMode, self)._sepa_type_get() + res = super(AccountPaymentMode, self)._sepa_type_get() if not res: if self.type.code and self.type.code.startswith('pain.008'): res = 'sepa_direct_debit' @@ -38,6 +35,6 @@ def _check_sepa_creditor_identifier(self): if payment_mode.sepa_creditor_identifier: if not is_sepa_creditor_identifier_valid( payment_mode.sepa_creditor_identifier): - raise exceptions.Warning( - _('Error'), - _("Invalid SEPA Creditor Identifier.")) + raise ValidationError( + _("The SEPA Creditor Identifier '%s' is invalid.") + % payment_mode.sepa_creditor_identifier) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py new file mode 100644 index 00000000000..e68abe27e14 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -0,0 +1,298 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import models, fields, api, _ +from openerp.exceptions import UserError +from lxml import etree + + +class AccountPaymentOrder(models.Model): + _inherit = 'account.payment.order' + + def _get_previous_bank(self, payline): + previous_bank = False + older_lines = self.env['account.payment.line'].search([ + ('mandate_id', '=', payline.mandate_id.id), + ('partner_bank_id', '!=', payline.partner_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.partner_bank_id + return previous_bank + + @api.multi + def generate_payment_file(self): + """Creates the SEPA Direct Debit file. That's the important code !""" + self.ensure_one() + if self.payment_method_id.code != 'sepa_direct_debit': + return super(AccountPaymentOrder, self).generate_payment_file() + pain_flavor = self.payment_method_id.pain_version + # We use pain_flavor.startswith('pain.008.001.xx') + # to support country-specific extensions such as + # pain.008.001.02.ch.01 (cf l10n_ch_sepa) + if pain_flavor.startswith('pain.008.001.02'): + bic_xml_tag = 'BIC' + name_maxsize = 70 + root_xml_tag = 'CstmrDrctDbtInitn' + elif pain_flavor.startswith('pain.008.003.02'): + bic_xml_tag = 'BIC' + name_maxsize = 70 + root_xml_tag = 'CstmrDrctDbtInitn' + elif pain_flavor.startswith('pain.008.001.03'): + bic_xml_tag = 'BICFI' + name_maxsize = 140 + root_xml_tag = 'CstmrDrctDbtInitn' + elif pain_flavor.startswith('pain.008.001.04'): + bic_xml_tag = 'BICFI' + name_maxsize = 140 + root_xml_tag = 'CstmrDrctDbtInitn' + else: + raise UserError( + _("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) + pay_method = self.payment_mode_id.payment_method_id + xsd_file = pay_method.get_xsd_file_path() + gen_args = { + 'bic_xml_tag': bic_xml_tag, + 'name_maxsize': name_maxsize, + 'convert_to_ascii': pay_method.convert_to_ascii, + 'payment_method': 'DD', + 'file_prefix': 'sdd_', + 'pain_flavor': pain_flavor, + 'pain_xsd_file': xsd_file, + } + nsmap = self.generate_pain_nsmap() + attrib = self.generate_pain_attrib() + xml_root = etree.Element('Document', nsmap=nsmap, attrib=attrib) + pain_root = etree.SubElement(xml_root, root_xml_tag) + # A. Group header + group_header, nb_of_transactions_a, control_sum_a = \ + self.generate_group_header_block(pain_root, gen_args) + transactions_count_a = 0 + amount_control_sum_a = 0.0 + lines_per_group = {} + # key = (requested_date, priority, sequence type) + # value = list of lines as objects + for line in self.bank_line_ids: + transactions_count_a += 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 UserError( + _("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, nb_of_transactions_b, control_sum_b = \ + self.generate_start_payment_info_block( + pain_root, + "self.name + '-' + " + "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, 'Cdtr', 'B', + self.company_partner_bank_id, gen_args) + charge_bearer = etree.SubElement(payment_info, 'ChrgBr') + if self.sepa: + charge_bearer_text = 'SLEV' + else: + charge_bearer_text = self.charge_bearer + charge_bearer.text = charge_bearer_text + creditor_scheme_identification = etree.SubElement( + payment_info, 'CdtrSchmeId') + self.generate_creditor_scheme_identification( + creditor_scheme_identification, + 'self.payment_mode_id.sepa_creditor_identifier or ' + 'self.company_id.sepa_creditor_identifier', + 'SEPA Creditor Identifier', {'self': self}, 'SEPA', gen_args) + transactions_count_b = 0 + amount_control_sum_b = 0.0 + for line in lines: + transactions_count_b += 1 + # C. Direct Debit Transaction Info + dd_transaction_info = etree.SubElement( + payment_info, 'DrctDbtTxInf') + payment_identification = etree.SubElement( + dd_transaction_info, 'PmtId') + if pain_flavor == 'pain.008.001.02.ch.01': + instruction_identification = etree.SubElement( + payment_identification, 'InstrId') + instruction_identification.text = self._prepare_field( + 'Intruction Identification', 'line.name', + {'line': line}, 35, gen_args=gen_args) + end2end_identification = etree.SubElement( + payment_identification, 'EndToEndId') + end2end_identification.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_id.name', + {'line': line}, 3, gen_args=gen_args) + instructed_amount = etree.SubElement( + dd_transaction_info, 'InstdAmt', Ccy=currency_name) + instructed_amount.text = '%.2f' % line.amount_currency + amount_control_sum_a += line.amount_currency + amount_control_sum_b += line.amount_currency + dd_transaction = etree.SubElement( + dd_transaction_info, 'DrctDbtTx') + mandate_related_info = etree.SubElement( + dd_transaction, 'MndtRltdInf') + mandate_identification = etree.SubElement( + mandate_related_info, 'MndtId') + mandate_identification.text = self._prepare_field( + 'Unique Mandate Reference', + 'line.mandate_id.unique_mandate_reference', + {'line': line}, 35, gen_args=gen_args) + mandate_signature_date = etree.SubElement( + mandate_related_info, 'DtOfSgntr') + mandate_signature_date.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: + previous_bank = self._get_previous_bank(line) + if previous_bank: + amendment_indicator = etree.SubElement( + mandate_related_info, 'AmdmntInd') + amendment_indicator.text = 'true' + amendment_info_details = etree.SubElement( + mandate_related_info, 'AmdmntInfDtls') + if ( + previous_bank.bank_bic == + line.partner_bank_id.bank_bic): + ori_debtor_account = etree.SubElement( + amendment_info_details, 'OrgnlDbtrAcct') + ori_debtor_account_id = etree.SubElement( + ori_debtor_account, '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.sanitized_acc_number', + {'previous_bank': previous_bank}, + gen_args=gen_args)) + else: + ori_debtor_agent = etree.SubElement( + amendment_info_details, 'OrgnlDbtrAgt') + ori_debtor_agent_institution = etree.SubElement( + ori_debtor_agent, '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', + {'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 + + self.generate_party_block( + dd_transaction_info, 'Dbtr', 'C', + line.partner_bank_id, gen_args, line) + + self.generate_remittance_info_block( + dd_transaction_info, line, gen_args) + + nb_of_transactions_b.text = unicode(transactions_count_b) + control_sum_b.text = '%.2f' % amount_control_sum_b + nb_of_transactions_a.text = unicode(transactions_count_a) + control_sum_a.text = '%.2f' % amount_control_sum_a + + return self.finalize_sepa_file_creation( + xml_root, gen_args) + + @api.multi + def finalize_sepa_file_creation(self, xml_root, gen_args): + """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'] + to_expire_mandates = abmo.browse([]) + first_mandates = abmo.browse([]) + all_mandates = abmo.browse([]) + for bline in self.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', + }) + return super(AccountPaymentOrder, self).finalize_sepa_file_creation( + xml_root, gen_args) diff --git a/account_banking_sepa_direct_debit/models/bank_payment_line.py b/account_banking_sepa_direct_debit/models/bank_payment_line.py index e28207ebce0..0321cf03dd0 100644 --- a/account_banking_sepa_direct_debit/models/bank_payment_line.py +++ b/account_banking_sepa_direct_debit/models/bank_payment_line.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2015 Akretion - Alexis de Lattre +# © 2015-2016 Akretion - Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import models, api @@ -9,7 +9,7 @@ class BankPaymentLine(models.Model): _inherit = 'bank.payment.line' @api.multi - def move_line_transfer_account_hashcode(self): + def move_line_offsetting_account_hashcode(self): """ From my experience, even when you ask several direct debits at the same date with enough delay, you will have several credits @@ -18,6 +18,6 @@ def move_line_transfer_account_hashcode(self): reconciliation of the bank statement. """ hashcode = super(BankPaymentLine, self).\ - move_line_transfer_account_hashcode() + move_line_offsetting_account_hashcode() hashcode += '-' + unicode(self.mandate_id.recurrent_sequence_type) return hashcode diff --git a/account_banking_sepa_direct_debit/models/common.py b/account_banking_sepa_direct_debit/models/common.py index dd507a4db8f..33712f3b3b0 100644 --- a/account_banking_sepa_direct_debit/models/common.py +++ b/account_banking_sepa_direct_debit/models/common.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2013 Akretion (www.akretion.com) +# © 2013-2016 Akretion (Alexis de Lattre ) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). @@ -21,7 +21,7 @@ def is_sepa_creditor_identifier_valid(sepa_creditor_identifier): sci = str(sepa_creditor_identifier).lower() except: logger.warning( - "SEPA Creditor ID should contain only ASCII caracters.") + "SEPA Creditor ID should contain only ASCII characters.") return False if len(sci) < 9: return False diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index c57dc8b04a4..ac58eb42fb4 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -# © 2013 Akretion (www.akretion.com) +# © 2013-2016 Akretion (Alexis de Lattre ) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import models, fields, api, exceptions, _ +from openerp import models, fields, api, _ from .common import is_sepa_creditor_identifier_valid +from openerp.exceptions import ValidationError class ResCompany(models.Model): @@ -28,6 +29,6 @@ def _check_sepa_creditor_identifier(self): if company.sepa_creditor_identifier: if not is_sepa_creditor_identifier_valid( company.sepa_creditor_identifier): - raise exceptions.Warning( - _('Error'), - _("Invalid SEPA Creditor Identifier.")) + raise ValidationError( + _("The SEPA Creditor Identifier '%s' is invalid.") + % company.sepa_creditor_identifier) diff --git a/account_banking_sepa_direct_debit/models/res_config.py b/account_banking_sepa_direct_debit/models/res_config.py new file mode 100644 index 00000000000..229e9fae063 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/res_config.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields + + +class AccountConfigSettings(models.TransientModel): + _inherit = 'account.config.settings' + + sepa_creditor_identifier = fields.Char( + related='company_id.sepa_creditor_identifier') diff --git a/account_banking_sepa_direct_debit/post_install.py b/account_banking_sepa_direct_debit/post_install.py new file mode 100644 index 00000000000..1fbd61793e9 --- /dev/null +++ b/account_banking_sepa_direct_debit/post_install.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import SUPERUSER_ID + + +def update_bank_journals(cr, pool): + ajo = pool['account.journal'] + journal_ids = ajo.search(cr, SUPERUSER_ID, [('type', '=', 'bank')]) + sdd_id = pool['ir.model.data'].xmlid_to_res_id( + cr, SUPERUSER_ID, + 'account_banking_sepa_direct_debit.sepa_direct_debit') + if sdd_id: + ajo.write(cr, SUPERUSER_ID, journal_ids, { + 'inbound_payment_method_ids': [(4, sdd_id)], + }) + return 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 deleted file mode 100644 index e6a8570cfb6..00000000000 --- a/account_banking_sepa_direct_debit/security/original_mandate_required_security.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - Original Mandate Required (SEPA) - - - - - diff --git a/account_banking_sepa_direct_debit/tests/__init__.py b/account_banking_sepa_direct_debit/tests/__init__.py new file mode 100644 index 00000000000..27fbb4e38dc --- /dev/null +++ b/account_banking_sepa_direct_debit/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import test_sdd diff --git a/account_banking_sepa_direct_debit/tests/test_sdd.py b/account_banking_sepa_direct_debit/tests/test_sdd.py new file mode 100644 index 00000000000..c7df49b0743 --- /dev/null +++ b/account_banking_sepa_direct_debit/tests/test_sdd.py @@ -0,0 +1,167 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.addons.account.tests.account_test_classes\ + import AccountingTestCase +from openerp.tools import float_compare +import time +from lxml import etree + + +class TestSDD(AccountingTestCase): + + def test_sdd(self): + self.company = self.env['res.company'] + self.account_model = self.env['account.account'] + self.move_model = self.env['account.move'] + self.journal_model = self.env['account.journal'] + self.payment_order_model = self.env['account.payment.order'] + self.payment_line_model = self.env['account.payment.line'] + self.mandate_model = self.env['account.banking.mandate'] + self.bank_line_model = self.env['bank.payment.line'] + self.partner_bank_model = self.env['res.partner.bank'] + self.attachment_model = self.env['ir.attachment'] + self.invoice_model = self.env['account.invoice'] + self.invoice_line_model = self.env['account.invoice.line'] + company = self.env.ref('base.main_company') + self.partner_agrolait = self.env.ref('base.res_partner_2') + self.partner_c2c = self.env.ref('base.res_partner_12') + self.account_revenue = self.account_model.search([( + 'user_type_id', + '=', + self.env.ref('account.data_account_type_revenue').id)], limit=1) + self.account_receivable = self.account_model.search([( + 'user_type_id', + '=', + self.env.ref('account.data_account_type_receivable').id)], limit=1) + # create journal + self.bank_journal = self.journal_model.create({ + 'name': 'Company Bank journal', + 'type': 'bank', + 'code': 'BNKFC', + 'bank_account_id': + self.env.ref('account_payment_mode.main_company_iban').id, + 'bank_id': + self.env.ref('account_payment_mode.bank_la_banque_postale').id, + }) + # update payment mode + self.payment_mode = self.env.ref( + 'account_banking_sepa_direct_debit.' + 'payment_mode_inbound_sepa_dd1') + self.payment_mode.write({ + 'bank_account_link': 'fixed', + 'fixed_journal_id': self.bank_journal.id, + }) + eur_currency_id = self.env.ref('base.EUR').id + company.currency_id = eur_currency_id + self.env.ref( + 'account_banking_sepa_direct_debit.res_partner_2_mandate').\ + recurrent_sequence_type = 'first' + invoice1 = self.create_invoice( + self.partner_agrolait.id, + 'account_banking_sepa_direct_debit.res_partner_2_mandate', 42.0) + invoice2 = self.create_invoice( + self.partner_c2c.id, + 'account_banking_sepa_direct_debit.res_partner_12_mandate', 11.0) + for inv in [invoice1, invoice2]: + action = inv.create_account_payment_line() + self.assertEquals(action['res_model'], 'account.payment.order') + self.payment_order = self.payment_order_model.browse(action['res_id']) + self.assertEquals( + self.payment_order.payment_type, 'inbound') + self.assertEquals( + self.payment_order.payment_mode_id, self.payment_mode) + self.assertEquals( + self.payment_order.journal_id, self.bank_journal) + # Check payment line + pay_lines = self.payment_line_model.search([ + ('partner_id', '=', self.partner_agrolait.id), + ('order_id', '=', self.payment_order.id)]) + self.assertEquals(len(pay_lines), 1) + agrolait_pay_line1 = pay_lines[0] + accpre = self.env['decimal.precision'].precision_get('Account') + self.assertEquals(agrolait_pay_line1.currency_id.id, eur_currency_id) + self.assertEquals( + agrolait_pay_line1.mandate_id, invoice1.mandate_id) + self.assertEquals( + agrolait_pay_line1.partner_bank_id, + invoice1.mandate_id.partner_bank_id) + self.assertEquals(float_compare( + agrolait_pay_line1.amount_currency, 42, precision_digits=accpre), + 0) + self.assertEquals(agrolait_pay_line1.communication_type, 'normal') + self.assertEquals(agrolait_pay_line1.communication, invoice1.number) + self.payment_order.draft2open() + self.assertEquals(self.payment_order.state, 'open') + self.assertEquals(self.payment_order.sepa, True) + # Check bank payment line + bank_lines = self.bank_line_model.search([ + ('partner_id', '=', self.partner_agrolait.id)]) + self.assertEquals(len(bank_lines), 1) + agrolait_bank_line = bank_lines[0] + self.assertEquals(agrolait_bank_line.currency_id.id, eur_currency_id) + self.assertEquals(float_compare( + agrolait_bank_line.amount_currency, 42.0, precision_digits=accpre), + 0) + self.assertEquals(agrolait_bank_line.communication_type, 'normal') + self.assertEquals( + agrolait_bank_line.communication, invoice1.number) + self.assertEquals( + agrolait_bank_line.mandate_id, invoice1.mandate_id) + self.assertEquals( + agrolait_bank_line.partner_bank_id, + invoice1.mandate_id.partner_bank_id) + action = self.payment_order.open2generated() + self.assertEquals(self.payment_order.state, 'generated') + self.assertEquals(action['res_model'], 'ir.attachment') + attachment = self.attachment_model.browse(action['res_id']) + self.assertEquals(attachment.datas_fname[-4:], '.xml') + xml_file = attachment.datas.decode('base64') + xml_root = etree.fromstring(xml_file) + # print "xml_file=", etree.tostring(xml_root, pretty_print=True) + namespaces = xml_root.nsmap + namespaces['p'] = xml_root.nsmap[None] + namespaces.pop(None) + pay_method_xpath = xml_root.xpath( + '//p:PmtInf/p:PmtMtd', namespaces=namespaces) + self.assertEquals(pay_method_xpath[0].text, 'DD') + sepa_xpath = xml_root.xpath( + '//p:PmtInf/p:PmtTpInf/p:SvcLvl/p:Cd', namespaces=namespaces) + self.assertEquals(sepa_xpath[0].text, 'SEPA') + debtor_acc_xpath = xml_root.xpath( + '//p:PmtInf/p:CdtrAcct/p:Id/p:IBAN', namespaces=namespaces) + self.assertEquals( + debtor_acc_xpath[0].text, + self.payment_order.company_partner_bank_id.sanitized_acc_number) + self.payment_order.generated2uploaded() + self.assertEquals(self.payment_order.state, 'uploaded') + for inv in [invoice1, invoice2]: + self.assertEquals(inv.state, 'paid') + self.assertEquals(self.env.ref( + 'account_banking_sepa_direct_debit.res_partner_2_mandate'). + recurrent_sequence_type, 'recurring') + return + + def create_invoice( + self, partner_id, mandate_xmlid, price_unit, type='out_invoice'): + invoice = self.invoice_model.create({ + 'partner_id': partner_id, + 'reference_type': 'none', + 'currency_id': self.env.ref('base.EUR').id, + 'name': 'test', + 'account_id': self.account_receivable.id, + 'type': type, + 'date_invoice': time.strftime('%Y-%m-%d'), + 'payment_mode_id': self.payment_mode.id, + 'mandate_id': self.env.ref(mandate_xmlid).id, + }) + self.invoice_line_model.create({ + 'invoice_id': invoice.id, + 'price_unit': price_unit, + 'quantity': 1, + 'name': 'Great service', + 'account_id': self.account_revenue.id, + }) + invoice.signal_workflow('invoice_open') + return invoice 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 667cedb5422..c27dcb1755e 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 @@ -1,6 +1,6 @@ @@ -11,41 +11,37 @@ - + sdd.mandate.form account.banking.mandate + - - - - - - + sdd.mandate.tree account.banking.mandate - + - + sdd.mandate.search account.banking.mandate @@ -66,67 +62,5 @@ - - SEPA Direct Debit Mandates - account.banking.mandate - 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. -

-
-
- - - - - sdd.mandate.res.partner.bank.tree - res.partner.bank - - - - SDD Mandates - - - - - - sdd.mandate.partner.form - res.partner - - - - SDD Mandates - - - - - - Sequence Type set to First - account.banking.mandate - - Sequence Type set to First - - - - Sequence Type set to Recurring - account.banking.mandate - - Sequence Type set to Recurring - - - - Sequence Type set to Final - account.banking.mandate - - Sequence Type set to Final - -
diff --git a/account_banking_sepa_direct_debit/views/account_payment_mode.xml b/account_banking_sepa_direct_debit/views/account_payment_mode.xml new file mode 100644 index 00000000000..23eca685f2f --- /dev/null +++ b/account_banking_sepa_direct_debit/views/account_payment_mode.xml @@ -0,0 +1,23 @@ + + + + + + + Add SEPA identifiers on payment mode form + account.payment.mode + + + + + + + + + + + diff --git a/account_banking_sepa_direct_debit/views/payment_mode_view.xml b/account_banking_sepa_direct_debit/views/payment_mode_view.xml deleted file mode 100644 index 9bba891d6b8..00000000000 --- a/account_banking_sepa_direct_debit/views/payment_mode_view.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - Add SEPA identifiers - payment.mode - - - - - - - - - - - - - diff --git a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml index eb850815b02..c71a2083b4d 100644 --- a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml +++ b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml @@ -3,6 +3,8 @@ diff --git a/account_banking_sepa_direct_debit/views/res_company_view.xml b/account_banking_sepa_direct_debit/views/res_company_view.xml index e4c9e0b9361..6b4d544ca5c 100644 --- a/account_banking_sepa_direct_debit/views/res_company_view.xml +++ b/account_banking_sepa_direct_debit/views/res_company_view.xml @@ -1,20 +1,19 @@ - + sepa_direct_debit.res.company.form res.company - diff --git a/account_banking_sepa_direct_debit/views/res_config.xml b/account_banking_sepa_direct_debit/views/res_config.xml new file mode 100644 index 00000000000..8e37d7eab9b --- /dev/null +++ b/account_banking_sepa_direct_debit/views/res_config.xml @@ -0,0 +1,21 @@ + + + + + + sepa_direct_debit.account_config_settings.form + account.config.settings + + +
+
+
+
+
+
+ +
+
diff --git a/account_banking_sepa_direct_debit/wizard/__init__.py b/account_banking_sepa_direct_debit/wizard/__init__.py deleted file mode 100644 index 3830e36d9d0..00000000000 --- a/account_banking_sepa_direct_debit/wizard/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# SEPA Direct Debit module for OpenERP -# Copyright (C) 2013 Akretion (http://www.akretion.com) -# @author: Alexis de Lattre -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from . import export_sdd diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd.py b/account_banking_sepa_direct_debit/wizard/export_sdd.py deleted file mode 100644 index 9b4022d4646..00000000000 --- a/account_banking_sepa_direct_debit/wizard/export_sdd.py +++ /dev/null @@ -1,394 +0,0 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# SEPA Direct Debit module for Odoo -# Copyright (C) 2013-2015 Akretion (http://www.akretion.com) -# @author: Alexis de Lattre -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - - -from openerp import models, fields, api, _ -from openerp.exceptions import Warning -from openerp import workflow -from lxml import etree - - -class BankingExportSddWizard(models.TransientModel): - _name = 'banking.export.sdd.wizard' - _inherit = ['banking.export.pain'] - _description = 'Export SEPA Direct Debit File' - - state = fields.Selection([ - ('create', 'Create'), - ('finish', 'Finish'), - ], string='State', readonly=True, default='create') - batch_booking = fields.Boolean( - string='Batch Booking', - help="If true, the bank statement will display only one credit " - "line for all the direct debits of the SEPA file ; if false, " - "the bank statement will display one credit line per direct " - "debit of the SEPA file.") - charge_bearer = fields.Selection([ - ('SLEV', 'Following Service Level'), - ('SHAR', 'Shared'), - ('CRED', 'Borne by Creditor'), - ('DEBT', 'Borne by Debtor'), - ], string='Charge Bearer', required=True, default='SLEV', - help="Following service level : transaction charges are to be " - "applied following the rules agreed in the service level " - "and/or scheme (SEPA Core messages must use this). Shared : " - "transaction charges on the creditor side are to be borne " - "by the creditor, transaction charges on the debtor side are " - "to be borne by the debtor. Borne by creditor : all " - "transaction charges are to be borne by the creditor. Borne " - "by debtor : all transaction charges are to be borne by the debtor.") - nb_transactions = fields.Integer( - string='Number of Transactions', readonly=True) - total_amount = fields.Float(string='Total Amount', readonly=True) - file = fields.Binary(string="File", readonly=True) - filename = fields.Char(string="Filename", readonly=True) - payment_order_ids = fields.Many2many( - 'payment.order', 'wiz_sdd_payorders_rel', 'wizard_id', - 'payment_order_id', string='Payment Orders', readonly=True) - - @api.model - def create(self, vals): - payment_order_ids = self._context.get('active_ids', []) - vals.update({ - 'payment_order_ids': [[6, 0, payment_order_ids]], - }) - return super(BankingExportSddWizard, self).create(vals) - - def _get_previous_bank(self, payline): - previous_bank = False - older_lines = self.env['payment.line'].search([ - ('mandate_id', '=', payline.mandate_id.id), - ('bank_id', '!=', payline.bank_id.id)]) - if older_lines: - previous_date = False - previous_payline = False - for older_line in older_lines: - if hasattr(older_line.order_id, 'date_sent'): - older_line_date = older_line.order_id.date_sent - else: - older_line_date = older_line.order_id.date_done - if (older_line_date and - older_line_date > previous_date): - previous_date = older_line_date - previous_payline = older_line - if previous_payline: - previous_bank = previous_payline.bank_id - return previous_bank - - @api.multi - def create_sepa(self): - """Creates the SEPA Direct Debit file. That's the important code !""" - pain_flavor = self.payment_order_ids[0].mode.type.code - convert_to_ascii = \ - self.payment_order_ids[0].mode.convert_to_ascii - if pain_flavor == 'pain.008.001.02': - bic_xml_tag = 'BIC' - name_maxsize = 70 - root_xml_tag = 'CstmrDrctDbtInitn' - elif pain_flavor == 'pain.008.001.03': - bic_xml_tag = 'BICFI' - name_maxsize = 140 - root_xml_tag = 'CstmrDrctDbtInitn' - elif pain_flavor == 'pain.008.001.04': - bic_xml_tag = 'BICFI' - name_maxsize = 140 - root_xml_tag = 'CstmrDrctDbtInitn' - else: - raise Warning( - _("Payment Type Code '%s' is not supported. The only " - "Payment Type Code supported for SEPA Direct Debit are " - "'pain.008.001.02', 'pain.008.001.03' and " - "'pain.008.001.04'.") % pain_flavor) - gen_args = { - 'bic_xml_tag': bic_xml_tag, - 'name_maxsize': name_maxsize, - 'convert_to_ascii': convert_to_ascii, - 'payment_method': 'DD', - 'file_prefix': 'sdd_', - 'pain_flavor': pain_flavor, - 'pain_xsd_file': - 'account_banking_sepa_direct_debit/data/%s.xsd' % pain_flavor, - } - pain_ns = { - 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', - None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor, - } - xml_root = etree.Element('Document', nsmap=pain_ns) - pain_root = etree.SubElement(xml_root, root_xml_tag) - # A. Group header - group_header_1_0, nb_of_transactions_1_6, control_sum_1_7 = \ - self.generate_group_header_block(pain_root, gen_args) - transactions_count_1_6 = 0 - total_amount = 0.0 - amount_control_sum_1_7 = 0.0 - lines_per_group = {} - # key = (requested_date, priority, sequence type) - # value = list of lines as objects - # Iterate on payment orders - for payment_order in self.payment_order_ids: - total_amount = total_amount + payment_order.total - # Iterate each payment lines - for line in payment_order.bank_line_ids: - transactions_count_1_6 += 1 - priority = line.priority - # The field line.date is the requested payment date - # taking into account the 'date_prefered' setting - # cf account_banking_payment_export/models/account_payment.py - # in the inherit of action_open() - if not line.mandate_id: - raise Warning( - _("Missing SEPA Direct Debit mandate on the " - "bank payment line with partner '%s' " - "(reference '%s').") - % (line.partner_id.name, line.name)) - scheme = line.mandate_id.scheme - if line.mandate_id.state != 'valid': - raise Warning( - _("The SEPA Direct Debit mandate with reference '%s' " - "for partner '%s' has expired.") - % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name)) - if line.mandate_id.type == 'oneoff': - seq_type = 'OOFF' - if line.mandate_id.last_debit_date: - raise Warning( - _("The mandate with reference '%s' for partner " - "'%s' has type set to 'One-Off' and it has a " - "last debit date set to '%s', so we can't use " - "it.") - % (line.mandate_id.unique_mandate_reference, - line.mandate_id.partner_id.name, - line.mandate_id.last_debit_date)) - elif line.mandate_id.type == 'recurrent': - seq_type_map = { - 'recurring': 'RCUR', - 'first': 'FRST', - 'final': 'FNAL', - } - seq_type_label = \ - line.mandate_id.recurrent_sequence_type - assert seq_type_label is not False - seq_type = seq_type_map[seq_type_label] - key = (line.date, priority, seq_type, scheme) - if key in lines_per_group: - lines_per_group[key].append(line) - else: - lines_per_group[key] = [line] - - for (requested_date, priority, sequence_type, scheme), lines in \ - lines_per_group.items(): - # B. Payment info - payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5 = \ - self.generate_start_payment_info_block( - pain_root, - "self.payment_order_ids[0].reference + '-' + " - "sequence_type + '-' + requested_date.replace('-', '') " - "+ '-' + priority", - priority, scheme, sequence_type, requested_date, { - 'self': self, - 'sequence_type': sequence_type, - 'priority': priority, - 'requested_date': requested_date, - }, gen_args) - - self.generate_party_block( - payment_info_2_0, 'Cdtr', 'B', - 'self.payment_order_ids[0].mode.bank_id.partner_id.' - 'name', - 'self.payment_order_ids[0].mode.bank_id.acc_number', - 'self.payment_order_ids[0].mode.bank_id.bank.bic or ' - 'self.payment_order_ids[0].mode.bank_id.bank_bic', - {'self': self}, gen_args) - charge_bearer_2_24 = etree.SubElement(payment_info_2_0, 'ChrgBr') - charge_bearer_2_24.text = self.charge_bearer - creditor_scheme_identification_2_27 = etree.SubElement( - payment_info_2_0, 'CdtrSchmeId') - self.generate_creditor_scheme_identification( - creditor_scheme_identification_2_27, - 'self.payment_order_ids[0].mode.' - 'sepa_creditor_identifier or ' - 'self.payment_order_ids[0].company_id.' - 'sepa_creditor_identifier', - 'SEPA Creditor Identifier', {'self': self}, 'SEPA', gen_args) - transactions_count_2_4 = 0 - amount_control_sum_2_5 = 0.0 - for line in lines: - transactions_count_2_4 += 1 - # C. Direct Debit Transaction Info - dd_transaction_info_2_28 = etree.SubElement( - payment_info_2_0, 'DrctDbtTxInf') - payment_identification_2_29 = etree.SubElement( - dd_transaction_info_2_28, 'PmtId') - end2end_identification_2_31 = etree.SubElement( - payment_identification_2_29, 'EndToEndId') - end2end_identification_2_31.text = self._prepare_field( - 'End to End Identification', 'line.name', - {'line': line}, 35, gen_args=gen_args) - currency_name = self._prepare_field( - 'Currency Code', 'line.currency.name', - {'line': line}, 3, gen_args=gen_args) - instructed_amount_2_44 = etree.SubElement( - dd_transaction_info_2_28, 'InstdAmt', Ccy=currency_name) - instructed_amount_2_44.text = '%.2f' % line.amount_currency - amount_control_sum_1_7 += line.amount_currency - amount_control_sum_2_5 += line.amount_currency - dd_transaction_2_46 = etree.SubElement( - dd_transaction_info_2_28, 'DrctDbtTx') - mandate_related_info_2_47 = etree.SubElement( - dd_transaction_2_46, 'MndtRltdInf') - mandate_identification_2_48 = etree.SubElement( - mandate_related_info_2_47, 'MndtId') - mandate_identification_2_48.text = self._prepare_field( - 'Unique Mandate Reference', - 'line.mandate_id.unique_mandate_reference', - {'line': line}, 35, gen_args=gen_args) - mandate_signature_date_2_49 = etree.SubElement( - mandate_related_info_2_47, 'DtOfSgntr') - mandate_signature_date_2_49.text = self._prepare_field( - 'Mandate Signature Date', - 'line.mandate_id.signature_date', - {'line': line}, 10, gen_args=gen_args) - if sequence_type == 'FRST' and ( - line.mandate_id.last_debit_date or - not line.mandate_id.sepa_migrated): - previous_bank = self._get_previous_bank(line) - if previous_bank or not line.mandate_id.sepa_migrated: - amendment_indicator_2_50 = etree.SubElement( - mandate_related_info_2_47, 'AmdmntInd') - amendment_indicator_2_50.text = 'true' - amendment_info_details_2_51 = etree.SubElement( - mandate_related_info_2_47, 'AmdmntInfDtls') - if previous_bank: - if (previous_bank.bank.bic or - previous_bank.bank_bic) == \ - (line.bank_id.bank.bic or - line.bank_id.bank_bic): - ori_debtor_account_2_57 = etree.SubElement( - amendment_info_details_2_51, 'OrgnlDbtrAcct') - ori_debtor_account_id = etree.SubElement( - ori_debtor_account_2_57, 'Id') - ori_debtor_account_iban = etree.SubElement( - ori_debtor_account_id, 'IBAN') - ori_debtor_account_iban.text = self._validate_iban( - self._prepare_field( - 'Original Debtor Account', - 'previous_bank.acc_number', - {'previous_bank': previous_bank}, - gen_args=gen_args)) - else: - ori_debtor_agent_2_58 = etree.SubElement( - amendment_info_details_2_51, 'OrgnlDbtrAgt') - ori_debtor_agent_institution = etree.SubElement( - ori_debtor_agent_2_58, 'FinInstnId') - ori_debtor_agent_bic = etree.SubElement( - ori_debtor_agent_institution, bic_xml_tag) - ori_debtor_agent_bic.text = self._prepare_field( - 'Original Debtor Agent', - 'previous_bank.bank.bic or ' - 'previous_bank.bank_bic', - {'previous_bank': previous_bank}, - gen_args=gen_args) - ori_debtor_agent_other = etree.SubElement( - ori_debtor_agent_institution, 'Othr') - ori_debtor_agent_other_id = etree.SubElement( - ori_debtor_agent_other, 'Id') - ori_debtor_agent_other_id.text = 'SMNDA' - # SMNDA = Same Mandate New Debtor Agent - elif not line.mandate_id.sepa_migrated: - ori_mandate_identification_2_52 = etree.SubElement( - amendment_info_details_2_51, 'OrgnlMndtId') - ori_mandate_identification_2_52.text = \ - self._prepare_field( - 'Original Mandate Identification', - 'line.mandate_id.' - 'original_mandate_identification', - {'line': line}, - gen_args=gen_args) - ori_creditor_scheme_id_2_53 = etree.SubElement( - amendment_info_details_2_51, 'OrgnlCdtrSchmeId') - self.generate_creditor_scheme_identification( - ori_creditor_scheme_id_2_53, - 'self.payment_order_ids[0].mode.' - 'original_creditor_identifier or ' - 'self.payment_order_ids[0].company_id.' - 'original_creditor_identifier', - 'Original Creditor Identifier', - {'self': self}, 'SEPA', gen_args) - - self.generate_party_block( - dd_transaction_info_2_28, 'Dbtr', 'C', - 'line.partner_id.name', - 'line.bank_id.acc_number', - 'line.bank_id.bank.bic or ' - 'line.bank_id.bank_bic', - {'line': line}, gen_args) - - self.generate_remittance_info_block( - dd_transaction_info_2_28, line, gen_args) - - nb_of_transactions_2_4.text = unicode(transactions_count_2_4) - control_sum_2_5.text = '%.2f' % amount_control_sum_2_5 - nb_of_transactions_1_6.text = unicode(transactions_count_1_6) - control_sum_1_7.text = '%.2f' % amount_control_sum_1_7 - - return self.finalize_sepa_file_creation( - xml_root, total_amount, transactions_count_1_6, gen_args) - - @api.multi - def save_sepa(self): - """Save the SEPA Direct Debit file: mark all payments in the file - as 'sent'. Write 'last debit date' on mandate and set oneoff - mandate to expired. - """ - abmo = self.env['account.banking.mandate'] - for order in self.payment_order_ids: - workflow.trg_validate( - self._uid, 'payment.order', order.id, 'done', self._cr) - self.env['ir.attachment'].create({ - 'res_model': 'payment.order', - 'res_id': order.id, - 'name': self.filename, - 'datas': self.file, - }) - to_expire_mandates = abmo.browse([]) - first_mandates = abmo.browse([]) - all_mandates = abmo.browse([]) - for bline in order.bank_line_ids: - if bline.mandate_id in all_mandates: - continue - all_mandates += bline.mandate_id - if bline.mandate_id.type == 'oneoff': - to_expire_mandates += bline.mandate_id - elif bline.mandate_id.type == 'recurrent': - seq_type = bline.mandate_id.recurrent_sequence_type - if seq_type == 'final': - to_expire_mandates += bline.mandate_id - elif seq_type == 'first': - first_mandates += bline.mandate_id - all_mandates.write( - {'last_debit_date': fields.Date.context_today(self)}) - to_expire_mandates.write({'state': 'expired'}) - first_mandates.write({ - 'recurrent_sequence_type': 'recurring', - 'sepa_migrated': True, - }) - return True diff --git a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml b/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml deleted file mode 100644 index 95117e27094..00000000000 --- a/account_banking_sepa_direct_debit/wizard/export_sdd_view.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - banking.export.sdd.wizard.view - banking.export.sdd.wizard - -
- - - - - - - - - - - -
-
- -
-
- -
-
From d01708e96e837460220eccc7d9a1596b9b6f0954 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 1 Jul 2016 21:01:13 +0200 Subject: [PATCH 19/83] [FIX+IMP] account_banking_sepa_direct_debit: 3 things: * Remove unused POT files * Spanish translation * Fix mandate report layout --- .../account_banking_sepa_direct_debit.pot | 442 -------------- account_banking_sepa_direct_debit/i18n/es.po | 568 +++++------------- .../report_sepa_direct_debit_mandate.xml | 8 +- 3 files changed, 168 insertions(+), 850 deletions(-) delete mode 100644 account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot deleted file mode 100644 index 834613460e2..00000000000 --- a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot +++ /dev/null @@ -1,442 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-31 22:53+0000\n" -"PO-Revision-Date: 2014-10-31 22:53+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action -msgid "

\n" -" Click to create a new SEPA Direct Debit Mandate.\n" -"

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" -"

\n" -" " -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate -msgid "A generic banking mandate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:120 -#, python-format -msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,scheme:0 -msgid "Basic (CORE)" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,batch_booking:0 -#: field:banking.export.sdd.wizard,batch_booking:0 -msgid "Batch Booking" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Creditor" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Debtor" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Cancel" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,charge_bearer:0 -#: field:banking.export.sdd.wizard,charge_bearer:0 -msgid "Charge Bearer" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company -msgid "Companies" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Create" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,create_uid:0 -#: field:banking.export.sdd.wizard,create_uid:0 -msgid "Created by" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,create_date:0 -msgid "Created on" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Draft" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:res.company,sepa_creditor_identifier:0 -msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" -"- your country ISO code (2 letters)\n" -"- a 2-digits checkum\n" -"- a 3-letters business code\n" -"- a country-specific identifier" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,scheme:0 -msgid "Enterprise (B2B)" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:79 -#, python-format -msgid "Error" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:137 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:185 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:193 -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:202 -#, python-format -msgid "Error:" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard -msgid "Export SEPA Direct Debit File" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file:0 -msgid "File" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,filename:0 -#: field:banking.export.sdd.wizard,filename:0 -msgid "Filename" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,recurrent_sequence_type:0 -msgid "Final" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Finish" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,recurrent_sequence_type:0 -msgid "First" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following Service Level" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,charge_bearer:0 -#: help:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form -msgid "General Information" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Generate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.act_banking_export_sdd_payment_order -msgid "Generated SEPA Direct Debit Files" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,create_date:0 -msgid "Generation Date" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,id:0 -#: field:banking.export.sdd.wizard,id:0 -msgid "ID" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,sepa_migrated:0 -msgid "If this field is not active, the mandate section of the next direct debit file that include this mandate will contain the 'Original Mandate Identification' and the 'Original Creditor Scheme Identification'. This is required in a few countries (Belgium for instance), but not in all countries. If this is not required in your country, you should keep this field always active." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd,batch_booking:0 -#: help:banking.export.sdd.wizard,batch_booking:0 -msgid "If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:80 -#, python-format -msgid "Invalid SEPA Creditor Identifier." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,write_uid:0 -#: field:banking.export.sdd.wizard,write_uid:0 -msgid "Last Updated by" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,write_date:0 -#: field:banking.export.sdd.wizard,write_date:0 -msgid "Last Updated on" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:119 -#, python-format -msgid "Mandate update" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,sepa_migrated:0 -msgid "Migrated to SEPA" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:186 -#, python-format -msgid "Missing SEPA Direct Debit mandate on the payment line with partner '%s' and Invoice ref '%s'." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,nb_transactions:0 -#: field:banking.export.sdd.wizard,nb_transactions:0 -msgid "Number of Transactions" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search -#: selection:account.banking.mandate,type:0 -msgid "One-Off" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:res.company,original_creditor_identifier:0 -msgid "Original Creditor Identifier" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,original_mandate_identification:0 -msgid "Original Mandate Identification" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required -msgid "Original Mandate Required (SEPA)" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form -#: field:banking.export.sdd,payment_order_ids:0 -#: field:banking.export.sdd.wizard,payment_order_ids:0 -msgid "Payment Orders" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:138 -#, python-format -msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search -#: selection:account.banking.mandate,type:0 -msgid "Recurrent" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,recurrent_sequence_type:0 -msgid "Recurring" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file_id:0 -msgid "SDD File" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form -#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree -msgid "SDD Mandates" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:res.company,sepa_creditor_identifier:0 -msgid "SEPA Creditor Identifier" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_form -#: view:banking.export.sdd:account_banking_sepa_direct_debit.view_banking_export_sdd_tree -msgid "SEPA Direct Debit" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.action_account_banking_sdd -#: model:ir.ui.menu,name:account_banking_sepa_direct_debit.menu_account_banking_sdd -msgid "SEPA Direct Debit Files" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "SEPA Direct Debit XML file generation" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd -msgid "SEPA Direct Debit export" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,file:0 -msgid "SEPA File" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,scheme:0 -msgid "Scheme" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,state:0 -msgid "Sent" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,recurrent_sequence_type:0 -msgid "Sequence Type for Next Debit" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final -msgid "Sequence Type set to Final" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first -msgid "Sequence Type set to First" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -msgid "Sequence Type set to Recurring" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd,charge_bearer:0 -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Shared" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,state:0 -#: field:banking.export.sdd.wizard,state:0 -msgid "State" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:194 -#, python-format -msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:203 -#, python-format -msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 -#, python-format -msgid "The recurrent mandate '%s' must have a sequence type." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:95 -#, python-format -msgid "The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must have its recurrent sequence type set to 'First'." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,recurrent_sequence_type:0 -msgid "This field is only used for Recurrent mandates, not for One-Off mandates." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd,total_amount:0 -#: field:banking.export.sdd.wizard,total_amount:0 -msgid "Total Amount" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree -msgid "Type" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,type:0 -msgid "Type of Mandate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Validate" -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,original_mandate_identification:0 -msgid "When the field 'Migrated to SEPA' is not active, this field will be used as the Original Mandate Identification in the Direct Debit file." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:105 -#, python-format -msgid "You must set the 'Original Mandate Identification' on the recurrent mandate '%s' which is not marked as 'Migrated to SEPA'." -msgstr "" - diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 8f64295d1e1..30331037524 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -1,387 +1,253 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit -# -# Translators: +# * account_banking_sepa_direct_debit +# msgid "" msgstr "" -"Project-Id-Version: bank-payment (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-08 00:46+0000\n" -"PO-Revision-Date: 2016-04-07 16:04+0000\n" -"Last-Translator: OCA Transbot \n" -"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n" +"POT-Creation-Date: 2016-07-01 19:00+0000\n" +"PO-Revision-Date: 2016-07-01 19:00+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: \n" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,help:account_banking_sepa_direct_debit.mandate_action -msgid "" -"

\n" -" Click to create a new SEPA Direct Debit Mandate.\n" -"

\n" -" A SEPA Direct Debit Mandate is a document signed by your customer that gives you the autorization to do one or several direct debits on his bank account.\n" -"

\n" -" " -msgstr "

\n Pulse para crear un nuevo mandato bancario.\n

\n Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n

\n " +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "Número de cuenta - IBAN:" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate -msgid "A generic banking mandate" -msgstr "Un mandato bancario genérico" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "Dirección del deudor:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "" -"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " -"CREDITOR FOR STORAGE." -msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "Dirección:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "" -"ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" -" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" -" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." -msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN." +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" +msgstr "País del deudor:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Account Number - IBAN:" -msgstr "Número de cuenta - IBAN:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "País:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Address of the Debtor:" -msgstr "Dirección del deudor:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "Nombre del acreedor:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Address:" -msgstr "Dirección:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "Fecha - Localidad:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "" -"As part of your rights, you are entitled to a refund from\n" -" your bank under the terms and conditions of your agreement\n" -" with your bank.\n" -" A refund must be claimed within 8 weeks starting from the date on which your account was debited." -msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera." +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "Nombre del deudor:" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:116 -#, python-format -msgid "" -"As you changed the bank account attached to this mandate, the 'Sequence " -"Type' has been set back to 'First'." -msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'." +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "Identificador:" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line -msgid "Bank Payment Lines" -msgstr "Lineas de pago bancario" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "Referencia del mandato:" #. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,scheme:0 -msgid "Basic (CORE)" -msgstr "Básico (CORE)" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" +msgstr "Código postal - Población - Provincia:" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,batch_booking:0 -msgid "Batch Booking" -msgstr "Registro en lote" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "Firma del deudor:" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Creditor" -msgstr "A cargo del acreedor" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Swift BIC (up to 8 or 11 characteres):" +msgstr "Swift BIC (puede contener 8 u 11 posiciones):" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Borne by Debtor" -msgstr "A cargo del deudor" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "Tipo de pago:" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "By signing this mandate form, you authorise (A)" -msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) " +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "A cumplimentar por el acreedor" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Cancel" -msgstr "Cancelar" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "A cumplimentar por el deudor" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,charge_bearer:0 -msgid "Charge Bearer" -msgstr "A cargo del portador" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Business-To-Business Direct debit Mandate" +msgstr "Orden de domiciliación de adeudo directo SEPA B2B" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company -msgid "Companies" -msgstr "Compañías" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +msgstr "Mandato de adeudo directo SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_banking_mandate +msgid "A generic banking mandate" +msgstr "Un mandato bancario genérico" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Country of the debtor:" -msgstr "País del deudor:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE." +msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Country:" -msgstr "País:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO CREDITOR FOR STORAGE.\n" +" NEVERTHELESS, THE BANK OF DEBTOR REQUIRES DEBTOR’S AUTHORIZATION BEFORE DEBITING B2B DIRECT DEBITS IN THE ACCOUNT.\n" +" THE DEBTOR WILL BE ABLE TO MANAGE THE MENTIONED AUTHORIZATION THROUGH THE MEANS PROVIDED BY HIS BANK." +msgstr "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE. UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA.LA ENTIDAD DE DEUDOR REQUIERE AUTORIZACIÓN DE ÉSTE PREVIA AL CARGO EN CUENTA DE LOS ADEUDOS DIRECTOS B2B.EL DEUDOR PODRÁ GESTIONAR DICHA AUTORIZACIÓN CON LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN." #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Create" -msgstr "Crear" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "As part of your rights, you are entitled to a refund from\n" +" your bank under the terms and conditions of your agreement\n" +" with your bank.\n" +" A refund must be claimed within 8 weeks starting from the date on which your account was debited." +msgstr "Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que siguen a la fecha de adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera." #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,create_uid:0 -msgid "Created by" -msgstr "Creado por" +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." +msgstr "Puesto que ha cambiado la cuenta bancaria relacionada con este mandato, el 'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,create_date:0 -msgid "Created on" -msgstr "Creado en" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line +msgid "Bank Payment Lines" +msgstr "Líneas de pago bancario" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Creditor's Name:" -msgstr "Nombre del acreedor:" +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "Básico (CORE)" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Date - Location:" -msgstr "Fecha - Localidad:" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "By signing this mandate form, you authorise (A)" +msgstr "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) " #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Debtor's Name:" -msgstr "Nombre del deudor:" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company +msgid "Companies" +msgstr "Compañías" #. module: account_banking_sepa_direct_debit -#: help:payment.mode,sepa_creditor_identifier:0 -msgid "" -"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. If not defined, SEPA Creditor Identifier from company will be used.\n" "This identifier is composed of :\n" "- your country ISO code (2 letters)\n" "- a 2-digits checkum\n" "- a 3-letters business code\n" "- a country-specific identifier" -msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)" +msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n" +"- el código ISO de 2 letras de su país\n" +"- dos dígitos de comprobación\n" +"- tres letras de código de negocio\n" +"- un identificador específico de país (en España, el NIF)" #. module: account_banking_sepa_direct_debit -#: help:res.company,sepa_creditor_identifier:0 -msgid "" -"Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier +msgid "Enter the Creditor Identifier that has been attributed to your company to make SEPA Direct Debits. This identifier is composed of :\n" "- your country ISO code (2 letters)\n" "- a 2-digits checkum\n" "- a 3-letters business code\n" "- a country-specific identifier" -msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n- el código ISO de 2 letras de su país\n- dos dígitos de comprobación\n- tres letras de código de negocio\n- un identificador específico de país (en España, el NIF)" +msgstr "Introduzca el identificador de acreedor que se le ha atribuido a su compañía para realizar adeudos directos SEPA. Su banco suele poseer esta información. Este identificador se compone de:\n" +"- el código ISO de 2 letras de su país\n" +"- dos dígitos de comprobación\n" +"- tres letras de código de negocio\n" +"- un identificador específico de país (en España, el NIF)" #. module: account_banking_sepa_direct_debit #: selection:account.banking.mandate,scheme:0 msgid "Enterprise (B2B)" msgstr "Empresa (B2B)" -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:42 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:32 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_banking_export_sdd_wizard -msgid "Export SEPA Direct Debit File" -msgstr "Exportar archivo de adeudo directo SEPA" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,file:0 -msgid "File" -msgstr "Archivo" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,filename:0 -msgid "Filename" -msgstr "Nombre de archivo" - #. module: account_banking_sepa_direct_debit #: selection:account.banking.mandate,recurrent_sequence_type:0 msgid "Final" msgstr "Final" -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,state:0 -msgid "Finish" -msgstr "Finalizar" - #. module: account_banking_sepa_direct_debit #: selection:account.banking.mandate,recurrent_sequence_type:0 msgid "First" msgstr "Inicial" #. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Following Service Level" -msgstr "Según el acuerdo de servicio" - -#. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd.wizard,charge_bearer:0 -msgid "" -"Following service level : transaction charges are to be applied following " -"the rules agreed in the service level and/or scheme (SEPA Core messages must" -" use this). Shared : transaction charges on the creditor side are to be " -"borne by the creditor, transaction charges on the debtor side are to be " -"borne by the debtor. Borne by creditor : all transaction charges are to be " -"borne by the creditor. Borne by debtor : all transaction charges are to be " -"borne by the debtor." -msgstr "Según el acuerdo de servicio: los costes de la transacción se aplicarán siguiendo las reglas acordadas en el nivel de servicio y/o en el esquema (las remesas SEPA Core deben usar esta opción). Compartidos: los costes de la transacción en la parte del acreedor están a cargo del acreedor, y los costes de la transacción del lado del deudor estarán a cargo del deudor. A cargo del acreedor: todos los costes de la transacción estarán a cargo del acreedor. A cargo del deudor: Todos los costes de la transacción estarán a cargo del deudor." - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Generate" -msgstr "Generar" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,id:0 -msgid "ID" -msgstr "ID" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Identifier:" -msgstr "Identificador:" - -#. module: account_banking_sepa_direct_debit -#: help:payment.mode,original_creditor_identifier:0 -msgid "" -"If not defined, Original Creditor Identifier from company will be used." -msgstr "" - -#. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,sepa_migrated:0 -msgid "" -"If this field is not active, the mandate section of the next direct debit " -"file that include this mandate will contain the 'Original Mandate " -"Identification' and the 'Original Creditor Scheme Identification'. This is " -"required in a few countries (Belgium for instance), but not in all " -"countries. If this is not required in your country, you should keep this " -"field always active." -msgstr "Si este campo no está marcado, la sección 'mandato' del próximo archivo de adeudo directo que lo incluya contendrá el valor de los campos 'Identificación del mandato original' y 'Identificación del esquema original del acreedor'. Esto se requiere en algunos países (Bélgica por ejemplo), pero no en todos ellos. Si no es un requisito en su país, este campo siempre debe estar marcado." - -#. module: account_banking_sepa_direct_debit -#: help:banking.export.sdd.wizard,batch_booking:0 -msgid "" -"If true, the bank statement will display only one credit line for all the " -"direct debits of the SEPA file ; if false, the bank statement will display " -"one credit line per direct debit of the SEPA file." -msgstr "Si está marcado, el extracto bancario mostrará sólo una línea del haber para todos los adeudos directos del archivo SEPA; si no está marcado, entonces el extracto bancario mostrará una línea por cada adeudo directo del archivo SEPA." - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/payment_mode.py:43 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 -#, python-format -msgid "Invalid SEPA Creditor Identifier." -msgstr "Identificador de acreedor SEPA no válido." - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,write_uid:0 -msgid "Last Updated by" -msgstr "Última actualización por" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,write_date:0 -msgid "Last Updated on" -msgstr "Última actualización en" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Mandate Reference:" -msgstr "Referencia del mandato:" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:115 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "Actualizacion de mandato" #. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,sepa_migrated:0 -msgid "Migrated to SEPA" -msgstr "Migrado a SEPA" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:159 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:98 #, python-format -msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." -msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario con la empresa '%s' (referencia '%s')." +msgid "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')." +msgstr "Falta el mandato de adeudo directo SEPA en la linea de pago bancario de la empresa '%s' (referencia '%s')." #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,nb_transactions:0 -msgid "Number of Transactions" -msgstr "Nº de transacciones" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search #: selection:account.banking.mandate,type:0 -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "Único" #. module: account_banking_sepa_direct_debit -#: field:payment.mode,original_creditor_identifier:0 -#: field:res.company,original_creditor_identifier:0 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_company_original_creditor_identifier msgid "Original Creditor Identifier" msgstr "Identificador del acreedor original" #. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,original_mandate_identification:0 -msgid "Original Mandate Identification" -msgstr "Identificación del mandato original" - -#. module: account_banking_sepa_direct_debit -#: model:res.groups,name:account_banking_sepa_direct_debit.group_original_mandate_required -msgid "Original Mandate Required (SEPA)" -msgstr "Mandato original requerido (SEPA)" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method +msgid "Payment Methods" +msgstr "Métodos de pago" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_payment_mode -msgid "Payment Mode" -msgstr "Modo de pago" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_mode +msgid "Payment Modes" +msgstr "Métodos de pago" #. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,payment_order_ids:0 -msgid "Payment Orders" -msgstr "Órdenes de pago" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_order +msgid "Payment Order" +msgstr "Orden de pago" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:117 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:62 #, python-format -msgid "" -"Payment Type Code '%s' is not supported. The only Payment Type Code " -"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and" -" 'pain.008.001.04'." +msgid "Payment Type Code '%s' is not supported. The only Payment Type Code supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and 'pain.008.001.04'." msgstr "El código de tipo de pago '%s' no está soportado. Los únicos códigos de tipo de pago soportados para los adedudos directos SEPA son 'pain.008.001.02', 'pain.008.001.03' y 'pain.008.001.04'." #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Postal Code - City - Town:" -msgstr "Código postal - Población - Provincia:" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search #: selection:account.banking.mandate,type:0 -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "Recurrente" @@ -391,198 +257,96 @@ msgid "Recurring" msgstr "Periódico" #. module: account_banking_sepa_direct_debit -#: view:res.partner:account_banking_sepa_direct_debit.sdd_mandate_partner_form -#: view:res.partner.bank:account_banking_sepa_direct_debit.sdd_mandate_partner_bank_tree -msgid "SDD Mandates" -msgstr "Mandatos SDD" - -#. module: account_banking_sepa_direct_debit -#: field:payment.mode,sepa_creditor_identifier:0 -#: field:res.company,sepa_creditor_identifier:0 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "Identificador de acreedor SEPA" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.act_window,name:account_banking_sepa_direct_debit.mandate_action -msgid "SEPA Direct Debit Mandates" -msgstr "Mandatos de adeudos directos SEPA" - -#. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "SEPA Direct Debit XML file generation" -msgstr "Generación del archivo XML de adeudo directo SEPA" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search -#: field:account.banking.mandate,scheme:0 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_scheme +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "Esquema" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Sepa Business-To-Business Direct debit Mandate" -msgstr "Orden de domiciliación de adeudo directo SEPA B2B" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Sepa Direct Debit Mandate" -msgstr "Mandatos de adeudos directos SEPA" - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:35 #: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate -#, python-format msgid "Sepa Mandate" msgstr "Mandato SEPA" #. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "Tipo de secuencia" #. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,recurrent_sequence_type:0 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type msgid "Sequence Type for Next Debit" msgstr "Tipo de secuencia para el próximo cobro" #. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_final -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_final -msgid "Sequence Type set to Final" -msgstr "Tipo de secuencia establecida a 'Final'" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_first -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_first -msgid "Sequence Type set to First" -msgstr "Tipo de secuencia establecida a 'Inicial'" - -#. module: account_banking_sepa_direct_debit -#: model:mail.message.subtype,description:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -#: model:mail.message.subtype,name:account_banking_sepa_direct_debit.recurrent_sequence_type_recurring -msgid "Sequence Type set to Recurring" -msgstr "Tipo de secuencia establecida a 'Recurrente'" - -#. module: account_banking_sepa_direct_debit -#: selection:banking.export.sdd.wizard,charge_bearer:0 -msgid "Shared" -msgstr "Compartidos" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Signature of the debtor:" -msgstr "Firma del deudor:" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,state:0 -msgid "State" -msgstr "Estado" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Swift BIC (up to 8 or 11 characteres):" -msgstr "Swift BIC (puede contener 8 u 11 posiciones):" +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:39 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:33 +#, python-format +msgid "The SEPA Creditor Identifier '%s' is invalid." +msgstr "Identificador de acreedor SEPA no válido." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:166 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:105 #, python-format -msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." msgstr "El mandato de adeudo directo SEPA con referencia '%s' para la empresa '%s' ha expirado." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/wizard/export_sdd.py:174 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:113 #, python-format -msgid "" -"The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " -"and it has a last debit date set to '%s', so we can't use it." +msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' and it has a last debit date set to '%s', so we can't use it." msgstr "El mandato con referencia '%s' para la empresa '%s' tipo como 'Único', ya tiene como fecha de último cobro '%s', por lo que no se puede usar." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:48 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "El mandato periódico '%s' debe tener un tipo de secuencia." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:86 -#, python-format -msgid "" -"The recurrent mandate '%s' which is not marked as 'Migrated to SEPA' must " -"have its recurrent sequence type set to 'First'." -msgstr "El mandato periódico '%s', que no está marcado como 'Migrado a SEPA', debe establecer su tipo de secuencia a 'Inicial'." - -#. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,recurrent_sequence_type:0 -msgid "" -"This field is only used for Recurrent mandates, not for One-Off mandates." +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +msgid "This field is only used for Recurrent mandates, not for One-Off mandates." msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos." #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "" -"This mandate is only intended for business-to-business transactions.\n" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "This mandate is only intended for business-to-business transactions.\n" " You are not entitled to a refund from your bank after your account has\n" " been debited, but you are entitled to request your bank\n" " not to debit your account up until the day on which the payment is due." msgstr "Esta orden de domiciliación está prevista para operaciones exclusivamente entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le reembolse una vez que se haya realizado el cargo en cuenta, pero puede solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha debida. Podrá obtener información detallada del procedimiento en su entidad financiera." #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "To be completed by the creditor" -msgstr "A cumplimentar por el acreedor" - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "To be completed by the debtor" -msgstr "A cumplimentar por el deudor" - -#. module: account_banking_sepa_direct_debit -#: field:banking.export.sdd.wizard,total_amount:0 -msgid "Total Amount" -msgstr "Importe total" - -#. module: account_banking_sepa_direct_debit -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_search -#: view:account.banking.mandate:account_banking_sepa_direct_debit.sdd_mandate_tree +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Tipo" #. module: account_banking_sepa_direct_debit -#: field:account.banking.mandate,type:0 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_type msgid "Type of Mandate" msgstr "Tipo de mandato" #. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "Type of payment:" -msgstr "Tipo de pago" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +msgid "Write the ICS of your company" +msgstr "Escriba el IAS de su compañía" #. module: account_banking_sepa_direct_debit -#: view:banking.export.sdd.wizard:account_banking_sepa_direct_debit.banking_export_sdd_wizard_view -msgid "Validate" -msgstr "Validar" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_config_settings +msgid "account.config.settings" +msgstr "account.config.settings" #. module: account_banking_sepa_direct_debit -#: help:account.banking.mandate,original_mandate_identification:0 -msgid "" -"When the field 'Migrated to SEPA' is not active, this field will be used as " -"the Original Mandate Identification in the Direct Debit file." -msgstr "Cuando el campo 'Migrado a SEPA' no está marcado, este campo se usa como identificación del mandato original en el archivo de adeudo directo." - -#. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:98 -#, python-format -msgid "" -"You must set the 'Original Mandate Identification' on the recurrent mandate " -"'%s' which is not marked as 'Migrated to SEPA'." -msgstr "Debe establecer el campo 'Identificación de mandato original en el mandato periódico '%s', que no está marcado como 'Migrado a SEPA'." - -#. module: account_banking_sepa_direct_debit -#: view:website:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document -msgid "" -"to send instructions to your bank to debit your account and (B) your bank to\n" +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "to send instructions to your bank to debit your account and (B) your bank to\n" " debit your account in accordance with the instructions from" msgstr "a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor " + diff --git a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml index c71a2083b4d..13ed7290cb0 100644 --- a/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml +++ b/account_banking_sepa_direct_debit/views/report_sepa_direct_debit_mandate.xml @@ -1,9 +1,7 @@ - - + From c3f93c26b4d690f8376de45e0e008791870b4a19 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Mon, 9 Apr 2018 11:54:59 +0200 Subject: [PATCH 30/83] [10.0][FIX] Split account move generated for SEPA direct debits per sequence_type (#464) The sequence_type of mandates switches from First to Recurring: - BEFORE: when state switched from 'open' to 'generated' - NOW: when state switches from 'generated' to 'uploaded' --- .../__manifest__.py | 2 +- .../account_banking_sepa_direct_debit.pot | 353 ++++++++++++++++++ account_banking_sepa_direct_debit/i18n/de.po | 58 ++- account_banking_sepa_direct_debit/i18n/es.po | 92 +++-- account_banking_sepa_direct_debit/i18n/fr.po | 95 +++-- account_banking_sepa_direct_debit/i18n/hr.po | 96 +++-- .../i18n/nb_NO.po | 113 +++--- account_banking_sepa_direct_debit/i18n/nl.po | 100 +++-- .../i18n/pt_BR.po | 104 ++++-- account_banking_sepa_direct_debit/i18n/sl.po | 93 +++-- .../models/account_payment_order.py | 66 ++-- 11 files changed, 875 insertions(+), 297 deletions(-) create mode 100644 account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot diff --git a/account_banking_sepa_direct_debit/__manifest__.py b/account_banking_sepa_direct_debit/__manifest__.py index 9e0020a7ef4..29d972180ef 100644 --- a/account_banking_sepa_direct_debit/__manifest__.py +++ b/account_banking_sepa_direct_debit/__manifest__.py @@ -7,7 +7,7 @@ { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '11.0.1.0.1', + 'version': '11.0.1.0.2', 'license': 'AGPL-3', 'author': "Akretion, " "Tecnativa, " diff --git a/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot new file mode 100644 index 00000000000..7b28cb752a8 --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/account_banking_sepa_direct_debit.pot @@ -0,0 +1,353 @@ +# 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 11.0\n" +"Report-Msgid-Bugs-To: \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.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:268 +#, python-format +msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." +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 "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. 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 +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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 "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +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:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#, python-format +msgid "Mandate update" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#, 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 +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method +msgid "Payment Methods" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_order +msgid "Payment Order" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:41 +#, 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 +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,recurrent_sequence_type:0 +msgid "Recurring" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +msgid "SEPA Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:account.payment.method,name:account_banking_sepa_direct_debit.sepa_direct_debit +msgid "SEPA Direct Debit for customers" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:account.payment.mode,name:account_banking_sepa_direct_debit.payment_mode_inbound_sepa_dd1 +msgid "SEPA Direct Debit of customers" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +msgid "Sepa Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.server,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron_ir_actions_server +#: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +#: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +msgid "Set SEPA Direct Debit Mandates to Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#, python-format +msgid "The SEPA Creditor Identifier '%s' is invalid." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, 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/models/account_payment_order.py:93 +#, 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:49 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. 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 "" + +#. 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 "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +msgid "Write the ICS of your company" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "res.config.settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + diff --git a/account_banking_sepa_direct_debit/i18n/de.po b/account_banking_sepa_direct_debit/i18n/de.po index 451af09b353..69d570f70df 100644 --- a/account_banking_sepa_direct_debit/i18n/de.po +++ b/account_banking_sepa_direct_debit/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-11-23 03:38+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit @@ -113,18 +113,23 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +"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 #: 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" +" 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." +" 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 @@ -135,6 +140,15 @@ msgid "" "Type' has been set back to 'First'." msgstr "" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -158,7 +172,9 @@ msgstr "Unternehmen" #. module: account_banking_sepa_direct_debit #: 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" +"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" @@ -170,7 +186,8 @@ msgstr "" #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" @@ -202,8 +219,8 @@ msgstr "" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" #. module: account_banking_sepa_direct_debit @@ -232,8 +249,8 @@ msgstr "Zahlungsauftrag" #, 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'." +"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 @@ -332,9 +349,12 @@ msgstr "" #: 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." +" 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 @@ -366,6 +386,8 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 0e7bce60a51..9baea9c1ff9 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-11-23 03:38+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\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" #. module: account_banking_sepa_direct_debit @@ -109,33 +109,38 @@ 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." +"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 #: 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." +"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." +"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 #: 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" +" 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." +" 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 " +"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." @@ -149,6 +154,15 @@ 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -173,14 +187,18 @@ msgstr "Compañías" #. module: account_banking_sepa_direct_debit #: 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" +"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" +"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" @@ -190,13 +208,16 @@ msgstr "" #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" +"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" @@ -227,8 +248,8 @@ msgstr "Actualizacion de mandato" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%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 de la " "empresa '%s' (referencia '%s')." @@ -259,11 +280,11 @@ msgstr "Orden 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'." +"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', " +"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 @@ -366,13 +387,16 @@ msgstr "Este campo se utiliza sólo para mandatos periódicos, no para únicos." #: 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." +" 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 " +"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." @@ -406,8 +430,10 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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 " diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index b2aafba39af..a2ee68da7a4 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2017 # Nicolas JEUDY , 2018 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2018-02-10 02:10+0000\n" "Last-Translator: Nicolas JEUDY , 2018\n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_banking_sepa_direct_debit @@ -110,27 +110,35 @@ msgid "" "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " "CREDITOR FOR STORAGE." msgstr "" -"TOUS LES CHAMPS SONT OBLIGATOIRES. UNE FOIS CE MANDAT SIGNÉ DOIT ÊTRE ENVOYÉ" -" AU CRÉANCIER POUR CONSERVATION." +"TOUS LES CHAMPS SONT OBLIGATOIRES. UNE FOIS CE MANDAT SIGNÉ DOIT ÊTRE ENVOYÉ " +"AU CRÉANCIER POUR CONSERVATION." #. module: account_banking_sepa_direct_debit #: 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." +"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 "" -"TOUS LES CHAMPS SONT OBLIGATOIRES. UNE FOIS CE MANDAT SIGNÉ Il DOIT ÊTRE ENVOYÉ AU CRÉANCIER POUR ARCHIVAGE.\n" -"NÉANMOINS, LA BANQUE DU DÉBITEUR EXIGE L'AUTORISATION DU DÉBITEUR AVANT DE POUVOIR DÉBITER UN PRÉLÈVEMENTS B2B SUR LE COMPTE.\n" -"LE DÉBITEUR POURRA GÉRER L'AUTORISATION SUSMENTIONNÉE PAR LES MOYENS MIS À SA DISPOSITION PAR SA BANQUE." +"TOUS LES CHAMPS SONT OBLIGATOIRES. UNE FOIS CE MANDAT SIGNÉ Il DOIT ÊTRE " +"ENVOYÉ AU CRÉANCIER POUR ARCHIVAGE.\n" +"NÉANMOINS, LA BANQUE DU DÉBITEUR EXIGE L'AUTORISATION DU DÉBITEUR AVANT DE " +"POUVOIR DÉBITER UN PRÉLÈVEMENTS B2B SUR LE COMPTE.\n" +"LE DÉBITEUR POURRA GÉRER L'AUTORISATION SUSMENTIONNÉE PAR LES MOYENS MIS À " +"SA DISPOSITION PAR SA BANQUE." #. module: account_banking_sepa_direct_debit #: 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" +" 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." +" A refund must be claimed within 8 weeks starting " +"from the date on which your account was debited." msgstr "" "Dans le cadre de vos droits, vous avez la possibilité d'obtenir un " "remboursement de votre banque selon les termes et conditions de votre " @@ -147,6 +155,15 @@ 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -170,14 +187,18 @@ msgstr "Sociétés" #. module: account_banking_sepa_direct_debit #: 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" +"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 "" -"Saisissez le code d'identification du créancier qui a été attribué à votre entreprise pour effectuer les prélèvements SEPA. S'il n'est pas défini, l'Identifiant SEPA du créancier de la société sera utilisé.\n" +"Saisissez le code d'identification du créancier qui a été attribué à votre " +"entreprise pour effectuer les prélèvements SEPA. S'il n'est pas défini, " +"l'Identifiant SEPA du créancier de la société sera utilisé.\n" "Cet identifiant est composé de:\n" "- votre code ISO pays (2 lettres)\n" "- un checksum à 2 chiffres\n" @@ -188,13 +209,15 @@ msgstr "" #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" +"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" @@ -225,11 +248,11 @@ msgstr "Mise-à-jour du mandat" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" -"Absence du mandat de prélèvement SEPA sur la ligne de paiement bancaire avec" -" le partenaire' %s' (référence'%s')." +"Absence du mandat de prélèvement SEPA sur la ligne de paiement bancaire avec " +"le partenaire' %s' (référence'%s')." #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -257,11 +280,11 @@ msgstr "Ordre de paiement" #, 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'." +"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', " +"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 @@ -345,9 +368,8 @@ 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." +"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:49 @@ -360,16 +382,19 @@ msgstr "Le mandat récurrent '%s' doit avoir un type de séquence." 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." +"Ce champ n'est utilisé que pour les mandats récurrents, pas pour les mandats " +"One-Off." #. module: account_banking_sepa_direct_debit #: model:ir.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." +" 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 "" "Ce mandat est uniquement destiné aux transactions interentreprises. Vous " "n'avez pas droit à un remboursement de votre banque après que votre compte " @@ -405,8 +430,10 @@ msgstr "res.config.settings" #. module: account_banking_sepa_direct_debit #: 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" +"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 "" "à envoyer des instructions à votre banque pour débiter votre compte et (B) " "votre banque à débiter votre compte conformément aux instructions du" diff --git a/account_banking_sepa_direct_debit/i18n/hr.po b/account_banking_sepa_direct_debit/i18n/hr.po index 70456cb6f2e..53070c320d9 100644 --- a/account_banking_sepa_direct_debit/i18n/hr.po +++ b/account_banking_sepa_direct_debit/i18n/hr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: msgid "" msgstr "" @@ -10,12 +10,14 @@ msgstr "" "POT-Creation-Date: 2017-06-03 00:10+0000\n" "PO-Revision-Date: 2016-10-19 23:46+0000\n" "Last-Translator: <>\n" -"Language-Team: Croatian (http://www.transifex.com/oca/OCA-bank-payment-10-0/language/hr/)\n" +"Language-Team: Croatian (http://www.transifex.com/oca/OCA-bank-payment-10-0/" +"language/hr/)\n" +"Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -112,28 +114,42 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +"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 #: 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" +" 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." +" 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:76 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 #, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -157,7 +173,9 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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" @@ -166,10 +184,11 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" @@ -192,7 +211,7 @@ msgid "First" msgstr "" #. 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:78 #, python-format msgid "Mandate update" msgstr "" @@ -201,12 +220,11 @@ msgstr "" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,type:0 #: 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" @@ -232,12 +250,11 @@ msgstr "Nalog za plaćanje" #, 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'." +"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 -#: selection:account.banking.mandate,type:0 #: 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" @@ -249,9 +266,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -272,7 +289,7 @@ msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +#: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" @@ -288,7 +305,14 @@ msgid "Sequence Type for Next Debit" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:39 +#: model:ir.actions.server,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron_ir_actions_server +#: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +#: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +msgid "Set SEPA Direct Debit Mandates to Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 #: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." @@ -311,7 +335,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:48 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" @@ -326,9 +350,12 @@ msgstr "" #: 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." +" 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 @@ -347,24 +374,21 @@ msgstr "" msgid "Type" msgstr "" -#. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_type -msgid "Type of Mandate" -msgstr "" - #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_config_settings -msgid "account.config.settings" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "res.config.settings" msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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/nb_NO.po b/account_banking_sepa_direct_debit/i18n/nb_NO.po index de67cabafc1..e39e16e31b2 100644 --- a/account_banking_sepa_direct_debit/i18n/nb_NO.po +++ b/account_banking_sepa_direct_debit/i18n/nb_NO.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # Imre Kristoffer Eilertsen , 2016 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2016-07-30 07:37+0000\n" "PO-Revision-Date: 2016-07-30 07:37+0000\n" "Last-Translator: Imre Kristoffer Eilertsen , 2016\n" -"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit @@ -113,28 +114,42 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +"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 #: 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" +" 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." +" 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:76 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 #, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -158,7 +173,9 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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" @@ -167,10 +184,11 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" @@ -193,31 +211,25 @@ msgid "First" msgstr "" #. 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:78 #, python-format msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:98 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,type:0 #: 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 "" -#. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_company_original_creditor_identifier -msgid "Original Creditor Identifier" -msgstr "" - #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -234,16 +246,15 @@ msgid "Payment Order" msgstr "Betalingsordre" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:62 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:41 #, 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'." +"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 -#: selection:account.banking.mandate,type:0 #: 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" @@ -255,12 +266,17 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:account.payment.method,name:account_banking_sepa_direct_debit.sepa_direct_debit +msgid "SEPA Direct Debit for customers" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:account.payment.mode,name:account_banking_sepa_direct_debit.payment_mode_inbound_sepa_dd1 msgid "SEPA Direct Debit of customers" @@ -273,7 +289,7 @@ msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +#: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" @@ -289,14 +305,21 @@ msgid "Sequence Type for Next Debit" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.actions.server,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron_ir_actions_server +#: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +#: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +msgid "Set SEPA Direct Debit Mandates to Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:105 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 #, python-format msgid "" "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " @@ -304,7 +327,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:113 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 #, python-format msgid "" "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " @@ -312,7 +335,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:48 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" @@ -327,9 +350,12 @@ msgstr "" #: 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." +" 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 @@ -348,24 +374,21 @@ msgstr "" msgid "Type" msgstr "" -#. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_type -msgid "Type of Mandate" -msgstr "" - #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_config_settings -msgid "account.config.settings" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "res.config.settings" msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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 bcdf15ecfdf..e7d00334833 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2017 # Melroy van den Berg , 2018 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2018-01-04 15:36+0000\n" "Last-Translator: Melroy van den Berg , 2018\n" "Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit @@ -110,30 +110,40 @@ msgid "" "ALL GAPS ARE MANDATORY. ONCE THIS MANDATE HAS BEEN SIGNED MUST BE SENT TO " "CREDITOR FOR STORAGE." msgstr "" -"ALL LEGE VELDEN ZIJN VERPLICHT. WANNEER ONDERTEKEND MOET DIT MANDAAT NAAR DE" -" CREDITEUR GESTUURD WORDEN VOOR ADMINISTRATIE/" +"ALL LEGE VELDEN ZIJN VERPLICHT. WANNEER ONDERTEKEND MOET DIT MANDAAT NAAR DE " +"CREDITEUR GESTUURD WORDEN VOOR ADMINISTRATIE/" #. module: account_banking_sepa_direct_debit #: 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." +"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 LEGE VELDEN ZIJN VERPLICHT. WANNEER ONDERTEKEND MOET DIT MANDAAT NAAR DE CREDITEUR GESTUURD WORDEN VOOR ADMINISTRATIE.\n" -" NIETTEMIN, DE BANK VAN DE DEBITEUR VERGT AUTHORISATIE VAN DE DEBITEUR VOOR HET DEBITEREN VAN B2B INCASSO'S VAN DE REKENING\n" -" DE DEBITEUR KAN DE AUTHORISATIE BEHEREN VIA DE MIDDELEN VERSCHAFT DOOR DE BANK." +"ALL LEGE VELDEN ZIJN VERPLICHT. WANNEER ONDERTEKEND MOET DIT MANDAAT NAAR DE " +"CREDITEUR GESTUURD WORDEN VOOR ADMINISTRATIE.\n" +" NIETTEMIN, DE BANK VAN DE DEBITEUR VERGT AUTHORISATIE " +"VAN DE DEBITEUR VOOR HET DEBITEREN VAN B2B INCASSO'S VAN DE REKENING\n" +" DE DEBITEUR KAN DE AUTHORISATIE BEHEREN VIA DE MIDDELEN " +"VERSCHAFT DOOR DE BANK." #. module: account_banking_sepa_direct_debit #: 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" +" 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." +" A refund must be claimed within 8 weeks starting " +"from the date on which your account was debited." msgstr "" -"Als onderdeel van uw rechten heeft u recht op een credit van uw bank onder de condities en voorwaarden van uw bank.\n" -"Een credit moet worden geclaimed binnen 8 dagen vanaf de datum waarop het bedrag is afgeschreven." +"Als onderdeel van uw rechten heeft u recht op een credit van uw bank onder " +"de condities en voorwaarden van uw bank.\n" +"Een credit moet worden geclaimed binnen 8 dagen vanaf de datum waarop het " +"bedrag is afgeschreven." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 @@ -145,6 +155,15 @@ msgstr "" "Omdat u de gekoppelde bankrekening heeft gewijzigd is de reeks terug gezet " "naar 'Eerste'." +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -168,14 +187,17 @@ msgstr "Bedrijven" #. module: account_banking_sepa_direct_debit #: 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" +"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 "" -"Geef de Incassant-ID in, welke is toegewezen aan uw bedrijf om incasso's uit te voeren. De Incassant-ID is samengesteld uit:\n" +"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" @@ -185,13 +207,15 @@ msgstr "" #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" +"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" @@ -222,8 +246,8 @@ msgstr "Machtiging bijwerken" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" "Missende SEPA Incasso mandaten op betaalregel met klant '%s' (referentie " "'%s')." @@ -254,12 +278,12 @@ msgstr "Betalingsopdracht" #, 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'." +"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'." +"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 #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -332,8 +356,7 @@ 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." +"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/models/account_payment_order.py:93 @@ -342,9 +365,9 @@ 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." +"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:49 @@ -364,12 +387,17 @@ msgstr "" #: 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." +" 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 "" "Deze mandaat is alleen bedoelt voor B2B transacties.\n" -"Het is niet toegestaan een credit te doen nadat het bedrag is afgeschreven, maar je kan een verzoek doen aan de bank om het bedrag niet af te schrijven totaan de vervaldatum." +"Het is niet toegestaan een credit te doen nadat het bedrag is afgeschreven, " +"maar je kan een verzoek doen aan de bank om het bedrag niet af te schrijven " +"totaan de vervaldatum." #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -400,6 +428,8 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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 "om " diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po index e6e0b358c9d..a5d0e1415de 100644 --- a/account_banking_sepa_direct_debit/i18n/pt_BR.po +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2016 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2016-11-21 10:17+0000\n" "PO-Revision-Date: 2016-10-19 23:47+0000\n" "Last-Translator: OCA Transbot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-payment-10-0/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-" +"payment-10-0/language/pt_BR/)\n" +"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 @@ -113,28 +114,42 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +"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 #: 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" +" 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." +" 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:76 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 #, 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 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -158,7 +173,9 @@ msgstr "Empresas" #. module: account_banking_sepa_direct_debit #: 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" +"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" @@ -167,10 +184,11 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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" @@ -193,21 +211,20 @@ msgid "First" msgstr "" #. 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:78 #, python-format msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:77 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" #. module: account_banking_sepa_direct_debit -#: selection:account.banking.mandate,type:0 #: 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" @@ -233,12 +250,11 @@ msgstr "Ordem de Pagamento" #, 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'." +"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 -#: selection:account.banking.mandate,type:0 #: 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" @@ -250,12 +266,17 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:account.payment.method,name:account_banking_sepa_direct_debit.sepa_direct_debit +msgid "SEPA Direct Debit for customers" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:account.payment.mode,name:account_banking_sepa_direct_debit.payment_mode_inbound_sepa_dd1 msgid "SEPA Direct Debit of customers" @@ -268,7 +289,7 @@ msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.actions.report.xml,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +#: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" @@ -284,14 +305,21 @@ msgid "Sequence Type for Next Debit" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:39 +#: model:ir.actions.server,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron_ir_actions_server +#: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +#: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +msgid "Set SEPA Direct Debit Mandates to Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 #: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:84 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 #, python-format msgid "" "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " @@ -299,7 +327,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:92 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 #, python-format msgid "" "The mandate with reference '%s' for partner '%s' has type set to 'One-Off' " @@ -307,7 +335,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:48 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" @@ -322,9 +350,12 @@ msgstr "" #: 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." +" 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 @@ -343,24 +374,21 @@ msgstr "" msgid "Type" msgstr "" -#. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_type -msgid "Type of Mandate" -msgstr "" - #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_config_settings -msgid "account.config.settings" +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "res.config.settings" msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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 index ca0b1f338ff..46e9d76a50c 100644 --- a/account_banking_sepa_direct_debit/i18n/sl.po +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * account_banking_sepa_direct_debit -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-11-23 03:38+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"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" +"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.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -115,26 +116,35 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +"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 "" -"VSE VRZELI SO OBVEZNE. PO PODPISU MANDATA, SE GA MORA POSLATI UPNIKU V HRANJENJE.\n" -" KLJUB VSEMU, BANKA DOLŽNIKA ZAHTEVA DOLŽNIKOVO POOBLASTILO PRED NEPOSREDNO B2B OBREMENITVIJO RAČUNA.\n" -" DOLŽNIK BI LAHKO UPRAVLJAL OMENJENO POOBLASTILO NA NAČIN, KI MU GA OMOGOČA NJEGOVA BANKA." +"VSE VRZELI SO OBVEZNE. PO PODPISU MANDATA, SE GA MORA POSLATI UPNIKU V " +"HRANJENJE.\n" +" KLJUB VSEMU, BANKA DOLŽNIKA ZAHTEVA DOLŽNIKOVO " +"POOBLASTILO PRED NEPOSREDNO B2B OBREMENITVIJO RAČUNA.\n" +" DOLŽNIK BI LAHKO UPRAVLJAL OMENJENO POOBLASTILO NA " +"NAČIN, KI MU GA OMOGOČA NJEGOVA BANKA." #. module: account_banking_sepa_direct_debit #: 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" +" 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." +" A refund must be claimed within 8 weeks starting " +"from the date on which your account was debited." msgstr "" "V sklopu vaših pravic je dobropis/povračilo vaše banke\n" " v skladu s splošnimi pogoji vašega dogovora\n" " z banko.\n" -" Povračilo je potrebno zahtevati v do 8 tednih od datuma, na katerega je bil vaš račun obremenjen." +" Povračilo je potrebno zahtevati v do 8 tednih od " +"datuma, na katerega je bil vaš račun obremenjen." #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 @@ -146,6 +156,15 @@ msgstr "" "Ker ste spremenili bančni račun pripet temu mandatu, se je tip zaporedja " "vrnil v 'Prvi'." +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#, python-format +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line msgid "Bank Payment Lines" @@ -169,14 +188,18 @@ msgstr "Družbe" #. module: account_banking_sepa_direct_debit #: 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" +"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 "" -"Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA direktnih obremenitev. Če ni določen, se uporabi SEPA identifikator upnika iz nastavitev družbe.\n" +"Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA " +"direktnih obremenitev. Če ni določen, se uporabi SEPA identifikator upnika " +"iz nastavitev družbe.\n" "Identifikator sestavljajo:\n" "- ISO koda vaše države (2 znaka)\n" "- 2-značna checkum koda\n" @@ -187,13 +210,15 @@ msgstr "" #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_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" +"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 "" -"Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA direktnih obremenitev. Identifikator sestavljajo:\n" +"Vnesi identifikator upnika, ki je bil dodeljen vaši družbi za izvajanje SEPA " +"direktnih obremenitev. Identifikator sestavljajo:\n" "- ISO koda vaše države (2 znaka)\n" "- 2-značna checkum koda\n" "- 3-značna poslovna koda\n" @@ -224,8 +249,8 @@ msgstr "Posodobitev mandata" #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner '%s'" -" (reference '%s')." +"Missing SEPA Direct Debit mandate on the bank payment line with partner " +"'%s' (reference '%s')." msgstr "" "Pri postavki bančnega plačila partnerja '%s' (sklic '%s') manjka SEPA " "direktna obremenitev." @@ -256,11 +281,11 @@ msgstr "Plačilni nalog" #, 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'." +"supported for SEPA Direct Debit are 'pain.008.001.02', 'pain.008.001.03' and " +"'pain.008.001.04'." msgstr "" -"Koda tipa plačila '%s' ni podprta. Edine kode tipov plačil, ki so podprte za" -" SEPA bremenilne transakcije, so 'pain.008.001.02', 'pain.008.001.03' in " +"Koda tipa plačila '%s' ni podprta. Edine kode tipov plačil, ki so podprte za " +"SEPA bremenilne transakcije, so 'pain.008.001.02', 'pain.008.001.03' in " "'pain.008.001.04'." #. module: account_banking_sepa_direct_debit @@ -366,13 +391,18 @@ msgstr "" #: 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." +" 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 "" "Ta mandat je mišljen le za transakcije med pravnimi osebami.\n" -" Po obremenitvi vašega računa nimate pravice do povračila\n" -" svoje banke,, lahko pa pri banki zahtevate, da se računa\n" +" Po obremenitvi vašega računa nimate pravice do " +"povračila\n" +" svoje banke,, lahko pa pri banki zahtevate, da se " +"računa\n" " ne bremeni do dneva zapadlosti plačila." #. module: account_banking_sepa_direct_debit @@ -404,8 +434,11 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +"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 "" -"za pošiljanje navodil svoji banki glede bremenitve vašega računa in (B) svoji banki\n" +"za pošiljanje navodil svoji banki glede bremenitve vašega računa in (B) " +"svoji banki\n" " naj bremeni vaš račun v skladu z navodili iz" diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index c759e832371..e8d3b97ad79 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -2,7 +2,7 @@ # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import models, fields, api, _ +from odoo import api, models, _ from odoo.exceptions import UserError from lxml import etree @@ -227,32 +227,44 @@ def generate_payment_file(self): xml_root, gen_args) @api.multi - def finalize_sepa_file_creation(self, xml_root, gen_args): - """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. + def generated2uploaded(self): + """Write 'last debit date' on mandates + Set mandates from first to recurring + Set oneoff mandates to expired """ + # I call super() BEFORE updating the sequence_type + # from first to recurring, so that the account move + # is generated BEFORE, which will allow the split + # of the account move per sequence_type + res = super(AccountPaymentOrder, self).generated2uploaded() abmo = self.env['account.banking.mandate'] - to_expire_mandates = abmo.browse([]) - first_mandates = abmo.browse([]) - all_mandates = abmo.browse([]) - for bline in self.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': + for order in self: + 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 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', - }) - return super(AccountPaymentOrder, self).finalize_sepa_file_creation( - xml_root, gen_args) + 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': order.date_generated}) + to_expire_mandates.write({'state': 'expired'}) + first_mandates.write({ + 'recurrent_sequence_type': 'recurring', + }) + for first_mandate in first_mandates: + first_mandate.message_post(_( + "Automatically switched from First to " + "Recurring when the debit order " + "%s has been marked as uploaded.") + % (order.id, order.name)) + return res From 9204168257402688272375d14d4cbf9c28d07ad0 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Fri, 13 Jul 2018 09:12:32 +0000 Subject: [PATCH 31/83] =?UTF-8?q?Translated=20using=20Weblate=20(Espa?= =?UTF-8?q?=C3=B1ol=20(Espa=C3=B1a))?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100,0% (60 of 60 strings) Translation: bank-payment-11.0/bank-payment-11.0-account_banking_sepa_direct_debit Translate-URL: https://translation.odoo-community.org/projects/bank-payment-11-0/bank-payment-11-0-account_banking_sepa_direct_debit/es/ --- account_banking_sepa_direct_debit/i18n/es.po | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 9baea9c1ff9..0692da8acc3 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -9,14 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-11-23 03:38+0000\n" -"PO-Revision-Date: 2017-11-23 03:38+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"PO-Revision-Date: 2018-07-14 09:44+0000\n" +"Last-Translator: Enric Tobella \n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.0.1\n" #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -162,6 +163,9 @@ msgid "" "order %s has " "been marked as uploaded." msgstr "" +"Se ha cambiado automáticamente de Primero a Recurrente cuando " +"la orden de débito %s2 se ha marcado como subido." #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line @@ -177,7 +181,7 @@ msgstr "Básico (CORE)" #: 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) " +"Mediante la firma de esta orden de domiciliación, el deudor autoriza (A)" #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_res_company @@ -308,7 +312,7 @@ msgstr "Identificador de acreedor SEPA" #. module: account_banking_sepa_direct_debit #: model:account.payment.method,name:account_banking_sepa_direct_debit.sepa_direct_debit msgid "SEPA Direct Debit for customers" -msgstr "" +msgstr "Débito directo SEPA para clientes" #. module: account_banking_sepa_direct_debit #: model:account.payment.mode,name:account_banking_sepa_direct_debit.payment_mode_inbound_sepa_dd1 @@ -342,7 +346,7 @@ msgstr "Tipo de secuencia para el próximo cobro" #: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron #: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron msgid "Set SEPA Direct Debit Mandates to Expired" -msgstr "" +msgstr "Marcar los Mandatos de débitos directo SEPA como Expirados" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 @@ -425,7 +429,7 @@ msgstr "Escriba el IAS de su compañía" #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings msgid "res.config.settings" -msgstr "" +msgstr "res.config.settings" #. module: account_banking_sepa_direct_debit #: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document @@ -437,4 +441,4 @@ msgid "" 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 " +"instrucciones del acreedor" From 5d811c48c99303b98cf682a0e3153e5f322db37c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Tue, 3 Jul 2018 11:39:07 +0100 Subject: [PATCH 32/83] [ADD] sepa: support for Purpose Code --- .../models/account_payment_order.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index e8d3b97ad79..4e92c1260e4 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -215,6 +215,11 @@ def generate_payment_file(self): dd_transaction_info, 'Dbtr', 'C', line.partner_bank_id, gen_args, line) + if line.purpose: + purpose = etree.SubElement( + dd_transaction_info, 'Purp') + etree.SubElement(purpose, 'Cd').text = line.purpose + self.generate_remittance_info_block( dd_transaction_info, line, gen_args) From 88ec23dc11dac065d8f1d21cb81cb3223168cff3 Mon Sep 17 00:00:00 2001 From: andreparames Date: Wed, 18 Jul 2018 16:06:38 +0100 Subject: [PATCH 33/83] [ADD] sepa: add Instruction Identification field InstrId is optional, so there should be no harm in adding it always, with the same value as EndToEndId. --- .../models/account_payment_order.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index 4e92c1260e4..58b14230263 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -156,12 +156,11 @@ def generate_payment_file(self): payment_info, 'DrctDbtTxInf') payment_identification = etree.SubElement( dd_transaction_info, 'PmtId') - if pain_flavor == 'pain.008.001.02.ch.01': - instruction_identification = etree.SubElement( - payment_identification, 'InstrId') - instruction_identification.text = self._prepare_field( - 'Intruction Identification', 'line.name', - {'line': line}, 35, gen_args=gen_args) + instruction_identification = etree.SubElement( + payment_identification, 'InstrId') + instruction_identification.text = self._prepare_field( + 'Instruction Identification', 'line.name', + {'line': line}, 35, gen_args=gen_args) end2end_identification = etree.SubElement( payment_identification, 'EndToEndId') end2end_identification.text = self._prepare_field( From 28d0fa206ba5be0f5302e1433bc8bd92868245cd Mon Sep 17 00:00:00 2001 From: Sergio Teruel Date: Fri, 9 Nov 2018 12:28:29 +0100 Subject: [PATCH 34/83] [MIG] account_banking_sepa_direct_debit: Migration to 12.0 --- account_banking_sepa_direct_debit/README.rst | 69 ++- account_banking_sepa_direct_debit/__init__.py | 1 - .../__manifest__.py | 3 +- .../models/__init__.py | 1 - .../models/account_banking_mandate.py | 2 - .../models/account_payment_method.py | 1 - .../models/account_payment_mode.py | 1 - .../models/account_payment_order.py | 1 - .../models/bank_payment_line.py | 1 - .../models/common.py | 1 - .../models/res_company.py | 1 - .../models/res_config.py | 1 - .../post_install.py | 1 - .../readme/CONFIGURE.rst | 26 + .../readme/CONTRIBUTORS.rst | 8 + .../readme/DESCRIPTION.rst | 14 + .../readme/INSTALL.rst | 6 + .../readme/USAGE.rst | 3 + .../static/description/index.html | 485 ++++++++++++++++++ .../tests/__init__.py | 1 - .../tests/test_mandate.py | 1 - .../tests/test_sdd.py | 1 - 22 files changed, 590 insertions(+), 39 deletions(-) create mode 100644 account_banking_sepa_direct_debit/readme/CONFIGURE.rst create mode 100644 account_banking_sepa_direct_debit/readme/CONTRIBUTORS.rst create mode 100644 account_banking_sepa_direct_debit/readme/DESCRIPTION.rst create mode 100644 account_banking_sepa_direct_debit/readme/INSTALL.rst create mode 100644 account_banking_sepa_direct_debit/readme/USAGE.rst create mode 100644 account_banking_sepa_direct_debit/static/description/index.html diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst index cf6f64c0e79..8a74f3de333 100644 --- a/account_banking_sepa_direct_debit/README.rst +++ b/account_banking_sepa_direct_debit/README.rst @@ -1,10 +1,30 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: License: AGPL-3 - ================================= Account Banking SEPA Direct Debit ================================= +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--payment-lightgray.png?logo=github + :target: https://github.com/OCA/bank-payment/tree/12.0/account_banking_sepa_direct_debit + :alt: OCA/bank-payment +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/bank-payment-12-0/bank-payment-12-0-account_banking_sepa_direct_debit + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/97/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + Create SEPA files for Direct Debit Module to export direct debit payment orders in SEPA XML file format. @@ -20,6 +40,11 @@ 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. +**Table of contents** + +.. contents:: + :local: + Installation ============ @@ -67,28 +92,27 @@ 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. -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/173/11.0 - -Known issues / Roadmap -====================== - - * No known issues - Bug Tracker =========== -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. +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. Credits ======= +Authors +~~~~~~~ + +* Akretion +* Tecnativa + Contributors ------------- +~~~~~~~~~~~~ * Alexis de Lattre * Pedro M. Baeza @@ -99,18 +123,19 @@ Contributors * Antonio Espinosa * Sergio Teruel +Maintainers +~~~~~~~~~~~ -Maintainer ----------- +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - 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. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/bank-payment `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_banking_sepa_direct_debit/__init__.py b/account_banking_sepa_direct_debit/__init__.py index a1815ae51d7..24b65ee996c 100644 --- a/account_banking_sepa_direct_debit/__init__.py +++ b/account_banking_sepa_direct_debit/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from . import models from .post_install import update_bank_journals diff --git a/account_banking_sepa_direct_debit/__manifest__.py b/account_banking_sepa_direct_debit/__manifest__.py index 29d972180ef..a3ac5a53b89 100644 --- a/account_banking_sepa_direct_debit/__manifest__.py +++ b/account_banking_sepa_direct_debit/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2013-2016 Akretion (www.akretion.com) # Copyright 2014-2017 Tecnativa - Pedro M. Baeza # Copyright 2016 Tecnativa - Antonio Espinosa @@ -7,7 +6,7 @@ { 'name': 'Account Banking SEPA Direct Debit', 'summary': 'Create SEPA files for Direct Debit', - 'version': '11.0.1.0.2', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'author': "Akretion, " "Tecnativa, " diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index 64b7c387435..dea757dab40 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from . import res_company from . import res_config 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 c45550bc12f..71c3a24d45d 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -1,8 +1,6 @@ -# -*- coding: utf-8 -*- # © 2013-2016 Akretion - Alexis de Lattre # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). - from odoo import models, fields, api, exceptions, _ from datetime import datetime from dateutil.relativedelta import relativedelta diff --git a/account_banking_sepa_direct_debit/models/account_payment_method.py b/account_banking_sepa_direct_debit/models/account_payment_method.py index 006f923c02f..4d6f5751a17 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_method.py +++ b/account_banking_sepa_direct_debit/models/account_payment_method.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). diff --git a/account_banking_sepa_direct_debit/models/account_payment_mode.py b/account_banking_sepa_direct_debit/models/account_payment_mode.py index 083ea558297..f561166522e 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_mode.py +++ b/account_banking_sepa_direct_debit/models/account_payment_mode.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index 58b14230263..28b8cfc0ea5 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). diff --git a/account_banking_sepa_direct_debit/models/bank_payment_line.py b/account_banking_sepa_direct_debit/models/bank_payment_line.py index 4c600e24ca6..3f737f71ff1 100644 --- a/account_banking_sepa_direct_debit/models/bank_payment_line.py +++ b/account_banking_sepa_direct_debit/models/bank_payment_line.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2015-2016 Akretion - Alexis de Lattre # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). diff --git a/account_banking_sepa_direct_debit/models/common.py b/account_banking_sepa_direct_debit/models/common.py index cf32c81c2e7..9db8bec81e2 100644 --- a/account_banking_sepa_direct_debit/models/common.py +++ b/account_banking_sepa_direct_debit/models/common.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2013-2016 Akretion (Alexis de Lattre ) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 7edcde4a6b0..46df0cb1c69 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2013-2016 Akretion (Alexis de Lattre ) # © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza # © 2016 Antiun Ingenieria S.L. - Antonio Espinosa diff --git a/account_banking_sepa_direct_debit/models/res_config.py b/account_banking_sepa_direct_debit/models/res_config.py index 531b9ccf8d8..162d30d7e96 100644 --- a/account_banking_sepa_direct_debit/models/res_config.py +++ b/account_banking_sepa_direct_debit/models/res_config.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). diff --git a/account_banking_sepa_direct_debit/post_install.py b/account_banking_sepa_direct_debit/post_install.py index b357674f373..88bc1c27771 100644 --- a/account_banking_sepa_direct_debit/post_install.py +++ b/account_banking_sepa_direct_debit/post_install.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). diff --git a/account_banking_sepa_direct_debit/readme/CONFIGURE.rst b/account_banking_sepa_direct_debit/readme/CONFIGURE.rst new file mode 100644 index 00000000000..bc7383d6649 --- /dev/null +++ b/account_banking_sepa_direct_debit/readme/CONFIGURE.rst @@ -0,0 +1,26 @@ +For setting the SEPA creditor identifier: + +#. Go to Invoicing/Accounting > Configuration > Settings. +#. On the field "SEPA Creditor Identifier" in the section *SEPA/PAIN*, you can + fill the corresponding identifier. + +If your country requires several identifiers (like Spain), you must: + +#. Go to *Invoicing/Accounting > Configuration > Settings*. +#. On the section *SEPA/PAIN*, check the mark "Multiple identifiers". +#. Now go to *Invoicing/Accounting > Configuration > Management > Payment Modes*. +#. Create a payment mode for your specific bank. +#. Fill the specific identifier on the field "SEPA Creditor Identifier". + +For defining a payment mode that uses SEPA direct debit: + +#. Go to *Invoicing/Accounting > Configuration > Management > Payment Modes*. +#. Create a record. +#. Select the Payment Method *SEPA Direct Debit for customers* (which is + automatically created upon module installation). +#. Check that this payment method uses the proper version of PAIN. +#. If not, go *Invoicing/Accounting > Configuration > Management > Payment Methods*. +#. Locate the "SEPA Direct Debit for customers" record and open it. +#. Change the "PAIN version" according your needs. +#. If you need to handle several PAIN versions, just duplicate the payment + method adjusting this field on each for having them. diff --git a/account_banking_sepa_direct_debit/readme/CONTRIBUTORS.rst b/account_banking_sepa_direct_debit/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..ec29073b0ee --- /dev/null +++ b/account_banking_sepa_direct_debit/readme/CONTRIBUTORS.rst @@ -0,0 +1,8 @@ +* Alexis de Lattre +* Pedro M. Baeza +* Stéphane Bidoul +* Alexandre Fayolle +* Raphaël Valyi +* Sandy Carter +* Antonio Espinosa +* Sergio Teruel diff --git a/account_banking_sepa_direct_debit/readme/DESCRIPTION.rst b/account_banking_sepa_direct_debit/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..438e66ebaf6 --- /dev/null +++ b/account_banking_sepa_direct_debit/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +Create SEPA files for Direct Debit + +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. diff --git a/account_banking_sepa_direct_debit/readme/INSTALL.rst b/account_banking_sepa_direct_debit/readme/INSTALL.rst new file mode 100644 index 00000000000..2359a600a2c --- /dev/null +++ b/account_banking_sepa_direct_debit/readme/INSTALL.rst @@ -0,0 +1,6 @@ +This module depends on : + +* account_banking_pain_base +* account_banking_mandate + +This module is part of the OCA/bank-payment suite. diff --git a/account_banking_sepa_direct_debit/readme/USAGE.rst b/account_banking_sepa_direct_debit/readme/USAGE.rst new file mode 100644 index 00000000000..ebf2b1d3f5c --- /dev/null +++ b/account_banking_sepa_direct_debit/readme/USAGE.rst @@ -0,0 +1,3 @@ +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. diff --git a/account_banking_sepa_direct_debit/static/description/index.html b/account_banking_sepa_direct_debit/static/description/index.html new file mode 100644 index 00000000000..bf47363e8d8 --- /dev/null +++ b/account_banking_sepa_direct_debit/static/description/index.html @@ -0,0 +1,485 @@ + + + + + + +Account Banking SEPA Direct Debit + + + +
+

Account Banking SEPA Direct Debit

+ + +

Beta License: AGPL-3 OCA/bank-payment Translate me on Weblate Try me on Runbot

+

Create SEPA files for Direct Debit

+

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.

+

Table of contents

+ +
+

Installation

+

This module depends on :

+
    +
  • account_banking_pain_base
  • +
  • account_banking_mandate
  • +
+

This module is part of the OCA/bank-payment suite.

+
+
+

Configuration

+

For setting the SEPA creditor identifier:

+
    +
  1. Go to Invoicing/Accounting > Configuration > Settings.
  2. +
  3. On the field “SEPA Creditor Identifier” in the section SEPA/PAIN, you can +fill the corresponding identifier.
  4. +
+

If your country requires several identifiers (like Spain), you must:

+
    +
  1. Go to Invoicing/Accounting > Configuration > Settings.
  2. +
  3. On the section SEPA/PAIN, check the mark “Multiple identifiers”.
  4. +
  5. Now go to Invoicing/Accounting > Configuration > Management > Payment Modes.
  6. +
  7. Create a payment mode for your specific bank.
  8. +
  9. Fill the specific identifier on the field “SEPA Creditor Identifier”.
  10. +
+

For defining a payment mode that uses SEPA direct debit:

+
    +
  1. Go to Invoicing/Accounting > Configuration > Management > Payment Modes.
  2. +
  3. Create a record.
  4. +
  5. Select the Payment Method SEPA Direct Debit for customers (which is +automatically created upon module installation).
  6. +
  7. Check that this payment method uses the proper version of PAIN.
  8. +
  9. If not, go Invoicing/Accounting > Configuration > Management > Payment Methods.
  10. +
  11. Locate the “SEPA Direct Debit for customers” record and open it.
  12. +
  13. Change the “PAIN version” according your needs.
  14. +
  15. If you need to handle several PAIN versions, just duplicate the payment +method adjusting this field on each for having them.
  16. +
+
+
+

Usage

+

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.

+
+
+

Bug Tracker

+

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.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

This module is part of the OCA/bank-payment project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_banking_sepa_direct_debit/tests/__init__.py b/account_banking_sepa_direct_debit/tests/__init__.py index 6d038500fef..244424667c4 100644 --- a/account_banking_sepa_direct_debit/tests/__init__.py +++ b/account_banking_sepa_direct_debit/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from . import test_sdd from . import test_mandate diff --git a/account_banking_sepa_direct_debit/tests/test_mandate.py b/account_banking_sepa_direct_debit/tests/test_mandate.py index 3ff0b57e81e..c07f8b2c00d 100644 --- a/account_banking_sepa_direct_debit/tests/test_mandate.py +++ b/account_banking_sepa_direct_debit/tests/test_mandate.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). diff --git a/account_banking_sepa_direct_debit/tests/test_sdd.py b/account_banking_sepa_direct_debit/tests/test_sdd.py index a29b49e0c83..bace1e4e859 100644 --- a/account_banking_sepa_direct_debit/tests/test_sdd.py +++ b/account_banking_sepa_direct_debit/tests/test_sdd.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 Akretion (Alexis de Lattre ) # Copyright 2018 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). From 42a486f20539410ff177a09367165a98f0f6b410 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 14 Dec 2018 12:42:14 +0100 Subject: [PATCH 35/83] [MIG] account_banking_sepa_direct_debit: Finish migration to 12.0 * Fixed tests * Adjust code for Python dates handling * Update copyrights --- .../__manifest__.py | 2 +- .../account_banking_sepa_direct_debit.pot | 187 ++++++++++++----- account_banking_sepa_direct_debit/i18n/de.po | 189 ++++++++++++----- account_banking_sepa_direct_debit/i18n/es.po | 197 +++++++++++++----- account_banking_sepa_direct_debit/i18n/fr.po | 193 ++++++++++++----- account_banking_sepa_direct_debit/i18n/hr.po | 185 +++++++++++----- .../i18n/nb_NO.po | 185 +++++++++++----- account_banking_sepa_direct_debit/i18n/nl.po | 190 ++++++++++++----- .../i18n/pt_BR.po | 186 ++++++++++++----- account_banking_sepa_direct_debit/i18n/sl.po | 189 ++++++++++++----- .../models/account_banking_mandate.py | 13 +- .../models/account_payment_method.py | 2 +- .../models/account_payment_mode.py | 2 +- .../models/account_payment_order.py | 15 +- .../models/bank_payment_line.py | 2 +- .../models/common.py | 8 +- .../models/res_company.py | 6 +- .../models/res_config.py | 2 +- .../post_install.py | 2 +- .../tests/test_mandate.py | 6 +- .../tests/test_sdd.py | 6 +- 21 files changed, 1271 insertions(+), 496 deletions(-) diff --git a/account_banking_sepa_direct_debit/__manifest__.py b/account_banking_sepa_direct_debit/__manifest__.py index a3ac5a53b89..f887453919b 100644 --- a/account_banking_sepa_direct_debit/__manifest__.py +++ b/account_banking_sepa_direct_debit/__manifest__.py @@ -1,5 +1,5 @@ # Copyright 2013-2016 Akretion (www.akretion.com) -# Copyright 2014-2017 Tecnativa - Pedro M. Baeza +# Copyright 2014-2018 Tecnativa - Pedro M. Baeza # Copyright 2016 Tecnativa - Antonio Espinosa # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). 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 7b28cb752a8..d03bb8e1e8a 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 @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,82 +14,82 @@ msgstr "" "Plural-Forms: \n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db: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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "" @@ -99,19 +99,19 @@ msgid "A generic banking mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -119,13 +119,13 @@ msgid "As part of your rights, you are entitled to a refund from\n" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 #, python-format msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:268 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." msgstr "" @@ -141,7 +141,12 @@ msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +msgid "Basic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" @@ -151,7 +156,17 @@ msgid "Companies" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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" @@ -161,8 +176,8 @@ msgid "Enter the Creditor Identifier that has been attributed to your company to msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -186,7 +201,17 @@ msgid "First" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +msgid "Generic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "" @@ -198,11 +223,17 @@ msgid "Missing SEPA Direct Debit mandate on the bank payment line with partner ' msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -225,8 +256,9 @@ msgid "Payment Type Code '%s' is not supported. The only Payment Type Code suppo msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "" @@ -236,9 +268,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -253,24 +285,25 @@ msgid "SEPA Direct Debit of customers" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -282,8 +315,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -301,18 +334,18 @@ msgid "The mandate with reference '%s' for partner '%s' has type set to 'One-Off msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -320,33 +353,83 @@ msgid "This mandate is only intended for business-to-business transactions.\n" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" diff --git a/account_banking_sepa_direct_debit/i18n/de.po b/account_banking_sepa_direct_debit/i18n/de.po index 69d570f70df..ceec46a5c1d 100644 --- a/account_banking_sepa_direct_debit/i18n/de.po +++ b/account_banking_sepa_direct_debit/i18n/de.po @@ -19,82 +19,82 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "Kontonummer - IBAN:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "Adresse des Debitor:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "Adresse:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "Land des Debitors:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "Land:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "Name des Kreditors:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "Datum - Ort:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "Name des Debitors:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "Identifizierer:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "Referenz des Mandanten:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "Postleitzahl - Stadt - Gemeinde:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "Unterschrift des Debitors:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 (bis zu 8 oder 11 Stellen):" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "Art der Zahlung:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Business-To-Business Direct debit Mandate" msgstr "SEPA Geschäft-zu-Geschäft Lastschriftenmandat" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "SEPA Lastschrift Mandat" @@ -104,14 +104,14 @@ msgid "A generic banking mandate" msgstr "Ein generisches Bankmandat" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -122,7 +122,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -133,7 +133,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -141,7 +141,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -160,7 +160,13 @@ msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +#, fuzzy +msgid "Basic Mandate" +msgstr "Sepa Mandat" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" @@ -170,7 +176,17 @@ msgid "Companies" msgstr "Unternehmen" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -183,8 +199,8 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -210,7 +226,18 @@ msgid "First" msgstr "Erstes" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "Sepa Mandat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "" @@ -224,11 +251,17 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -254,8 +287,9 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "" @@ -265,9 +299,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -282,24 +316,25 @@ msgid "SEPA Direct Debit of customers" msgstr "SEPA Lastschriften der Kunden" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "Sepa Mandat" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -311,8 +346,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -334,19 +369,19 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -358,33 +393,85 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Art" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +#, fuzzy +msgid "Type of Mandate" +msgstr "Sepa Mandat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +#, fuzzy +msgid "Unique Mandate Reference" +msgstr "Referenz des Mandanten:" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 0692da8acc3..e1d28468b87 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -20,82 +20,82 @@ msgstr "" "X-Generator: Weblate 3.0.1\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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 +#: model_terms: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" @@ -105,7 +105,7 @@ msgid "A generic banking mandate" msgstr "Un mandato bancario genérico" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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." @@ -114,7 +114,7 @@ msgstr "" "ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -130,7 +130,7 @@ msgstr "" "LOS MEDIOS QUE SU ENTIDAD PONGA A SU DISPOSICIÓN." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -146,7 +146,7 @@ msgstr "" "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:79 +#: 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 " @@ -156,7 +156,7 @@ msgstr "" "'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -164,8 +164,8 @@ msgid "" "been marked as uploaded." msgstr "" "Se ha cambiado automáticamente de Primero a Recurrente cuando " -"la orden de débito %s2 se ha marcado como subido." +"la orden de débito %s2 se ha marcado como subido." #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_bank_payment_line @@ -178,7 +178,13 @@ msgid "Basic (CORE)" msgstr "Básico (CORE)" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +#, fuzzy +msgid "Basic Mandate" +msgstr "Mandato SEPA" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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)" @@ -189,7 +195,18 @@ msgid "Companies" msgstr "Compañías" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "res.config.settings" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -209,8 +226,8 @@ msgstr "" "- un identificador específico de país (en España, el NIF)" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -243,7 +260,19 @@ msgid "First" msgstr "Inicial" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "Mandato SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +#, fuzzy +msgid "Mandate Format" +msgstr "Actualizacion de mandato" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "Actualizacion de mandato" @@ -259,11 +288,17 @@ msgstr "" "empresa '%s' (referencia '%s')." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "Único" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -292,8 +327,9 @@ msgstr "" "'pain.008.001.03' y 'pain.008.001.04'." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "Recurrente" @@ -303,9 +339,9 @@ msgid "Recurring" msgstr "Periódico" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "Identificador de acreedor SEPA" @@ -320,24 +356,25 @@ msgid "SEPA Direct Debit of customers" msgstr "Adeudo directo SEPA de clientes" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "Esquema" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "Mandato SEPA" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms: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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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" @@ -349,8 +386,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "Marcar los Mandatos de débitos directo SEPA como Expirados" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "Identificador de acreedor SEPA '%s' no válido." @@ -376,19 +413,19 @@ msgstr "" "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:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, 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 -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -406,33 +443,85 @@ msgstr "" "financiera." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 +#: model_terms: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.view_mandate_search -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Tipo" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +#, fuzzy +msgid "Type of Mandate" +msgstr "Mandato SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +#, fuzzy +msgid "Unique Mandate Reference" +msgstr "Referencia del mandato:" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" -msgstr "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index a2ee68da7a4..0e60c910ff3 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -20,82 +20,82 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "Numéro de compte - IBAN:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "Adresse du débiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "Adresse:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "Pays du débiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "Pays:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "Nom du créancier:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "Date - Lieu:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "Nom du débiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "Identifiant:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "Référence du mandat:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "Code postal - Ville:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "Signature du débiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 (jusqu' à 8 ou 11 caractères):" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "Type de règlement:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Business-To-Business Direct debit Mandate" msgstr "Mandat de prélèvement automatique SEPA B2B" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "Mandat de prélèvement Sepa" @@ -105,7 +105,7 @@ msgid "A generic banking mandate" msgstr "Un mandat bancaire générique" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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." @@ -114,7 +114,7 @@ msgstr "" "AU CRÉANCIER POUR CONSERVATION." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -131,7 +131,7 @@ msgstr "" "SA DISPOSITION PAR SA BANQUE." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -146,7 +146,7 @@ msgstr "" "date à laquelle votre compte a été débité." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -156,7 +156,7 @@ msgstr "" "'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -175,7 +175,13 @@ msgid "Basic (CORE)" msgstr "Basique (CORE)" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +#, fuzzy +msgid "Basic Mandate" +msgstr "Mandat SEPA" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "En signant ce formulaire de mandat, vous autorisez (A)" @@ -185,7 +191,18 @@ msgid "Companies" msgstr "Sociétés" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "res.config.settings" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -206,8 +223,8 @@ msgstr "" "- un identificateur propre au pays" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -239,7 +256,19 @@ msgid "First" msgstr "First" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "Mandat SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +#, fuzzy +msgid "Mandate Format" +msgstr "Mise-à-jour du mandat" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "Mise-à-jour du mandat" @@ -255,11 +284,17 @@ msgstr "" "le partenaire' %s' (référence'%s')." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "One-Off" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -288,8 +323,9 @@ msgstr "" "'pain.008.001.03' et 'pain.008.001.04'." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "Récurrent" @@ -299,9 +335,9 @@ msgid "Recurring" msgstr "Recurring" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "Identifiant créancier SEPA" @@ -316,24 +352,25 @@ msgid "SEPA Direct Debit of customers" msgstr "Prélèvement SEPA des clients" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "Structure" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "Mandat SEPA" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "Type de séquence" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "Type de séquence pour le prochain prélèvement" @@ -345,8 +382,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "Définir les mandats de prélèvement SEPA comme expirés" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "L'identification de créancier SEPA \"%s\" est invalide." @@ -372,13 +409,13 @@ msgstr "" "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:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, 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 -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -386,7 +423,7 @@ msgstr "" "One-Off." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -402,33 +439,85 @@ msgstr "" "débiter votre compte avant la date d'échéance du paiement." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "A remplir par le créancier" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "A remplir par le débiteur" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Type" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +#, fuzzy +msgid "Type of Mandate" +msgstr "Mandat SEPA" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +#, fuzzy +msgid "Unique Mandate Reference" +msgstr "Référence du mandat:" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "Saisir l'ICS de votre société" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" -msgstr "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" +msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/hr.po b/account_banking_sepa_direct_debit/i18n/hr.po index 53070c320d9..49c21f72814 100644 --- a/account_banking_sepa_direct_debit/i18n/hr.po +++ b/account_banking_sepa_direct_debit/i18n/hr.po @@ -20,82 +20,82 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db: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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "" @@ -105,14 +105,14 @@ msgid "A generic banking mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -123,7 +123,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -134,7 +134,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -161,7 +161,12 @@ msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +msgid "Basic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" @@ -171,7 +176,17 @@ msgid "Companies" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -184,8 +199,8 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -211,7 +226,17 @@ msgid "First" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +msgid "Generic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "" @@ -225,11 +250,17 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -255,8 +286,9 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "" @@ -266,9 +298,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -283,24 +315,25 @@ msgid "SEPA Direct Debit of customers" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -312,8 +345,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -335,19 +368,19 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -359,33 +392,83 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/nb_NO.po b/account_banking_sepa_direct_debit/i18n/nb_NO.po index e39e16e31b2..46f93eba983 100644 --- a/account_banking_sepa_direct_debit/i18n/nb_NO.po +++ b/account_banking_sepa_direct_debit/i18n/nb_NO.po @@ -20,82 +20,82 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db: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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "" @@ -105,14 +105,14 @@ msgid "A generic banking mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -123,7 +123,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -134,7 +134,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -161,7 +161,12 @@ msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +msgid "Basic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" @@ -171,7 +176,17 @@ msgid "Companies" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -184,8 +199,8 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -211,7 +226,17 @@ msgid "First" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +msgid "Generic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "" @@ -225,11 +250,17 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -255,8 +286,9 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "" @@ -266,9 +298,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -283,24 +315,25 @@ msgid "SEPA Direct Debit of customers" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -312,8 +345,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -335,19 +368,19 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -359,33 +392,83 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po index e7d00334833..c84eeefa2d3 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -20,82 +20,82 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "Rekening - IBAN:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "Adres van de Debiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "Adres:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "Land van de debiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "Land:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "Naam Crediteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "Datum - Locatie:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "Naam Debiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "Kenmerk:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "Mandaat Referentie:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "Postcode - Stad - Dorp:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "Handtekening van de debiteur:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 (8 of 11 karakters):" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "Soort betaling:" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Business-To-Business Direct debit Mandate" msgstr "SEPA Business-To-Business Incasso Mandaat" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "Sepa Incasso mandaat" @@ -105,7 +105,7 @@ msgid "A generic banking mandate" msgstr "Een generiek bank mandaat" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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." @@ -114,7 +114,7 @@ msgstr "" "CREDITEUR GESTUURD WORDEN VOOR ADMINISTRATIE/" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -131,7 +131,7 @@ msgstr "" "VERSCHAFT DOOR DE BANK." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -146,7 +146,7 @@ msgstr "" "bedrag is afgeschreven." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -156,7 +156,7 @@ msgstr "" "naar 'Eerste'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -175,7 +175,13 @@ msgid "Basic (CORE)" msgstr "Basic (CORE)" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +#, fuzzy +msgid "Basic Mandate" +msgstr "Sepa mandaat" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "Met ondertekening van dit mandaat autoriseert u (A)" @@ -185,7 +191,17 @@ msgid "Companies" msgstr "Bedrijven" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -204,8 +220,8 @@ msgstr "" "- een landspecifieke identifier" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -237,7 +253,19 @@ msgid "First" msgstr "Eerste" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "Sepa mandaat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +#, fuzzy +msgid "Mandate Format" +msgstr "Machtiging bijwerken" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "Machtiging bijwerken" @@ -253,11 +281,17 @@ msgstr "" "'%s')." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "Eenmalig" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -286,8 +320,9 @@ msgstr "" "'pain.008.001.04'." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "Terugkerend" @@ -297,9 +332,9 @@ msgid "Recurring" msgstr "Terugkerend" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "SEPA Incassant-ID" @@ -314,24 +349,25 @@ msgid "SEPA Direct Debit of customers" msgstr "SEPA Incasso voor klanten" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "Schema" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "Sepa mandaat" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "Volgorde Type" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "Reeks soort voor volgende incasso" @@ -343,8 +379,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "Zet SEPA Incasso mandaten naar Verlopen" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "De SEPA Incassant-ID '%s' is ongeldig." @@ -370,13 +406,13 @@ msgstr "" "gebruiken." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, 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 -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -384,7 +420,7 @@ msgstr "" "eenmalige machtiging." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -400,33 +436,85 @@ msgstr "" "totaan de vervaldatum." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "Moet ingevuld worden door de crediteur" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "Moet ingevuld worden door de debiteur" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Soort" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +#, fuzzy +msgid "Type of Mandate" +msgstr "Sepa mandaat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +#, fuzzy +msgid "Unique Mandate Reference" +msgstr "Mandaat Referentie:" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "Vul hier de ICS van uw bedrijf in" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po index a5d0e1415de..aa72119cf84 100644 --- a/account_banking_sepa_direct_debit/i18n/pt_BR.po +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -20,82 +20,82 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db: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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "" @@ -105,14 +105,14 @@ msgid "A generic banking mandate" msgstr "Uma ordem bancária genérica" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -123,7 +123,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -134,7 +134,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -161,7 +161,12 @@ msgid "Basic (CORE)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +msgid "Basic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "Assinando este formulário de Ordem, você autoriza (A)" @@ -171,7 +176,17 @@ msgid "Companies" msgstr "Empresas" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -184,8 +199,8 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -211,7 +226,18 @@ msgid "First" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "Uma ordem bancária genérica" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "" @@ -225,11 +251,17 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -255,8 +287,9 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "" @@ -266,9 +299,9 @@ msgid "Recurring" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "" @@ -283,24 +316,25 @@ msgid "SEPA Direct Debit of customers" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -312,8 +346,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -335,19 +369,19 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -359,33 +393,83 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po index 46e9d76a50c..cc1a9886699 100644 --- a/account_banking_sepa_direct_debit/i18n/sl.po +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -20,82 +20,82 @@ msgstr "" "%100==4 ? 2 : 3);\n" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db: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 -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" msgstr "" @@ -105,7 +105,7 @@ msgid "A generic banking mandate" msgstr "Generični bančni mandat" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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." @@ -114,7 +114,7 @@ msgstr "" "HRANJENJE." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" @@ -131,7 +131,7 @@ msgstr "" "NAČIN, KI MU GA OMOGOČA NJEGOVA BANKA." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -147,7 +147,7 @@ msgstr "" "datuma, na katerega je bil vaš račun obremenjen." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:79 +#: 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 " @@ -157,7 +157,7 @@ msgstr "" "vrnil v 'Prvi'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:264 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -176,7 +176,13 @@ msgid "Basic (CORE)" msgstr "Osnovna (CORE)" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: selection:account.banking.mandate,format:0 +#, fuzzy +msgid "Basic Mandate" +msgstr "SEPA mandat" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "S podpisom tega mandata vi pooblaščate (A)" @@ -186,7 +192,17 @@ msgid "Companies" msgstr "Družbe" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_payment_mode_sepa_creditor_identifier +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 " @@ -207,8 +223,8 @@ msgstr "" "- specifični identifikator glede na državo" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company_sepa_creditor_identifier -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings_sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" @@ -240,7 +256,19 @@ msgid "First" msgstr "Prva" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:78 +#: selection:account.banking.mandate,type:0 +#, fuzzy +msgid "Generic Mandate" +msgstr "SEPA mandat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +#, fuzzy +msgid "Mandate Format" +msgstr "Posodobitev mandata" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 #, python-format msgid "Mandate update" msgstr "Posodobitev mandata" @@ -256,11 +284,17 @@ msgstr "" "direktna obremenitev." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "One-Off" msgstr "Enkratna" +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -289,8 +323,9 @@ msgstr "" "'pain.008.001.04'." #. module: account_banking_sepa_direct_debit -#: 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Recurrent" msgstr "Ponavljajoče se" @@ -300,9 +335,9 @@ msgid "Recurring" msgstr "Ponavljajoč" #. module: account_banking_sepa_direct_debit -#: 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 -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier msgid "SEPA Creditor Identifier" msgstr "Identifikator SEPA upnika" @@ -317,24 +352,25 @@ msgid "SEPA Direct Debit of customers" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search msgid "Scheme" msgstr "Shema" #. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 #: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate msgid "Sepa Mandate" msgstr "SEPA mandat" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Sequence Type" msgstr "Tip zaporedja" #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "Tip zaporedja za naslednjo obremenitev" @@ -346,8 +382,8 @@ msgid "Set SEPA Direct Debit Mandates to Expired" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:32 -#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 #, python-format msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" @@ -374,13 +410,13 @@ msgstr "" "moremo uporabiti." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:49 +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 #, python-format msgid "The recurrent mandate '%s' must have a sequence type." msgstr "Ponavljajoči se mandat '%s' mora vsebovati tip zaporedja." #. module: account_banking_sepa_direct_debit -#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_account_banking_mandate_recurrent_sequence_type +#: 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 "" @@ -388,7 +424,7 @@ msgstr "" "mandate." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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 " @@ -406,33 +442,84 @@ msgstr "" " ne bremeni do dneva zapadlosti plačila." #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the creditor" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "To be completed by the debtor" msgstr "" #. module: account_banking_sepa_direct_debit -#: 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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree msgid "Type" msgstr "Tip" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +#, fuzzy +msgid "Type of Mandate" +msgstr "SEPA mandat" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings msgid "Write the ICS of your company" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings -msgid "res.config.settings" +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" msgstr "" #. module: account_banking_sepa_direct_debit -#: model:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms: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" 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 71c3a24d45d..15636cbaaf1 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -1,5 +1,5 @@ -# © 2013-2016 Akretion - Alexis de Lattre -# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza +# Copyright 2013-2016 Akretion - Alexis de Lattre +# Copyright 2014 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api, exceptions, _ from datetime import datetime @@ -35,7 +35,7 @@ class AccountBankingMandate(models.Model): ('B2B', 'Enterprise (B2B)')], string='Scheme', default="CORE", track_visibility='onchange') unique_mandate_reference = fields.Char(size=35) # cf ISO 20022 - display_name = fields.Char(compute='compute_display_name', store=True) + display_name = fields.Char(compute='_compute_display_name2', store=True) @api.multi @api.constrains('type', 'recurrent_sequence_type') @@ -49,15 +49,14 @@ def _check_recurring_type(self): @api.multi @api.depends('unique_mandate_reference', 'recurrent_sequence_type') - def compute_display_name(self): + def _compute_display_name2(self): for mandate in self: if mandate.format == 'sepa': - name = '%s (%s)' % ( + mandate.display_name = '%s (%s)' % ( mandate.unique_mandate_reference, mandate.recurrent_sequence_type) else: - name = mandate.unique_mandate_reference - mandate.display_name = name + mandate.display_name = mandate.unique_mandate_reference @api.multi @api.onchange('partner_bank_id') diff --git a/account_banking_sepa_direct_debit/models/account_payment_method.py b/account_banking_sepa_direct_debit/models/account_payment_method.py index 4d6f5751a17..91344929e10 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_method.py +++ b/account_banking_sepa_direct_debit/models/account_payment_method.py @@ -1,4 +1,4 @@ -# © 2016 Akretion (Alexis de Lattre ) +# Copyright 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api diff --git a/account_banking_sepa_direct_debit/models/account_payment_mode.py b/account_banking_sepa_direct_debit/models/account_payment_mode.py index f561166522e..d294fe20015 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_mode.py +++ b/account_banking_sepa_direct_debit/models/account_payment_mode.py @@ -1,4 +1,4 @@ -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2016 Tecnativa - Antonio Espinosa # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api, _ diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index 28b8cfc0ea5..b43936aeec4 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -1,7 +1,8 @@ -# © 2016 Akretion (Alexis de Lattre ) +# Copyright 2016 Akretion (Alexis de Lattre ) +# Copyright 2018 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import api, models, _ +from odoo import _, api, fields, models from odoo.exceptions import UserError from lxml import etree @@ -114,6 +115,7 @@ def generate_payment_file(self): for (requested_date, priority, categ_purpose, sequence_type, scheme),\ lines in list(lines_per_group.items()): + requested_date = fields.Date.to_string(requested_date) # B. Payment info payment_info, nb_of_transactions_b, control_sum_b = \ self.generate_start_payment_info_block( @@ -187,8 +189,13 @@ def generate_payment_file(self): mandate_related_info, 'DtOfSgntr') mandate_signature_date.text = self._prepare_field( 'Mandate Signature Date', - 'line.mandate_id.signature_date', - {'line': line}, 10, gen_args=gen_args) + 'signature_date', + { + 'line': line, + 'signature_date': fields.Date.to_string( + line.mandate_id.signature_date, + ), + }, 10, gen_args=gen_args) if sequence_type == 'FRST' and line.mandate_id.last_debit_date: amendment_indicator = etree.SubElement( mandate_related_info, 'AmdmntInd') diff --git a/account_banking_sepa_direct_debit/models/bank_payment_line.py b/account_banking_sepa_direct_debit/models/bank_payment_line.py index 3f737f71ff1..ed51f6126c4 100644 --- a/account_banking_sepa_direct_debit/models/bank_payment_line.py +++ b/account_banking_sepa_direct_debit/models/bank_payment_line.py @@ -1,4 +1,4 @@ -# © 2015-2016 Akretion - Alexis de Lattre +# Copyright 2015-2016 Akretion - Alexis de Lattre # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, api diff --git a/account_banking_sepa_direct_debit/models/common.py b/account_banking_sepa_direct_debit/models/common.py index 9db8bec81e2..5395e30de23 100644 --- a/account_banking_sepa_direct_debit/models/common.py +++ b/account_banking_sepa_direct_debit/models/common.py @@ -1,6 +1,6 @@ -# © 2013-2016 Akretion (Alexis de Lattre ) -# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2013-2016 Akretion - Alexis de Lattre +# Copyright 2014 Tecnativa - Pedro M. Baeza +# Copyright 2016 Tecnativa - Antonio Espinosa # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). import logging @@ -18,7 +18,7 @@ def is_sepa_creditor_identifier_valid(sepa_creditor_identifier): return False try: sci = str(sepa_creditor_identifier).lower() - except: + except Exception: logger.warning( "SEPA Creditor ID should contain only ASCII characters.") return False diff --git a/account_banking_sepa_direct_debit/models/res_company.py b/account_banking_sepa_direct_debit/models/res_company.py index 46df0cb1c69..f708e400623 100644 --- a/account_banking_sepa_direct_debit/models/res_company.py +++ b/account_banking_sepa_direct_debit/models/res_company.py @@ -1,6 +1,6 @@ -# © 2013-2016 Akretion (Alexis de Lattre ) -# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2013-2016 Akretion - Alexis de Lattre +# Copyright 2014 Tecnativa - Pedro M. Baeza +# Copyright 2016 Tecnativa - Antonio Espinosa # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api, _ diff --git a/account_banking_sepa_direct_debit/models/res_config.py b/account_banking_sepa_direct_debit/models/res_config.py index 162d30d7e96..1875dfee98f 100644 --- a/account_banking_sepa_direct_debit/models/res_config.py +++ b/account_banking_sepa_direct_debit/models/res_config.py @@ -1,4 +1,4 @@ -# © 2016 Akretion (Alexis de Lattre ) +# Copyright 2016 Akretion - Alexis de Lattre # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models, fields diff --git a/account_banking_sepa_direct_debit/post_install.py b/account_banking_sepa_direct_debit/post_install.py index 88bc1c27771..7fc58e37bac 100644 --- a/account_banking_sepa_direct_debit/post_install.py +++ b/account_banking_sepa_direct_debit/post_install.py @@ -1,4 +1,4 @@ -# © 2016 Akretion (Alexis de Lattre ) +# Copyright 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import api, SUPERUSER_ID diff --git a/account_banking_sepa_direct_debit/tests/test_mandate.py b/account_banking_sepa_direct_debit/tests/test_mandate.py index c07f8b2c00d..7ed17c4215b 100644 --- a/account_banking_sepa_direct_debit/tests/test_mandate.py +++ b/account_banking_sepa_direct_debit/tests/test_mandate.py @@ -1,9 +1,9 @@ -# © 2016 Akretion (Alexis de Lattre ) +# Copyright 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import fields from odoo.tests.common import TransactionCase from odoo.exceptions import ValidationError -from datetime import datetime from dateutil.relativedelta import relativedelta @@ -26,7 +26,7 @@ def test_onchange_bank(self): self.assertEqual(self.mandate.recurrent_sequence_type, 'first') def test_expire(self): - self.mandate.signature_date = datetime.now() + relativedelta( + self.mandate.signature_date = fields.Date.today() + relativedelta( months=-50) self.mandate.validate() self.assertEqual(self.mandate.state, 'valid') diff --git a/account_banking_sepa_direct_debit/tests/test_sdd.py b/account_banking_sepa_direct_debit/tests/test_sdd.py index bace1e4e859..bf468284e9c 100644 --- a/account_banking_sepa_direct_debit/tests/test_sdd.py +++ b/account_banking_sepa_direct_debit/tests/test_sdd.py @@ -10,9 +10,6 @@ class TestSDD(common.HttpCase): - post_install = True - at_install = False - def setUp(self): super(TestSDD, self).setUp() self.company = self.env['res.company'] @@ -106,8 +103,7 @@ def setUp(self): 'unique_mandate_reference': 'BMTEST2', }) # Trigger the recompute of account type on res.partner.bank - for bank_acc in self.partner_bank_model.search([]): - bank_acc.acc_number = bank_acc.acc_number + self.partner_bank_model.search([])._compute_acc_type() def test_pain_001_02(self): self.payment_mode.payment_method_id.pain_version = 'pain.008.001.02' From 2cf1f83cd189113fd3502cb871e76e33126891d5 Mon Sep 17 00:00:00 2001 From: Thomas Binsfeld Date: Wed, 6 Feb 2019 16:49:54 +0100 Subject: [PATCH 36/83] [FIX] Account Banking SEPA Direct Debit: creditor identifier in config The sepa_creditor_identifier in res.config.settings is readonly by default (related) but should not. --- account_banking_sepa_direct_debit/models/res_config.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/account_banking_sepa_direct_debit/models/res_config.py b/account_banking_sepa_direct_debit/models/res_config.py index 1875dfee98f..47222bc9b2f 100644 --- a/account_banking_sepa_direct_debit/models/res_config.py +++ b/account_banking_sepa_direct_debit/models/res_config.py @@ -8,4 +8,6 @@ class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' sepa_creditor_identifier = fields.Char( - related='company_id.sepa_creditor_identifier') + related='company_id.sepa_creditor_identifier', + readonly=False, + ) From c54e0dda42c73e7d2a9520563a87f5caa1a20412 Mon Sep 17 00:00:00 2001 From: Thomas Binsfeld Date: Fri, 22 Feb 2019 13:49:43 +0100 Subject: [PATCH 37/83] [REF] Account Banking SEPA Direct Debit: check SEPA ready --- .../account_banking_sepa_direct_debit.pot | 19 +++++--- account_banking_sepa_direct_debit/i18n/de.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/es.po | 33 ++++++++----- account_banking_sepa_direct_debit/i18n/fr.po | 33 ++++++++----- account_banking_sepa_direct_debit/i18n/hr.po | 27 +++++++---- .../i18n/nb_NO.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/nl.po | 33 ++++++++----- .../i18n/pt_BR.po | 27 +++++++---- account_banking_sepa_direct_debit/i18n/sl.po | 33 ++++++++----- .../models/__init__.py | 1 + .../models/account_payment_line.py | 48 +++++++++++++++++++ .../models/account_payment_order.py | 32 ++----------- 12 files changed, 214 insertions(+), 126 deletions(-) create mode 100644 account_banking_sepa_direct_debit/models/account_payment_line.py 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 d03bb8e1e8a..206b4e5769c 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 @@ -125,7 +125,7 @@ msgid "As you changed the bank account attached to this mandate, the 'Sequence T msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." msgstr "" @@ -217,9 +217,9 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format -msgid "Missing SEPA Direct Debit mandate on the bank payment line with partner '%s' (reference '%s')." +msgid "Missing SEPA Direct Debit mandate on the line with partner {partner_name} (reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -234,6 +234,11 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +msgid "Payment Lines" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -322,15 +327,15 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format -msgid "The SEPA Direct Debit mandate with reference '%s' for partner '%s' has expired." +msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, 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 SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has type set to 'One-Off' but has a last debit date set to {last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/de.po b/account_banking_sepa_direct_debit/i18n/de.po index ceec46a5c1d..72dda49c52f 100644 --- a/account_banking_sepa_direct_debit/i18n/de.po +++ b/account_banking_sepa_direct_debit/i18n/de.po @@ -141,7 +141,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -243,11 +243,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -262,6 +262,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Bankzahlungszeilen" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -353,19 +359,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index e1d28468b87..2c725f38488 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -156,7 +156,7 @@ msgstr "" "'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -278,11 +278,11 @@ msgid "Mandate update" msgstr "Actualizacion de mandato" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Falta el mandato de adeudo directo SEPA en la linea de pago bancario de la " "empresa '%s' (referencia '%s')." @@ -299,6 +299,12 @@ msgstr "Único" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Líneas de pago bancario" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -393,21 +399,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "Identificador de acreedor SEPA '%s' no válido." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} 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/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." 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." diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 0e60c910ff3..1ce89d1d00c 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -156,7 +156,7 @@ msgstr "" "'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -274,11 +274,11 @@ msgid "Mandate update" msgstr "Mise-à-jour du mandat" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Absence du mandat de prélèvement SEPA sur la ligne de paiement bancaire avec " "le partenaire' %s' (référence'%s')." @@ -295,6 +295,12 @@ msgstr "One-Off" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Lignes de paiement bancaire" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -389,21 +395,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "L'identification de créancier SEPA \"%s\" est invalide." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} 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/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." 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." diff --git a/account_banking_sepa_direct_debit/i18n/hr.po b/account_banking_sepa_direct_debit/i18n/hr.po index 49c21f72814..55810956a5f 100644 --- a/account_banking_sepa_direct_debit/i18n/hr.po +++ b/account_banking_sepa_direct_debit/i18n/hr.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -242,11 +242,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -261,6 +261,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Stavke izvoda" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -352,19 +358,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/nb_NO.po b/account_banking_sepa_direct_debit/i18n/nb_NO.po index 46f93eba983..924b7bd983e 100644 --- a/account_banking_sepa_direct_debit/i18n/nb_NO.po +++ b/account_banking_sepa_direct_debit/i18n/nb_NO.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -242,11 +242,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -261,6 +261,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Betalingsordre" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -352,19 +358,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po index c84eeefa2d3..f5636bedb6c 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -156,7 +156,7 @@ msgstr "" "naar 'Eerste'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -271,11 +271,11 @@ msgid "Mandate update" msgstr "Machtiging bijwerken" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Missende SEPA Incasso mandaten op betaalregel met klant '%s' (referentie " "'%s')." @@ -292,6 +292,12 @@ msgstr "Eenmalig" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Bank betaalregels" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -386,20 +392,21 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "De SEPA Incassant-ID '%s' is ongeldig." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} 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/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." 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 " diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po index aa72119cf84..f480cdb09e1 100644 --- a/account_banking_sepa_direct_debit/i18n/pt_BR.po +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -243,11 +243,11 @@ msgid "Mandate update" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -262,6 +262,12 @@ msgstr "" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Linhas de pagamento bancária" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -353,19 +359,20 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po index cc1a9886699..d84bfbb573d 100644 --- a/account_banking_sepa_direct_debit/i18n/sl.po +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -157,7 +157,7 @@ msgstr "" "vrnil v 'Prvi'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:274 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -274,11 +274,11 @@ msgid "Mandate update" msgstr "Posodobitev mandata" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:78 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, fuzzy, python-format msgid "" -"Missing SEPA Direct Debit mandate on the bank payment line with partner " -"'%s' (reference '%s')." +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" "Pri postavki bančnega plačila partnerja '%s' (sklic '%s') manjka SEPA " "direktna obremenitev." @@ -295,6 +295,12 @@ msgstr "Enkratna" msgid "PAIN Version" msgstr "" +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +#, fuzzy +msgid "Payment Lines" +msgstr "Postavke bančnih plačil" + #. module: account_banking_sepa_direct_debit #: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method msgid "Payment Methods" @@ -389,21 +395,22 @@ msgid "The SEPA Creditor Identifier '%s' is invalid." msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, fuzzy, python-format msgid "" -"The SEPA Direct Debit mandate with reference '%s' for partner '%s' has " -"expired." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" "SEPA mandat za direktno obremenitev s sklicem '%s' za partnerja '%s' je " "potekel." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:93 -#, python-format +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, fuzzy, 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." +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" "Pri mandatu s sklicem '%s' za partnerja '%s' je tip nastavljen na " "'enkraten', zadnji datum obremenitve pa ima nastavljen na '%s', zato ga ne " diff --git a/account_banking_sepa_direct_debit/models/__init__.py b/account_banking_sepa_direct_debit/models/__init__.py index dea757dab40..390ed921621 100644 --- a/account_banking_sepa_direct_debit/models/__init__.py +++ b/account_banking_sepa_direct_debit/models/__init__.py @@ -6,3 +6,4 @@ from . import account_payment_mode from . import account_payment_method from . import account_payment_order +from . import account_payment_line diff --git a/account_banking_sepa_direct_debit/models/account_payment_line.py b/account_banking_sepa_direct_debit/models/account_payment_line.py new file mode 100644 index 00000000000..7b9b887ea02 --- /dev/null +++ b/account_banking_sepa_direct_debit/models/account_payment_line.py @@ -0,0 +1,48 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class AccountPaymentLine(models.Model): + _inherit = 'account.payment.line' + + @api.multi + def draft2open_payment_line_check(self): + res = super(AccountPaymentLine, self).draft2open_payment_line_check() + sepa_dd_lines = self.filtered( + lambda l: l.order_id.payment_method_id.code == 'sepa_direct_debit') + sepa_dd_lines._check_sepa_direct_debit_ready() + return res + + @api.multi + def _check_sepa_direct_debit_ready(self): + """ + This method checks whether the payment line(s) are ready to be used + in the SEPA Direct Debit file generation. + :raise: UserError if a line does not fulfils all requirements + """ + for rec in self: + if not rec.mandate_id: + raise UserError(_( + "Missing SEPA Direct Debit mandate on the line with " + "partner {partner_name} (reference {reference}).").format( + partner_name=rec.partner_id.name, reference=rec.name)) + if rec.mandate_id.state != 'valid': + raise UserError(_( + "The SEPA Direct Debit mandate with reference " + "{mandate_ref} for partner {partner_name} has " + "expired.").format( + mandate_ref=rec.mandate_id.unique_mandate_reference, + partner_name=rec.partner_id.name)) + if rec.mandate_id.type == 'oneoff' and \ + rec.mandate_id.last_debit_date: + raise UserError(_( + "The SEPA Direct Debit mandate with reference " + "{mandate_ref} for partner {partner_name} has type set " + "to 'One-Off' but has a last debit date set to " + "{last_debit_date}. Therefore, it cannot be used.").format( + mandate_ref=rec.mandate_id.unique_mandate_reference, + partner_name=rec.partner_id.name, + last_debit_date=rec.mandate_id.last_debit_date)) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index b43936aeec4..a365950fbab 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -69,44 +69,22 @@ def generate_payment_file(self): transactions_count_a += 1 priority = line.priority categ_purpose = line.category_purpose - # 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 UserError( - _("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 + seq_type_label = line.mandate_id.recurrent_sequence_type assert seq_type_label is not False seq_type = seq_type_map[seq_type_label] + # The field line.date is the requested payment date + # taking into account the 'date_preferred' setting + # cf account_banking_payment_export/models/account_payment.py + # in the inherit of action_open() key = (line.date, priority, categ_purpose, seq_type, scheme) if key in lines_per_group: lines_per_group[key].append(line) From a13726924ac7098a062a6f382a8228d95322cd8e Mon Sep 17 00:00:00 2001 From: Sergio Teruel Date: Fri, 22 Mar 2019 23:52:19 +0100 Subject: [PATCH 38/83] [12.0][FIX] account_banking_sepa_direct_debit: Fix positional arguments in message_post --- .../models/account_payment_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index a365950fbab..298d922e1e6 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -249,7 +249,7 @@ def generated2uploaded(self): 'recurrent_sequence_type': 'recurring', }) for first_mandate in first_mandates: - first_mandate.message_post(_( + first_mandate.message_post(body=_( "Automatically switched from First to " "Recurring when the debit order " " Date: Wed, 3 Apr 2019 10:31:11 +0000 Subject: [PATCH 39/83] Added translation using Weblate (Italian) --- account_banking_sepa_direct_debit/i18n/it.po | 441 +++++++++++++++++++ 1 file changed, 441 insertions(+) create mode 100644 account_banking_sepa_direct_debit/i18n/it.po diff --git a/account_banking_sepa_direct_debit/i18n/it.po b/account_banking_sepa_direct_debit/i18n/it.po new file mode 100644 index 00000000000..d5cf57bfbab --- /dev/null +++ b/account_banking_sepa_direct_debit/i18n/it.po @@ -0,0 +1,441 @@ +# 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 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Account Number - IBAN:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address of the Debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Address:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country of the debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Country:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Creditor's Name:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Date - Location:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Debtor's Name:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Identifier:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Mandate Reference:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Postal Code - City - Town:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Signature of the debtor:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Type of payment:" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db: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 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "Sepa Direct Debit Mandate" +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 +#: model_terms: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 "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:76 +#, python-format +msgid "As you changed the bank account attached to this mandate, the 'Sequence Type' has been set back to 'First'." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#, python-format +msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." +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 "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Basic (CORE)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 +msgid "Basic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" + +#. 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 +#: model:ir.model,name:account_banking_sepa_direct_debit.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__display_name +msgid "Display Name" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier +#: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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 "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,scheme:0 +msgid "Enterprise (B2B)" +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:account.banking.mandate,recurrent_sequence_type:0 +msgid "First" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,type:0 +msgid "Generic Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format +msgid "Mandate Format" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:75 +#, python-format +msgid "Mandate update" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 +#, python-format +msgid "Missing SEPA Direct Debit mandate on the line with partner {partner_name} (reference {reference})." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +msgid "One-Off" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_payment_method__pain_version +msgid "PAIN Version" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_line +msgid "Payment Lines" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_method +msgid "Payment Methods" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model,name:account_banking_sepa_direct_debit.model_account_payment_order +msgid "Payment Order" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:41 +#, 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 +#: selection:account.banking.mandate,type:0 +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +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 +#: 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 +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_res_config_settings__sepa_creditor_identifier +msgid "SEPA Creditor Identifier" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:account.payment.method,name:account_banking_sepa_direct_debit.sepa_direct_debit +msgid "SEPA Direct Debit for customers" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:account.payment.mode,name:account_banking_sepa_direct_debit.payment_mode_inbound_sepa_dd1 +msgid "SEPA Direct Debit of customers" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__scheme +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +msgid "Scheme" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.banking.mandate,format:0 +#: model:ir.actions.report,name:account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate +msgid "Sepa Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree +msgid "Sequence Type" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.actions.server,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron_ir_actions_server +#: model:ir.cron,cron_name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +#: model:ir.cron,name:account_banking_sepa_direct_debit.sdd_mandate_expire_cron +msgid "Set SEPA Direct Debit Mandates to Expired" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_mode.py:31 +#: code:addons/account_banking_sepa_direct_debit/models/res_company.py:30 +#, python-format +msgid "The SEPA Creditor Identifier '%s' is invalid." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 +#, python-format +msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has expired." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 +#, python-format +msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has type set to 'One-Off' but has a last debit date set to {last_debit_date}. Therefore, it cannot be used." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_banking_mandate.py:47 +#, python-format +msgid "The recurrent mandate '%s' must have a sequence type." +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: 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 "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the creditor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document +msgid "To be completed by the debtor" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_search +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_mandate_tree +msgid "Type" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__type +msgid "Type of Mandate" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__unique_mandate_reference +msgid "Unique Mandate Reference" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.view_account_config_settings +msgid "Write the ICS of your company" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.02" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.03 (recommended for credit transfer)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.001.05" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.001.003.03 (credit transfer in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.02 (recommended for direct debit)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.03" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.001.04" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: selection:account.payment.method,pain_version:0 +msgid "pain.008.003.02 (direct debit in Germany)" +msgstr "" + +#. module: account_banking_sepa_direct_debit +#: model_terms: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 "" From 1228c582158ce6cceeab38a77cf9b66574431fac Mon Sep 17 00:00:00 2001 From: Marco Calcagni Date: Sat, 4 May 2019 21:13:50 +0000 Subject: [PATCH 40/83] Translated using Weblate (Italian) Currently translated at 22.1% (17 of 77 strings) Translation: bank-payment-12.0/bank-payment-12.0-account_banking_sepa_direct_debit Translate-URL: https://translation.odoo-community.org/projects/bank-payment-12-0/bank-payment-12-0-account_banking_sepa_direct_debit/it/ --- account_banking_sepa_direct_debit/i18n/it.po | 38 ++++++++++---------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/account_banking_sepa_direct_debit/i18n/it.po b/account_banking_sepa_direct_debit/i18n/it.po index d5cf57bfbab..faf0936f982 100644 --- a/account_banking_sepa_direct_debit/i18n/it.po +++ b/account_banking_sepa_direct_debit/i18n/it.po @@ -6,98 +6,100 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2019-05-05 00:02+0000\n" +"Last-Translator: Marco Calcagni \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.5.1\n" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Account Number - IBAN:" -msgstr "" +msgstr "Numero Conto - IBAN:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address of the Debtor:" -msgstr "" +msgstr "Indirizzo del debitore:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Address:" -msgstr "" +msgstr "Indirizzo:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country of the debtor:" -msgstr "" +msgstr "Nazione del debitore:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Country:" -msgstr "" +msgstr "Paese:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Creditor's Name:" -msgstr "" +msgstr "Nome del Creditore:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Date - Location:" -msgstr "" +msgstr "Data - Locazione:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Debtor's Name:" -msgstr "" +msgstr "Nome Debitore:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Identifier:" -msgstr "" +msgstr "Identificativo:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Mandate Reference:" -msgstr "" +msgstr "Riferimento del Mandato:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Postal Code - City - Town:" -msgstr "" +msgstr "Cap - Città - Località:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Signature of the debtor:" -msgstr "" +msgstr "Firma del Debitore:" #. module: account_banking_sepa_direct_debit #: model_terms: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 "" +msgstr "Swift BIC (fino a 8 o 11 caratteri):" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Type of payment:" -msgstr "" +msgstr "Tipo di pagamento:" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Business-To-Business Direct debit Mandate" -msgstr "" +msgstr "Mandato Sepa Business-To-Business Direct debit" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document msgid "Sepa Direct Debit Mandate" -msgstr "" +msgstr "Mandato Sepa Direct Debit" #. 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 "" +msgstr "Un generico mandato bancario" #. module: account_banking_sepa_direct_debit #: model_terms:ir.ui.view,arch_db:account_banking_sepa_direct_debit.sepa_direct_debit_mandate_document From b0789c1749e6ddf530b171053116ed4f575e0253 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Sun, 19 May 2019 16:39:33 +0200 Subject: [PATCH 41/83] [IMP] account_banking_sepa_direct_debit: Rise exception if the mandate type is not correct Closes #600 --- account_banking_sepa_direct_debit/README.rst | 2 +- .../account_banking_sepa_direct_debit.pot | 8 +- account_banking_sepa_direct_debit/i18n/de.po | 8 +- account_banking_sepa_direct_debit/i18n/es.po | 8 +- account_banking_sepa_direct_debit/i18n/fr.po | 8 +- account_banking_sepa_direct_debit/i18n/hr.po | 8 +- account_banking_sepa_direct_debit/i18n/it.po | 91 ++++++++++++++----- .../i18n/nb_NO.po | 8 +- account_banking_sepa_direct_debit/i18n/nl.po | 8 +- .../i18n/pt_BR.po | 8 +- account_banking_sepa_direct_debit/i18n/sl.po | 8 +- .../models/account_payment_order.py | 7 +- .../static/description/index.html | 4 +- 13 files changed, 139 insertions(+), 37 deletions(-) diff --git a/account_banking_sepa_direct_debit/README.rst b/account_banking_sepa_direct_debit/README.rst index 8a74f3de333..9e27232fadd 100644 --- a/account_banking_sepa_direct_debit/README.rst +++ b/account_banking_sepa_direct_debit/README.rst @@ -20,7 +20,7 @@ Account Banking SEPA Direct Debit :target: https://translation.odoo-community.org/projects/bank-payment-12-0/bank-payment-12-0-account_banking_sepa_direct_debit :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/97/12.0 + :target: https://runbot.odoo-community.org/runbot/173/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| 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 206b4e5769c..fdc96d08147 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 @@ -125,7 +125,7 @@ msgid "As you changed the bank account attached to this mandate, the 'Sequence T msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." msgstr "" @@ -205,6 +205,12 @@ msgstr "" msgid "Generic Mandate" msgstr "" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" diff --git a/account_banking_sepa_direct_debit/i18n/de.po b/account_banking_sepa_direct_debit/i18n/de.po index 72dda49c52f..766b0307442 100644 --- a/account_banking_sepa_direct_debit/i18n/de.po +++ b/account_banking_sepa_direct_debit/i18n/de.po @@ -141,7 +141,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -231,6 +231,12 @@ msgstr "Erstes" msgid "Generic Mandate" msgstr "Sepa Mandat" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" diff --git a/account_banking_sepa_direct_debit/i18n/es.po b/account_banking_sepa_direct_debit/i18n/es.po index 2c725f38488..1b9c2919f7d 100644 --- a/account_banking_sepa_direct_debit/i18n/es.po +++ b/account_banking_sepa_direct_debit/i18n/es.po @@ -156,7 +156,7 @@ msgstr "" "'Tipo de secuencia' se ha vuelto a 'Inicial'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -265,6 +265,12 @@ msgstr "Inicial" msgid "Generic Mandate" msgstr "Mandato SEPA" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format #, fuzzy diff --git a/account_banking_sepa_direct_debit/i18n/fr.po b/account_banking_sepa_direct_debit/i18n/fr.po index 1ce89d1d00c..dfcba4450fb 100644 --- a/account_banking_sepa_direct_debit/i18n/fr.po +++ b/account_banking_sepa_direct_debit/i18n/fr.po @@ -156,7 +156,7 @@ msgstr "" "'Type de séquence' a été remis à 'First'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -261,6 +261,12 @@ msgstr "First" msgid "Generic Mandate" msgstr "Mandat SEPA" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format #, fuzzy diff --git a/account_banking_sepa_direct_debit/i18n/hr.po b/account_banking_sepa_direct_debit/i18n/hr.po index 55810956a5f..bde63f08adb 100644 --- a/account_banking_sepa_direct_debit/i18n/hr.po +++ b/account_banking_sepa_direct_debit/i18n/hr.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -230,6 +230,12 @@ msgstr "" msgid "Generic Mandate" msgstr "" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" diff --git a/account_banking_sepa_direct_debit/i18n/it.po b/account_banking_sepa_direct_debit/i18n/it.po index faf0936f982..97df72a6196 100644 --- a/account_banking_sepa_direct_debit/i18n/it.po +++ b/account_banking_sepa_direct_debit/i18n/it.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_banking_sepa_direct_debit +# * account_banking_sepa_direct_debit # msgid "" msgstr "" @@ -103,34 +103,48 @@ msgstr "Un generico mandato bancario" #. module: account_banking_sepa_direct_debit #: model_terms: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." +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 #: model_terms: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." +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 #: model_terms: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" +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." +" 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: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 "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format -msgid "Automatically switched from First to Recurring when the debit order %s has been marked as uploaded." +msgid "" +"Automatically switched from First to Recurring when the debit " +"order %s has " +"been marked as uploaded." msgstr "" #. module: account_banking_sepa_direct_debit @@ -170,7 +184,10 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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" +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" @@ -181,7 +198,9 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_company__sepa_creditor_identifier #: model:ir.model.fields,help:account_banking_sepa_direct_debit.field_res_config_settings__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" +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" @@ -208,6 +227,12 @@ msgstr "" msgid "Generic Mandate" msgstr "" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" @@ -222,7 +247,9 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:28 #, python-format -msgid "Missing SEPA Direct Debit mandate on the line with partner {partner_name} (reference {reference})." +msgid "" +"Missing SEPA Direct Debit mandate on the line with partner {partner_name} " +"(reference {reference})." msgstr "" #. module: account_banking_sepa_direct_debit @@ -260,7 +287,10 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:41 #, 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 "" #. module: account_banking_sepa_direct_debit @@ -332,13 +362,18 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:33 #, python-format -msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has expired." +msgid "" +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has expired." msgstr "" #. module: account_banking_sepa_direct_debit #: code:addons/account_banking_sepa_direct_debit/models/account_payment_line.py:41 #, python-format -msgid "The SEPA Direct Debit mandate with reference {mandate_ref} for partner {partner_name} has type set to 'One-Off' but has a last debit date set to {last_debit_date}. Therefore, it cannot be used." +msgid "" +"The SEPA Direct Debit mandate with reference {mandate_ref} for partner " +"{partner_name} has type set to 'One-Off' but has a last debit date set to " +"{last_debit_date}. Therefore, it cannot be used." msgstr "" #. module: account_banking_sepa_direct_debit @@ -349,15 +384,20 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: 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." +msgid "" +"This field is only used for Recurrent mandates, not for One-Off mandates." msgstr "" #. module: account_banking_sepa_direct_debit #: model_terms: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." +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 @@ -438,6 +478,9 @@ msgstr "" #. module: account_banking_sepa_direct_debit #: model_terms: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" +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/nb_NO.po b/account_banking_sepa_direct_debit/i18n/nb_NO.po index 924b7bd983e..7463779f75c 100644 --- a/account_banking_sepa_direct_debit/i18n/nb_NO.po +++ b/account_banking_sepa_direct_debit/i18n/nb_NO.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -230,6 +230,12 @@ msgstr "" msgid "Generic Mandate" msgstr "" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" diff --git a/account_banking_sepa_direct_debit/i18n/nl.po b/account_banking_sepa_direct_debit/i18n/nl.po index f5636bedb6c..55d03b939ed 100644 --- a/account_banking_sepa_direct_debit/i18n/nl.po +++ b/account_banking_sepa_direct_debit/i18n/nl.po @@ -156,7 +156,7 @@ msgstr "" "naar 'Eerste'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -258,6 +258,12 @@ msgstr "Eerste" msgid "Generic Mandate" msgstr "Sepa mandaat" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format #, fuzzy diff --git a/account_banking_sepa_direct_debit/i18n/pt_BR.po b/account_banking_sepa_direct_debit/i18n/pt_BR.po index f480cdb09e1..988b796d6ea 100644 --- a/account_banking_sepa_direct_debit/i18n/pt_BR.po +++ b/account_banking_sepa_direct_debit/i18n/pt_BR.po @@ -142,7 +142,7 @@ msgid "" msgstr "" #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -231,6 +231,12 @@ msgstr "" msgid "Generic Mandate" msgstr "Uma ordem bancária genérica" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format msgid "Mandate Format" diff --git a/account_banking_sepa_direct_debit/i18n/sl.po b/account_banking_sepa_direct_debit/i18n/sl.po index d84bfbb573d..d12918d19ae 100644 --- a/account_banking_sepa_direct_debit/i18n/sl.po +++ b/account_banking_sepa_direct_debit/i18n/sl.po @@ -157,7 +157,7 @@ msgstr "" "vrnil v 'Prvi'." #. module: account_banking_sepa_direct_debit -#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:252 +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:257 #, python-format msgid "" "Automatically switched from First to Recurring when the debit " @@ -261,6 +261,12 @@ msgstr "Prva" msgid "Generic Mandate" msgstr "SEPA mandat" +#. module: account_banking_sepa_direct_debit +#: code:addons/account_banking_sepa_direct_debit/models/account_payment_order.py:85 +#, python-format +msgid "Invalid mandate type in '%s'. Valid ones are 'Recurrent' or 'One-Off'" +msgstr "" + #. module: account_banking_sepa_direct_debit #: model:ir.model.fields,field_description:account_banking_sepa_direct_debit.field_account_banking_mandate__format #, fuzzy diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index 298d922e1e6..4e0d5ec176b 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -2,7 +2,7 @@ # Copyright 2018 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import _, api, fields, models +from odoo import _, api, exceptions, fields, models from odoo.exceptions import UserError from lxml import etree @@ -81,6 +81,11 @@ def generate_payment_file(self): seq_type_label = line.mandate_id.recurrent_sequence_type assert seq_type_label is not False seq_type = seq_type_map[seq_type_label] + else: + raise exceptions.UserError(_( + "Invalid mandate type in '%s'. Valid ones are 'Recurrent' " + "or 'One-Off'" + ) % line.mandate_id.unique_mandate_reference) # The field line.date is the requested payment date # taking into account the 'date_preferred' setting # cf account_banking_payment_export/models/account_payment.py diff --git a/account_banking_sepa_direct_debit/static/description/index.html b/account_banking_sepa_direct_debit/static/description/index.html index bf47363e8d8..6d00ecb15a7 100644 --- a/account_banking_sepa_direct_debit/static/description/index.html +++ b/account_banking_sepa_direct_debit/static/description/index.html @@ -3,7 +3,7 @@ - + Account Banking SEPA Direct Debit