Technique

Erreur IBAN Factur-X : format ISO 13616, longueur FR/DE/BE — validation MOD-97

2 min de lecture Par FacturX API

L'IBAN en Factur-X (BT-84) doit respecter le format ISO 13616 sans séparateurs, avec une longueur fixe par pays et une clé MOD-97 valide.

En bref

  • L’IBAN dans PayeePartyCreditorFinancialAccount/IBANID (BT-84) doit respecter le format IBAN (ISO 13616), utilisé notamment dans les paiements SEPA.
  • Format : 2 lettres pays + 2 chiffres clé + BBAN — sans espaces ni séparateurs.
  • Longueurs fixes par pays : FR=27, DE=22, BE=16, ES=24, IT=27, PT=25, NL=18, LU=20.
  • Erreur fréquente : IBAN avec espaces tous les 4 chiffres (format d’affichage humain).
  • Réparable automatiquement par /repair (normalisation + validation MOD-97).

Ce que l’erreur veut dire

L’IBAN (International Bank Account Number, ISO 13616) dans Factur-X est exposé via PayeePartyCreditorFinancialAccount/IBANID (BT-84). La norme ISO 13616 exige : (1) aucun caractère séparateur (espaces, tirets, points) ; (2) longueur fixe par pays (FR=27, DE=22, BE=16, ES=24, IT=27, PT=25, NL=18, LU=20, …) ; (3) clé de contrôle MOD-97 valide. SWIFT est l’autorité d’enregistrement IBAN. Le format IBAN est utilisé dans les paiements SEPA mais n’est pas « la norme SEPA » en soi.

Quand cette erreur arrive

Survient avec : (a) IBAN copié-collé depuis un RIB au format humain (espaces tous les 4 chars) ; (b) ERP qui sérialise l’IBAN avec un format de présentation au lieu du format ISO ; (c) IBAN tronqué ou trop long (faute de saisie) ; (d) clé MOD-97 invalide (faute de saisie sur les 2 chiffres de contrôle).

Exemple XML qui déclenche l’erreur

<ram:PayeePartyCreditorFinancialAccount>
  <ram:IBANID>FR76 3000 4000 0312 3456 7890 143</ram:IBANID>  <!-- ❌ espaces -->
</ram:PayeePartyCreditorFinancialAccount>

Exemple XML corrigé

<ram:PayeePartyCreditorFinancialAccount>
  <ram:IBANID>FR7630004000031234567890143</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>

Correction manuelle

Supprimer tous les séparateurs avant l’export : iban.replace(/\s/g, '').toUpperCase(). Vérifier la longueur attendue selon le pays. Vérifier la clé MOD-97 (algorithme : déplacer les 4 premiers caractères à la fin, remplacer chaque lettre par sa position alphabétique + 9, calculer mod 97, doit valoir 1).

Réparable automatiquement par /repair ?

Oui — l’endpoint /repair corrige automatiquement cette erreur dans la majorité des cas.

Et maintenant ?

Réparer mon Factur-X →

curl -X POST https://api.facturxapi.com/api/v1/repair \
  -H "Authorization: Bearer VOTRE_CLE" \
  -F "[email protected]"

Voir aussi

#en16931 #schematron #factur-x #erreurs #validation