Define a new res.partner.bank.type.field "iban-rib" to store both RIB (old French format) and I

BAN on the same res.partner.bank.

On res.partner.bank, we now use the field 'rib_acc_number' instead of 'acc_number' to store the RIB bank account number.

Fix inheritance of the view 'view_partner_rib1_form' : it must inherit account.view_partner_property_form and not base.view_partner_form !

Add RIB fields to standard tree and form of res.partner.bank (not just the res.partner form view)

Add max size on RIB fields.

Replaced _construct_constraint_msg function by a raise in the check function : it simplifies the code and avoids a double browse on the object in case of invalid RIB.

Constraint now declares all the fields that must trigger the check.

Updated French translation.

bzr revid: alexis@via.ecp.fr-20120127150103-2khrxo0j2wfrrffa
This commit is contained in:
Alexis de Lattre 2012-01-27 16:01:03 +01:00
parent 8fd922a96a
commit 31c2873468
6 changed files with 307 additions and 165 deletions

View File

@ -100,7 +100,7 @@ class res_partner_bank(osv.osv):
Check the IBAN number Check the IBAN number
''' '''
for bank_acc in self.browse(cr, uid, ids, context=context): for bank_acc in self.browse(cr, uid, ids, context=context):
if bank_acc.state<>'iban': if bank_acc.state not in ('iban', 'iban-rib'):
continue continue
iban = _format_iban(bank_acc.acc_number).lower() iban = _format_iban(bank_acc.acc_number).lower()
if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]: if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]:

View File

@ -31,18 +31,18 @@ class res_partner_bank(osv.osv):
"""Check the RIB key""" """Check the RIB key"""
for bank_acc in self.browse(cr, uid, ids): for bank_acc in self.browse(cr, uid, ids):
# Ignore the accounts of type other than rib # Ignore the accounts of type other than rib
if bank_acc.state !='rib': if bank_acc.state not in ('rib', 'iban-rib'):
continue continue
# Fail if the needed values are empty of too short # Fail if the needed values are empty of too short
if (not bank_acc.bank_code if (not bank_acc.bank_code
or len(bank_acc.bank_code) != 5 or len(bank_acc.bank_code) != 5
or not bank_acc.office or len(bank_acc.office) != 5 or not bank_acc.office or len(bank_acc.office) != 5
or not bank_acc.acc_number or len(bank_acc.acc_number) != 11 or not bank_acc.rib_acc_number or len(bank_acc.rib_acc_number) != 11
or not bank_acc.key or len(bank_acc.key) != 2): or not bank_acc.key or len(bank_acc.key) != 2):
return False return False
# Get the rib data (without the key) # Get the rib data (without the key)
rib = "%s%s%s" % (bank_acc.bank_code, bank_acc.office, rib = "%s%s%s" % (bank_acc.bank_code, bank_acc.office,
bank_acc.acc_number) bank_acc.rib_acc_number)
# Translate letters into numbers according to a specific table # Translate letters into numbers according to a specific table
# (notice how s -> 2) # (notice how s -> 2)
table = dict((ord(a), b) for a, b in zip( table = dict((ord(a), b) for a, b in zip(
@ -51,7 +51,15 @@ class res_partner_bank(osv.osv):
# compute the key # compute the key
key = 97 - (100 * int(rib)) % 97 key = 97 - (100 * int(rib)) % 97
if int(bank_acc.key) != key: if int(bank_acc.key) != key:
return False raise osv.except_osv(_('Error'),
_("The RIB key %s does not correspond to the other "
"codes: %s %s %s.") %
(bank_acc.key, bank_acc.bank_code,
bank_acc.office, bank_acc.rib_acc_number) )
if bank_acc.state == 'iban-rib':
if not self.check_iban(cr, uid, [bank_acc.id]):
raise osv.except_osv(_('Error'),
_("The IBAN %s is not valid.") % bank_acc.acc_number)
return True return True
def onchange_bank_id(self, cr, uid, ids, bank_id, context=None): def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
@ -66,31 +74,18 @@ class res_partner_bank(osv.osv):
return result return result
_columns = { _columns = {
'acc_number': fields.char('Account Number', size=64, required=False),
'rib_acc_number': fields.char('RIB account number', size=11, readonly=True,),
'bank_code': fields.char('Bank Code', size=64, readonly=True,), 'bank_code': fields.char('Bank Code', size=64, readonly=True,),
'office': fields.char('Office Code', size=5, readonly=True,), 'office': fields.char('Office Code', size=5, readonly=True,),
'key': fields.char('Key', size=2, readonly=True, 'key': fields.char('Key', size=2, readonly=True,
help="The key is a number allowing to check the " help="The key is a number allowing to check the "
"correctness of the other codes."), "correctness of the other codes."),
} }
def _construct_constraint_msg(self, cr, uid, ids, context=None):
"""Quote the data in the warning message"""
# Only process the first id
if type(ids) not in (int, long):
id = ids[0]
rib = self.browse(cr, uid, id, context=context)
if rib:
return (_("\nThe RIB key %s does not correspond to the other "
"codes: %s %s %s.") %
(rib.key,
rib.bank_code,
rib.office,
rib.acc_number) )
_constraints = [(_check_key, _constraints = [(_check_key, 'Error message in raise',
_construct_constraint_msg, ['acc_number', 'rib_acc_number', 'bank_code', 'office', 'key'])]
["key"])]
res_partner_bank() res_partner_bank()
class res_bank(osv.osv): class res_bank(osv.osv):

View File

@ -9,21 +9,23 @@
<field name="name">RIB Bank Details</field> <field name="name">RIB Bank Details</field>
<field name="code">rib</field> <field name="code">rib</field>
</record> </record>
<record id="rib_bank_code_field" model="res.partner.bank.type.field"> <record id="rib_bank_code_field" model="res.partner.bank.type.field">
<field name="name">bank_code</field> <field name="name">bank_code</field>
<field name="bank_type_id" ref="bank_rib"/> <field name="bank_type_id" ref="bank_rib"/>
<field eval="True" name="required"/> <field eval="True" name="required"/>
<field eval="False" name="readonly"/> <field eval="False" name="readonly"/>
<field name="size">5</field>
</record> </record>
<record id="rib_office_field" model="res.partner.bank.type.field"> <record id="rib_office_field" model="res.partner.bank.type.field">
<field name="name">office</field> <field name="name">office</field>
<field name="bank_type_id" ref="bank_rib"/> <field name="bank_type_id" ref="bank_rib"/>
<field eval="True" name="required"/> <field eval="True" name="required"/>
<field eval="False" name="readonly"/> <field eval="False" name="readonly"/>
<field name="size">5</field>
</record> </record>
<record id="bank_acc_number_field" model="res.partner.bank.type.field"> <record id="rib_rib_acc_number_field" model="res.partner.bank.type.field">
<field name="name">acc_number</field> <field name="name">rib_acc_number</field>
<field name="bank_type_id" ref="bank_rib"/> <field name="bank_type_id" ref="bank_rib"/>
<field eval="True" name="required"/> <field eval="True" name="required"/>
<field eval="False" name="readonly"/> <field eval="False" name="readonly"/>
@ -34,11 +36,66 @@
<field name="bank_type_id" ref="bank_rib"/> <field name="bank_type_id" ref="bank_rib"/>
<field eval="True" name="required"/> <field eval="True" name="required"/>
<field eval="False" name="readonly"/> <field eval="False" name="readonly"/>
<field name="size">2</field>
</record>
<record id="rib_acc_number_field" model="res.partner.bank.type.field">
<field name="name">acc_number</field>
<field name="bank_type_id" ref="bank_rib"/>
<field eval="False" name="required"/>
<field eval="True" name="readonly"/>
</record> </record>
<record id="rib_bic_field" model="res.partner.bank.type.field"> <record id="rib_bic_field" model="res.partner.bank.type.field">
<field name="name">bank_bic</field> <field name="name">bank_bic</field>
<field name="bank_type_id" ref="bank_rib"/> <field name="bank_type_id" ref="bank_rib"/>
<field name="required" eval="False"/>
</record>
<!-- IBAN and RIB -->
<record id="bank_iban_rib" model="res.partner.bank.type">
<field name="name">IBAN and RIB</field>
<field name="code">iban-rib</field>
</record>
<record id="iban_rib_bank_code_field" model="res.partner.bank.type.field">
<field name="name">bank_code</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="size">5</field>
</record>
<record id="iban_rib_office_field" model="res.partner.bank.type.field">
<field name="name">office</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="size">5</field>
</record>
<record id="iban_rib_rib_acc_number_field" model="res.partner.bank.type.field">
<field name="name">rib_acc_number</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="size">11</field>
</record>
<record id="iban_rib_key_field" model="res.partner.bank.type.field">
<field name="name">key</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="size">2</field>
</record>
<record id="iban_rib_acc_number_field" model="res.partner.bank.type.field">
<field name="name">acc_number</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
</record>
<record id="iban_rib_bic_field" model="res.partner.bank.type.field">
<field name="name">bank_bic</field>
<field name="bank_type_id" ref="bank_iban_rib"/>
<field name="required" eval="0"/> <field name="required" eval="0"/>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -5,29 +5,56 @@
<record id="view_partner_rib1_form" model="ir.ui.view"> <record id="view_partner_rib1_form" model="ir.ui.view">
<field name="name">res.partner.form.rib1.inherit</field> <field name="name">res.partner.form.rib1.inherit</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" /> <field name="inherit_id" ref="account.view_partner_property_form" />
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="acc_number" position="before"> <data>
<newline /> <xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/form/field[@name='acc_number']" position="before">
<field name="bank_code" /> <newline />
<field name="office" /> <field name="bank_code" />
<newline /> <field name="office" />
</field> <field name="rib_acc_number" />
<field name="key" />
<newline />
</xpath>
<xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after">
<field name="rib_acc_number" />
</xpath>
</data>
</field> </field>
</record> </record>
<record id="view_partner_rib2_form" model="ir.ui.view">
<field name="name">res.partner.form.rib2.inherit</field> <!-- add RIB fields to the form view of res.partner.bank -->
<field name="model">res.partner</field> <record id="view_partner_bank_rib_form" model="ir.ui.view">
<field name="inherit_id" ref="base.view_partner_form" /> <field name="name">res.partner.bank.form.rib.inherit</field>
<field name="type">form</field> <field name="model">res.partner.bank</field>
<field name="arch" type="xml"> <field name="inherit_id" ref="base.view_partner_bank_form" />
<field name="acc_number" position="after"> <field name="type">form</field>
<field name="key" /> <field name="arch" type="xml">
</field> <field name="acc_number" position="before">
</field> <field name="bank_code" />
</record> <field name="office" />
<newline />
<field name="rib_acc_number" />
<field name="key" />
<newline />
</field>
</field>
</record>
<!-- add rib_acc_number to the tree view of res.partner.bank -->
<record id="view_partner_bank_rib_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree.rib.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree" />
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<field name="rib_acc_number" />
</field>
</field>
</record>
<!-- add the bank code--> <!-- add the bank code-->
<record id="view_res_bank_form" model="ir.ui.view"> <record id="view_res_bank_form" model="ir.ui.view">
<field name="name">res.bank.form.rib.inherit</field> <field name="name">res.bank.form.rib.inherit</field>

View File

@ -4,10 +4,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: OpenERP Server 6.1beta\n" "Project-Id-Version: OpenERP Server 6.1rc1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-21 12:37+0000\n" "POT-Creation-Date: 2012-01-27 14:22+0000\n"
"PO-Revision-Date: 2011-11-21 12:37+0000\n" "PO-Revision-Date: 2012-01-27 14:22+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -16,46 +16,11 @@ msgstr ""
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: constraint:res.partner.bank:0 #: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_office_field
msgid "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Comptes bancaires"
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr "Code banque"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr "bank_bic"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field #: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
msgid "office" msgid "office"
msgstr "Agence" msgstr "Agence"
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr "Code banque RIB"
#. module: l10n_fr_rib
#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
msgid "\n"
"This module installs the base for RIB bank accounts (French standard for bank accounts). \n"
"To make it easier to enter RIB data, it will also allow to search for banks by code."
msgstr "\n"
"Ce module installe la base pour les comptes bancaires RIB (norme française pour les n° de compte). \n"
"Pour faciliter la saisie des RIBs, il permet aussi de chercher les banques par code."
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: field:res.partner.bank,office:0 #: field:res.partner.bank,office:0
msgid "Office Code" msgid "Office Code"
@ -66,51 +31,110 @@ msgstr "Code agence"
msgid "RIB Bank Details" msgid "RIB Bank Details"
msgstr "Relevé d'identité bancaire (RIB)" msgstr "Relevé d'identité bancaire (RIB)"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr "bank_code"
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:109
#, python-format
msgid "\n"
"The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr "\n"
"La clé RIB %s ne correspond pas aux autres codes : %s %s %s."
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr "key"
#. module: l10n_fr_rib
#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
msgid "French RIB Bank Details"
msgstr "Relevés d'identité bancaire français (RIB)"
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: help:res.partner.bank,key:0 #: help:res.partner.bank,key:0
msgid "The key is a number allowing to check the correctness of the other codes." msgid "The key is a number allowing to check the correctness of the other codes."
msgstr "La clé est un nombre permettant de vérifier que les autres codes sont corrects." msgstr "La clé est un nombre permettant de vérifier que les autres codes sont corrects."
#. module: l10n_fr_rib
#: field:res.partner.bank,rib_acc_number:0
msgid "RIB account number"
msgstr "Numéro de compte RIB"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,name:l10n_fr_rib.bank_iban_rib
msgid "IBAN and RIB"
msgstr "IBAN et RIB"
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:62
#, python-format
msgid "The IBAN %s is not valid."
msgstr "L'IBAN %s n'est pas valide."
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: field:res.partner.bank,key:0 #: field:res.partner.bank,key:0
msgid "Key" msgid "Key"
msgstr "Clé" msgstr "Clé"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr "%(bank_name)s: %(acc_number)s"
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_bank #: model:ir.model,name:l10n_fr_rib.model_res_bank
msgid "Bank" msgid "Bank"
msgstr "Banque" msgstr "Banque"
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field #: constraint:res.partner.bank:0
msgid "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bank_code_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr "bank_code"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_key_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr "key"
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:54
#: code:addons/l10n_fr_rib/bank.py:61
#, python-format
msgid "Error"
msgstr "Error"
#. module: l10n_fr_rib
#: constraint:res.partner.bank:0
msgid "Error message in raise"
msgstr "Error message in raise"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_acc_number_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_acc_number_field
msgid "acc_number" msgid "acc_number"
msgstr "acc_number" msgstr "acc_number"
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr "Code banque"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bic_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr "bank_bic"
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr "Code banque RIB"
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Comptes bancaires"
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:55
#, python-format
msgid "The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr "La clé RIB %s ne correspond pas aux autres codes : %s %s %s."
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_rib_acc_number_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_rib_acc_number_field
msgid "rib_acc_number"
msgstr "rib_acc_number"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_iban_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr "%(bank_name)s: %(acc_number)s"

View File

@ -4,10 +4,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: OpenERP Server 6.1beta\n" "Project-Id-Version: OpenERP Server 6.1rc1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-12-22 18:45+0000\n" "POT-Creation-Date: 2012-01-27 14:22+0000\n"
"PO-Revision-Date: 2011-12-22 18:45+0000\n" "PO-Revision-Date: 2012-01-27 14:22+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -16,36 +16,11 @@ msgstr ""
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: constraint:res.partner.bank:0 #: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_office_field
msgid "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr ""
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field #: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
msgid "office" msgid "office"
msgstr "" msgstr ""
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: field:res.partner.bank,office:0 #: field:res.partner.bank,office:0
msgid "Office Code" msgid "Office Code"
@ -56,45 +31,109 @@ msgstr ""
msgid "RIB Bank Details" msgid "RIB Bank Details"
msgstr "" msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr ""
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:83
#, python-format
msgid "\n"
"The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr ""
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: help:res.partner.bank,key:0 #: help:res.partner.bank,key:0
msgid "The key is a number allowing to check the correctness of the other codes." msgid "The key is a number allowing to check the correctness of the other codes."
msgstr "" msgstr ""
#. module: l10n_fr_rib
#: field:res.partner.bank,rib_acc_number:0
msgid "RIB account number"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type,name:l10n_fr_rib.bank_iban_rib
msgid "IBAN and RIB"
msgstr ""
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:62
#, python-format
msgid "The IBAN %s is not valid."
msgstr ""
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: field:res.partner.bank,key:0 #: field:res.partner.bank,key:0
msgid "Key" msgid "Key"
msgstr "" msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr ""
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_bank #: model:ir.model,name:l10n_fr_rib.model_res_bank
msgid "Bank" msgid "Bank"
msgstr "" msgstr ""
#. module: l10n_fr_rib #. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field #: constraint:res.partner.bank:0
msgid "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bank_code_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_key_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr ""
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:54
#: code:addons/l10n_fr_rib/bank.py:61
#, python-format
msgid "Error"
msgstr ""
#. module: l10n_fr_rib
#: constraint:res.partner.bank:0
msgid "Error message in raise"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_acc_number_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_acc_number_field
msgid "acc_number" msgid "acc_number"
msgstr "" msgstr ""
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bic_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr ""
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:55
#, python-format
msgid "The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_rib_acc_number_field
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_rib_acc_number_field
msgid "rib_acc_number"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_iban_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr ""