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]"