Panorama : l'héritage de la télétransmission à la française
Le CFONB (Comité français d'organisation et de normalisation bancaires) a normalisé dès les années 1980 des formats d'échange à positions fixes, où chaque donnée occupe des colonnes précises d'un enregistrement de longueur constante. Transportés à l'époque par ETEBAC (arrêté en 2011, remplacé par EBICS), ces formats irriguent encore massivement les échanges banque-entreprise français en 2026.
| Format | Longueur d'enregistrement | Usage | Statut 2026 |
|---|---|---|---|
| CFONB120 | 120 caractères | Relevé de compte (restitution banque → client) | Toujours très répandu, concurrencé par camt.053 |
| CFONB160 | 160 caractères | Virements et prélèvements nationaux (émission) | Quasi éteint : remplacé par pain.001 / pain.008 depuis la fin de migration SEPA (2014-2016) |
| CFONB240 | 240 caractères | Remises et restitutions LCR / BOR (effets de commerce) | Toujours le standard : la LCR n'a pas d'équivalent SEPA |
| CFONB320 | 320 caractères | Virements internationaux (émission) | Résiduel, remplacé par pain.001 |
Structure du CFONB120 : quatre types d'enregistrements
Un fichier CFONB120 est une suite d'enregistrements de 120 caractères exactement, sans séparateur de champs, où seule la position compte. Pour chaque compte et chaque journée, la séquence enchaîne un enregistrement 01 (ancien solde), zéro à n mouvements 04, chacun pouvant être suivi d'enregistrements 05 de complément, puis un enregistrement 07 (nouveau solde). Plusieurs comptes/journées se concatènent dans le même fichier.
- 01 (Ancien solde) : reprend le solde de clôture de la journée précédente.
- 04 (Mouvement) : une écriture ; porte dates, code opération, libellé, montant signé, référence.
- 05 (Complément d'information) : 0 à n par mouvement ; zone qualifiée (
LIBlibellé complémentaire,RCNréférence client SEPA / EndToEndId,MMOmontant d'origine en devise…). - 07 (Nouveau solde) : solde de clôture de la journée ; devient le 01 du lendemain.
| Positions | Long. | Contenu | Exemple |
|---|---|---|---|
| 1-2 | 2 | Code enregistrement | 04 |
| 3-7 | 5 | Code banque | 30004 |
| 8-11 | 4 | Code opération interne (propre à la banque) | (espaces) |
| 12-16 | 5 | Code guichet | 00812 |
| 17-19 | 3 | Code devise ISO | EUR |
| 20 | 1 | Nombre de décimales du montant | 2 |
| 21 | 1 | Zone réservée | |
| 22-32 | 11 | Numéro de compte | 00012345678 |
| 33-34 | 2 | Code opération interbancaire (AFB) | 15 |
| 35-40 | 6 | Date de comptabilisation (JJMMAA) | 100726 |
| 41-42 | 2 | Code motif de rejet | (espaces) |
| 43-48 | 6 | Date de valeur (JJMMAA) | 100726 |
| 49-79 | 31 | Libellé | VIR SEPA ADYEN NV BATCH 42 |
| 80-81 | 2 | Zone réservée | |
| 82-88 | 7 | Numéro d'écriture | 0004512 |
| 89-90 | 2 | Indice exonération / indisponibilité | |
| 91-104 | 14 | Montant signé : 13 chiffres + dernier caractère « overpunch » | 0000000125000{ |
| 105-120 | 16 | Zone référence | REF7593012 |
{ = +0, A…I = +1…+9, } = −0, J…R = −1…−9. 0000000125000{ vaut donc +12 500,00 € et 0000000018405} vaut −1 840,50 €. Un parseur qui lit ce champ comme un entier se trompe à la fois sur le dernier chiffre et sur le signe, et produit donc des soldes faux.Les codes opérations interbancaires AFB
Le code à deux caractères des positions 33-34 qualifie la nature de l'opération selon la table interbancaire maintenue par le CFONB (héritée de l'AFB). Il constitue l'ancêtre fonctionnel du Bank Transaction Code ISO 20022, en beaucoup moins granulaire.
| Code | Libellé usuel |
|---|---|
01 | Chèque payé |
05 | Prélèvement, TIP, télérèglement (débit) |
15 | Virement reçu |
18 | Virement émis |
41 | Virement international reçu |
91 | Impayé sur prélèvement |
Exemple complet de CFONB120 annoté
Journée du 10/07/2026, même compte et mêmes opérations que l'exemple camt.053 du topic précédent, de quoi lire le même relevé dans les deux formats. Payout Adyen de 12 500,00 € (code 15, avec un enregistrement 05 portant l'EndToEndId), prélèvement de 1 840,50 € (code 05). Les lignes # sont des annotations. Les autres sont les enregistrements réels de 120 caractères, dont les espaces de remplissage terminaux sont tronqués ici pour la lisibilité.
# NB : chaque enregistrement fait exactement 120 caracteres dans le fichier
# reel ; les espaces de remplissage jusqu'a la position 120 sont tronques ici.
# --- Enregistrement 01 : ancien solde au 09/07/2026 ------------------------
# pos 1-2 = 01 ; pos 3-7 banque 30004 ; pos 12-16 guichet 00812 ; pos 17-19 EUR
# pos 22-32 compte ; pos 35-40 date 090726 ; pos 91-104 montant +152 340,25
# (0000001523402 + E : E = dernier chiffre 5, signe credit)
0130004 00812EUR2 00012345678 090726 0000001523402E
# --- Enregistrement 04 : virement recu (payout Adyen) -----------------------
# pos 33-34 = 15 (virement recu) ; dates comptable/valeur 100726 ;
# libelle pos 49-79 ; n° ecriture 0004512 ; montant +12 500,00 (...125000 + {)
# reference pos 105-120 = REF7593012
0430004 00812EUR2 0001234567815100726 100726VIR SEPA ADYEN NV BATCH 42 0004512 0000000125000{REF7593012
# --- Enregistrement 05 : complement du mouvement precedent ------------------
# pos 46-48 = qualifiant RCN (reference client) ; zone 49-118 = EndToEndId
# SEPA complet, non tronque : la cle de matching avec le settlement report
0530004 00812EUR2 0001234567815100726 RCNADYEN-SETTLEMENT-2026-BATCH42
# --- Enregistrement 04 : prelevement SEPA debite ----------------------------
# pos 33-34 = 05 (prelevement) ; montant -1 840,50 (0000000018405 + }) ;
# reference pos 105-120 = RUM-FONCDOCKS-00 (RUM tronquee a 16 caracteres !)
0430004 00812EUR2 0001234567805100726 100726PRLV SEPA FONCIERE DES DOCKS 0004513 0000000018405}RUM-FONCDOCKS-00
# --- Enregistrement 07 : nouveau solde au 10/07/2026 ------------------------
# 152 340,25 + 12 500,00 - 1 840,50 = 162 999,75 (0000001629997 + E)
0730004 00812EUR2 00012345678 100726 0000001629997E- Contrôle d'intégrité identique au MT940 : ancien solde + Σ mouvements signés = nouveau solde, et le 07 du jour = le 01 du lendemain.
- La zone référence de 16 caractères (pos 105-120) souffre de la même troncature que le
:61:du MT940, d'où l'enregistrement 05RCNajouté pour les besoins SEPA. - Comparez avec le camt.053 équivalent : mêmes données, mais en XML auto-descriptif contre des positions à connaître par cœur.
CFONB240 (LCR/BOR) et CFONB160 (l'ancêtre)
Le CFONB240 structure les remises et restitutions d'effets de commerce : lettre de change relevé (LCR) et billet à ordre relevé (BOR). Il couvre la remise à l'encaissement ou à l'escompte, les relevés d'effets à payer, les avis de sort (payé / impayé avec motif). L'effet de commerce est un instrument purement national, et aucun format SEPA ne le remplace. Le CFONB240 reste en 2026 le standard opérationnel des entreprises qui travaillent en LCR, dans le BTP, le négoce et l'industrie.
Le CFONB160 portait l'émission des virements et prélèvements nationaux (RIB en positions fixes, 160 caractères). La migration SEPA l'a éteint. Depuis les échéances réglementaires de 2014-2016, les remises se font en pain.001 (virements) et pain.008 (prélèvements, avec gestion des mandats RUM). On ne le rencontre plus que dans de vieux systèmes en sursis, jamais dans une chaîne construite après la migration.
Qui utilise encore quoi en 2026 ?
| Flux | Format dominant | Challenger | Tendance |
|---|---|---|---|
| Relevé de compte quotidien (PME/ETI) | CFONB120 via EBICS | camt.053 | Bascule progressive, tirée par les TMS et les nouvelles API bancaires issues de la DSP2 |
| Relevé de compte (grands groupes, multi-pays) | camt.053 (via EBICS, FileAct ou API) | MT940 en secours international | camt généralisé, MT940 en extinction douce |
| Relevé intraday | camt.052 / MT942 | API DSP2 et premium | L'API grignote l'intraday fichier |
| Émission virements / prélèvements | pain.001 / pain.008 | – | Acquis depuis 2014 |
| Effets de commerce (LCR/BOR) | CFONB240 | – | Stable, aucun remplaçant annoncé |
Les banques françaises facturent généralement chaque abonnement de restitution séparément, de sorte que CFONB120 et camt.053 font deux lignes tarifaires. Une migration suppose donc de budgéter la double restitution sur un trimestre de recette parallèle, puis de résilier l'ancien flux une fois le nouveau format validé.
Et ailleurs dans le monde. Le même mécanisme, ailleurs.
Le format de fichier bancaire national à positions fixes
Au Japon, l'équivalent du CFONB est le format Zengin défini par la Japanese Bankers Association : enregistrements de 120 caractères à positions fixes, structurés en quatre types identifiés par le premier octet, soit en-tête (1), données (2), fin de lot (8) et fin de fichier (9).
全国銀行協会 / Japanese Bankers Association, « 適用業務およびレコード・フォーマット », https://www.zenginkyo.or.jp/fileadmin/res/abstract/efforts/system/jba_protocol_pc.pdf
Au Brésil, la fédération bancaire FEBRABAN publie le Layout Padrão CNAB 240 (enregistrements de 240 positions pour l'échange d'informations entre banques et entreprises), dont la version 10.11 date du 21 août 2023.
FEBRABAN, « Layout 240 », https://portal.febraban.org.br/pagina/3053/1177/pt-br/layout-240
Aux États-Unis, le fichier de place est le format Nacha, régi par les Nacha Operating Rules et déposé auprès du service FedACH de la Réserve fédérale ; c'est une association professionnelle, non un comité de normalisation bancaire national, qui en tient la spécification.
Federal Reserve Financial Services, « FedACH Services », https://www.frbservices.org/financial-services/ach
Le canal par lequel l'entreprise transmet ses fichiers à sa banque
En Allemagne, en Suisse et en Autriche, le canal est le même qu'en France : EBICS, dont la spécification est pilotée par la société EBICS SC réunissant le CFONB (France), Die Deutsche Kreditwirtschaft (Allemagne), SIX (Suisse) et Payment Services Austria. Le successeur d'ETEBAC est donc devenu un standard multi-bancaire européen, pas un protocole franco-français.
EBICS SC, https://www.ebics.org/en/
Aux États-Unis, il n'existe pas d'équivalent d'EBICS : les fichiers ACH sont transmis à la Réserve fédérale par ses canaux propriétaires FedLine (FedLine Web, FedLine Command ou FedLine Direct), selon le volume et le degré d'automatisation.
Federal Reserve Financial Services, « FedACH Services », https://www.frbservices.org/financial-services/ach
Au Japon, les virements domestiques transitent par le Zengin System, réseau national exploité par la Japanese Banks' Payment Clearing Network (Zengin-Net), qui opère aussi le Zengin EDI System : celui-ci permet de joindre au virement des informations de gestion (numéros de paiement et de facture) directement exploitables pour le lettrage.
Japanese Banks' Payment Clearing Network (Zengin-Net), https://www.zengin-net.jp/en/zengin_net/