Référence🏦 Réconciliation bancaireAvancé⏱ 15 min de lecture

🗂️ Les formats français CFONB

CFONB120, 160, 240 : les formats à positions fixes de la place française, avec structure, codes AFB, exemple annoté et état des lieux 2026

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.

FormatLongueur d'enregistrementUsageStatut 2026
CFONB120120 caractèresRelevé de compte (restitution banque → client)Toujours très répandu, concurrencé par camt.053
CFONB160160 caractèresVirements et prélèvements nationaux (émission)Quasi éteint : remplacé par pain.001 / pain.008 depuis la fin de migration SEPA (2014-2016)
CFONB240240 caractèresRemises et restitutions LCR / BOR (effets de commerce)Toujours le standard : la LCR n'a pas d'équivalent SEPA
CFONB320320 caractèresVirements internationaux (émission)Résiduel, remplacé par pain.001
Les formats CFONB principaux
ℹ️
Cette longévité tient au parc installé, où des milliers d'ERP, logiciels comptables et TMS français parsent le CFONB120 depuis trente ans, et à un format frugal et stable qui se prête bien aux chaînes batch. La bascule vers camt.053 se fait banque par banque, au rythme des refontes de back-office, et elle laisse longtemps les deux formats en service.

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.

n° de comptelibelléMONTANT signéréférence11020304050607080901001101200000000125000{13 chiffres + 1 caractère « overpunch »{ = +0 } = −0 A…I = +1…9 J…R = −1…9Code opération (33-34)il décide du sens de l'écriture05/06 virement · B1 prélèv. · C1/C2 carte1-2 04 · 3-7 code banque · 8-11 interne · 12-16 guichet · 17-19 devise · 20-21 déc. · 33-34 CIB35-40 date compta · 41-42 rejet · 43-48 date valeur · 80-81 rés. · 82-88 n° écriture · 89-90 exoMontant : signe cachéSens de l’écritureLibellé libreAucun séparateur, aucun en-tête : un décalage d’une seule colonne fausse tout le fichier. Les codes opération sont à vérifier dans le référentiel CFONB en vigueur.
  • 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 (LIB libellé complémentaire, RCN référence client SEPA / EndToEndId, MMO montant d'origine en devise…).
  • 07 (Nouveau solde) : solde de clôture de la journée ; devient le 01 du lendemain.
PositionsLong.ContenuExemple
1-22Code enregistrement04
3-75Code banque30004
8-114Code opération interne (propre à la banque)(espaces)
12-165Code guichet00812
17-193Code devise ISOEUR
201Nombre de décimales du montant2
211Zone réservée
22-3211Numéro de compte00012345678
33-342Code opération interbancaire (AFB)15
35-406Date de comptabilisation (JJMMAA)100726
41-422Code motif de rejet(espaces)
43-486Date de valeur (JJMMAA)100726
49-7931LibelléVIR SEPA ADYEN NV BATCH 42
80-812Zone réservée
82-887Numéro d'écriture0004512
89-902Indice exonération / indisponibilité
91-10414Montant signé : 13 chiffres + dernier caractère « overpunch »0000000125000{
105-12016Zone référenceREF7593012
Positions clés de l'enregistrement 04 (mouvement)
⚠️
L'overpunch, piège n° 1 du CFONB120
Le dernier caractère du montant code à la fois le dernier chiffre et le signe (héritage des cartes perforées) : { = +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.

CodeLibellé usuel
01Chèque payé
05Prélèvement, TIP, télérèglement (débit)
15Virement reçu
18Virement émis
41Virement international reçu
91Impayé sur prélèvement
Codes opérations interbancaires usuels (extraits)
ℹ️
La table complète est diffusée par le CFONB, et certaines banques la complètent par des codes internes (positions 8-11) plus fins. Le code AFB ne distingue pas SCT et SCT Inst, ni Core et B2B pour les prélèvements. Ce niveau de détail se lit dans les enregistrements 05 qualifiés, ou dans un camt.053.

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é.

Fichier CFONB120, journée du 10/07/2026 (annoté)
# 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 05 RCN ajouté 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.

1er février 2014
End-date SEPA (règlement UE 260/2012)
Les formats nationaux doivent céder la place aux formats SEPA pour virements et prélèvements.
1er août 2014
Fin de la période de tolérance
Le CFONB160 cesse d'être accepté pour les virements et prélèvements ordinaires.
1er février 2016
Fin des produits de niche
TIP et télérèglement basculent vers leurs équivalents SEPA (TIP SEPA, prélèvement).
2026
État stable
pain/camt pour le SEPA, CFONB240 pour les effets, CFONB120 toujours massif en restitution de relevés.

Qui utilise encore quoi en 2026 ?

FluxFormat dominantChallengerTendance
Relevé de compte quotidien (PME/ETI)CFONB120 via EBICScamt.053Bascule 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 internationalcamt généralisé, MT940 en extinction douce
Relevé intradaycamt.052 / MT942API DSP2 et premiumL'API grignote l'intraday fichier
Émission virements / prélèvementspain.001 / pain.008–Acquis depuis 2014
Effets de commerce (LCR/BOR)CFONB240–Stable, aucun remplaçant annoncé
État des lieux des formats de relevé et de remise en France (2026)
🔑
En France, un moteur de réconciliation doit donc savoir parser au minimum CFONB120 et camt.053, souvent MT940 pour les comptes étrangers, et CFONB240 si l'entreprise manipule des effets. L'abstraction interne recommandée repose sur un modèle d'écriture pivot unique, alimenté par des parseurs par format.

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

Japon

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

Brésil

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

États-Unis

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

Allemagne

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/

États-Unis

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

Japon

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/