Qu'est-ce qu'un IBAN ?
L'IBAN (International Bank Account Number – Numéro de compte bancaire international) est un standard international de numérotation des comptes bancaires développé par l'Organisation internationale de normalisation (ISO) et le Comité européen de normalisation bancaire (CENB). Il a été introduit dans le cadre de la modernisation des paiements internationaux afin de remplacer les systèmes nationaux disparates par un format unique et universellement reconnaissable.
Avant l'IBAN, chaque pays avait son propre format de numéro de compte, rendant les virements transfrontaliers complexes, coûteux et sujets aux erreurs. L'IBAN standardise cette information en ajoutant un préfixe pays et des chiffres de contrôle au numéro de compte national existant.
Structure de l'IBAN français
L'IBAN français a une longueur fixe de 27 caractères :
- FR – Code pays (2 lettres)
- 76 – Chiffres de contrôle (2 chiffres)
- 12345 – Code banque (5 chiffres)
- 67890 – Code guichet (5 chiffres)
- 12345678901 – Numéro de compte (11 chiffres)
- 85 – Clé RIB (2 chiffres)
Exemple d'IBAN français complet : FR7612345678901234567890185
Structure de l'IBAN allemand
L'IBAN allemand a une longueur de 22 caractères :
- DE – Code pays
- 89 – Chiffres de contrôle
- 370400440 – Code bancaire (Bankleitzahl, 8 chiffres)
- 0532013000 – Numéro de compte (10 chiffres)
Exemple : DE89370400440532013000
L'IBAN expliqué étape par étape
Étape 1 : Le code pays
Les deux premières lettres d'un IBAN correspondent au code ISO 3166-1 alpha-2 du pays de la banque. Par exemple, FR pour la France, DE pour l'Allemagne, ES pour l'Espagne, IT pour l'Italie, NL pour les Pays-Bas. Ce code identifie non seulement le pays mais aussi le format de l'IBAN qui suit.
Étape 2 : Les chiffres de contrôle (algorithme Mod-97)
Les deux chiffres qui suivent le code pays sont les chiffres de contrôle IBAN. Ils sont calculés selon l'algorithme Mod-97 (modulo 97) et permettent de vérifier que l'IBAN entier est syntaxiquement correct. Ce système de contrôle permet de détecter environ 97 % des erreurs de saisie typiques.
Le calcul des chiffres de contrôle fonctionne de la manière suivante :
- Déplacer les 4 premiers caractères à la fin de l'IBAN
- Remplacer chaque lettre par sa valeur numérique (A=10, B=11, ..., Z=35)
- Calculer le reste de la division entière par 97
- Pour un IBAN valide, le résultat doit être 1 (et non pas 0)
Exemple de validation IBAN : FR7612345678901234567890185
- Déplacer les 4 premiers caractères :
12345678901234567890185FR76 - Remplacer les lettres : F=15, R=27 →
1234567890123456789018515276 - Calculer : 1234567890123456789018515276 mod 97 = 1 ✓
Étape 3 : Le BBAN (Basic Bank Account Number)
Le reste de l'IBAN après le code pays et les chiffres de contrôle est le BBAN (Basic Bank Account Number). Il correspond au numéro de compte national, reformaté selon les règles du pays concerné. Sa structure et sa longueur varient d'un pays à l'autre.
Qu'est-ce qu'un BIC ?
Le BIC (Bank Identifier Code), également connu sous le nom de code SWIFT, est un code d'identification unique attribué à chaque banque. Il est utilisé pour identifier les établissements financiers dans les transactions internationales et les systèmes de messagerie interbancaire.
Structure du BIC
Un BIC peut avoir 8 ou 11 caractères :
- Code banque (4 lettres) : Identifiant unique de la banque. Exemple :
SOGEpour Société Générale - Code pays (2 lettres) : Code ISO du pays. Exemple :
FRpour la France - Code location (2 caractères) : Indique la localisation du siège social ou de l'unité principale. Exemple :
PP - Code branche (3 caractères, optionnel) : Identifie une agence spécifique. Si absent ou remplacé par
XXX, fait référence au siège principal
Exemples de BIC : SOGEFRPPXXX (Société Générale France), BNPAFRPPXXX (BNP Paribas France), DEUTDEDBXXX (Deutsche Bank Allemagne)
Où trouver son BIC ?
Votre BIC figure généralement sur :
- Votre relevé de compte bancaire
- La page d'informations de compte de votre application bancaire
- Le site web officiel de votre banque (section « Coordonnées bancaires »)
- Votre RIB (Relevé d'Identité Bancaire) pour les banques françaises
Le BIC est-il obligatoire pour un GiroCode ?
Optionnel depuis la migration SEPA 2016
La réponse courte est : non, pas pour la plupart des cas d'usage.
Depuis le 1er février 2016, date de la migration SEPA complète en Europe, le BIC n'est plus obligatoire pour les virements SEPA intra-européens. Les banques sont désormais capables d'identifier l'établissement financier du bénéficiaire uniquement à partir de l'IBAN, en utilisant des bases de données centralisées de correspondance IBAN-BIC.
Dans la norme EPC v002 (la version actuelle), le champ BIC (ligne 5 du payload) est donc optionnel. Notre générateur de GiroCode vous permet de renseigner le BIC si vous le souhaitez, mais ne l'exige pas.
Quand le BIC est-il encore nécessaire ?
Malgré la règle générale, il existe des situations où le BIC reste utile ou même nécessaire :
- Virements vers des pays hors zone euro : Pour certains virements vers des pays qui font partie de la zone SEPA mais n'utilisent pas l'euro (comme la Suède, la Pologne, la Hongrie, la République tchèque, etc.), certaines banques peuvent encore exiger le BIC.
- Compatibilité avec les anciens systèmes : Certaines applications bancaires plus anciennes ou systèmes de traitement intermédiaires peuvent ne pas avoir implémenté la résolution automatique IBAN-BIC. Dans ces cas, fournir le BIC assure une compatibilité maximale.
- Virements urgents (SEPA Instant) : Pour les virements instantanés SEPA, certaines banques recommandent d'inclure le BIC pour éviter tout délai de traitement.
Recommandation pratique
Si vous connaissez votre BIC, incluez-le dans votre GiroCode – cela ne coûte rien et améliore la compatibilité. Si vous ne le connaissez pas, laissez ce champ vide : le GiroCode fonctionnera correctement dans la grande majorité des cas.
Validation IBAN expliquée
Pourquoi valider l'IBAN avant de créer un GiroCode ?
Une simple erreur dans l'IBAN peut avoir des conséquences graves :
- Virement rejeté : Si l'IBAN mal saisi ne correspond à aucun compte existant, le virement sera rejeté par la banque, souvent avec des frais supplémentaires.
- Virement vers un mauvais compte : Dans le pire des cas, si l'IBAN incorrectement saisi correspond par hasard à un compte existant (d'une autre personne), le virement sera effectué vers le mauvais destinataire. Récupérer l'argent peut être long et compliqué.
- Délais et coûts : Les erreurs d'IBAN causent des retards de paiement et potentiellement des frais bancaires.
L'algorithme Mod-97 étape par étape
Voici comment fonctionne la validation Mod-97 d'un IBAN, en détail :
- Normaliser l'IBAN : Supprimer tous les espaces et mettre en majuscules.
FR76 1234 5678...→FR7612345678... - Réorganiser : Déplacer les 4 premiers caractères (code pays + chiffres de contrôle) à la fin.
FR7612345678901234567890185→12345678901234567890185FR76 - Convertir les lettres : Remplacer chaque lettre par sa valeur numérique (A=10, B=11, C=12, ..., Z=35).
F=15,R=27→1234567890123456789018515276 - Calculer le reste : Diviser le grand nombre obtenu par 97 et calculer le reste.
- Vérifier : Si le reste est 1, l'IBAN est valide. Si c'est une autre valeur, l'IBAN contient une erreur.
Exemple de code JavaScript pour la validation IBAN
/**
* Valide un IBAN selon l'algorithme Mod-97
* @param {string} iban - L'IBAN à valider (avec ou sans espaces)
* @returns {boolean} true si l'IBAN est valide
*/
function validateIBAN(iban) {
// Supprimer les espaces et mettre en majuscules
const cleaned = iban.replace(/\s/g, '').toUpperCase();
// Vérifier la longueur minimale
if (cleaned.length < 5) return false;
// Vérifier que le format commence par 2 lettres puis 2 chiffres
if (!/^[A-Z]{2}[0-9]{2}/.test(cleaned)) return false;
// Réorganiser: déplacer les 4 premiers caractères à la fin
const rearranged = cleaned.slice(4) + cleaned.slice(0, 4);
// Convertir les lettres en chiffres
const numeric = rearranged.split('').map(char => {
const code = char.charCodeAt(0);
if (code >= 65 && code <= 90) {
return (code - 55).toString(); // A=10, B=11, ..., Z=35
}
return char;
}).join('');
// Calculer Mod-97 sur de grands nombres
// (JavaScript ne supporte pas nativement les très grands entiers en BigInt)
let remainder = 0;
for (const digit of numeric) {
remainder = (remainder * 10 + parseInt(digit)) % 97;
}
return remainder === 1;
}
// Tests :
console.log(validateIBAN('FR76 1234 5678 9012 3456 7890 185')); // true
console.log(validateIBAN('DE89 3704 0044 0532 0130 00')); // true
console.log(validateIBAN('FR76 1234 5678 9012 3456 7890 186')); // false (chiffre erroné)
console.log(validateIBAN('XX00 0000 0000 0000 0000 000')); // false (pays inexistant)Erreurs courantes de saisie IBAN
Les erreurs les plus fréquentes lors de la saisie manuelle d'un IBAN sont :
- Transposition de chiffres : Inverser deux chiffres consécutifs (
...1234...devient...2134...) - Chiffres répétés : Doubler un chiffre par erreur (
...1234...devient...11234...) - Confusion O/0 et I/1 : Confondre la lettre O et le chiffre 0, ou la lettre I et le chiffre 1 (bien que les IBAN n'utilisent théoriquement pas ces caractères ambigus)
- Mauvais code pays : Saisir le mauvais préfixe (par exemple
BEau lieu deFR)
Formats IBAN par pays
Voici un tableau récapitulatif des formats IBAN pour les principaux pays de la zone SEPA :
| Pays | Code | Longueur | Exemple |
|---|---|---|---|
| France | FR | 27 | FR7612345678901234567890185 |
| Allemagne | DE | 22 | DE89370400440532013000 |
| Autriche | AT | 20 | AT611904300235473201 |
| Suisse | CH | 21 | CH5604835012345678009 |
| Espagne | ES | 24 | ES9121000418450200051332 |
| Italie | IT | 27 | IT60X0542811101000000123456 |
| Pays-Bas | NL | 18 | NL91ABNA0417164300 |
| Belgique | BE | 16 | BE68539007547034 |
| Portugal | PT | 25 | PT50000201231234567890154 |
| Luxembourg | LU | 20 | LU280019400644750000 |
Sécurité de l'IBAN dans le GiroCode
Est-il sûr de partager son IBAN ?
L'IBAN est une donnée semi-publique. Il figure déjà sur les chèques, les RIB (relevés d'identité bancaire) et les factures. Le partager pour recevoir des virements ne présente pas de risque intrinsèque, car un IBAN seul ne permet que de recevoir des paiements, pas d'en initier.
Cependant, il faut être conscient que votre IBAN peut être utilisé pour des prélèvements SEPA (débit direct). Si quelqu'un obtient votre IBAN et votre nom, il pourrait théoriquement initier un prélèvement non autorisé – bien que la réglementation SEPA offre une protection : vous avez le droit de contester tout prélèvement non autorisé dans un délai de 13 mois et d'être remboursé immédiatement.
GiroCode et confidentialité
Un GiroCode contient votre IBAN, votre nom et éventuellement votre montant de facturation. Si vous publiez ce code QR publiquement (sur un site web, par exemple), toute personne peut en extraire ces informations. Pour les factures envoyées à des clients spécifiques, ce n'est généralement pas un problème. Mais pour un code QR utilisé dans un contexte public, soyez conscient que l'IBAN sera visible par quiconque scanne le code.
IBAN pour virement vs. prélèvement
Il est important de comprendre la différence fondamentale :
- Virement SEPA (SCT) : Vous donnez l'ordre de payer. Le GiroCode initie un virement depuis le compte du payeur vers votre compte. Vous êtes le bénéficiaire passif.
- Prélèvement SEPA (SDD) : Vous autorisez quelqu'un d'autre à prélever de l'argent sur votre compte. Cela nécessite un mandat de prélèvement signé et ne peut pas être initié via un GiroCode.
En d'autres termes, un GiroCode ne peut jamais être utilisé pour prélever de l'argent sur le compte du payeur sans son consentement explicite. La confirmation dans l'application bancaire constitue ce consentement.
Utiliser GiroCode professionnellement – Recommandations logicielles
Quiconque souhaite utiliser des GiroCodes de manière professionnelle sur ses factures aura tôt ou tard besoin d'un bon logiciel de comptabilité ou de facturation. Créer des GiroCodes manuellement convient pour un usage occasionnel – mais pour une facturation régulière, une solution automatisée est rapidement rentable.
Nous recommandons deux outils éprouvés qui prennent en charge nativement les GiroCodes :
sevDesk
sevDesk est l'une des principales plateformes comptables allemandes pour les indépendants et les PME. Les factures avec GiroCode généré automatiquement peuvent être créées en quelques clics et envoyées directement par e-mail.
Tester sevDesk gratuitement *FastBill
FastBill propose une plateforme de facturation simple et rapide. Avec FastBill, vous créez une facture professionnelle incluant un GiroCode en moins de deux minutes – directement dans le navigateur, sans installation.
Tester FastBill gratuitement ** Lien affilié – Si vous achetez via ce lien, nous percevons une petite commission sans frais supplémentaires pour vous.
Pour un usage occasionnel, nous recommandons notre générateur de GiroCode gratuit – entièrement local, sans inscription.