Le format CFONB 120 expliqué (2026) : structure, enregistrements 01/04/05/07, montants

Mis à jour le · 8 min de lecture

Le CFONB 120 est le format français de relevé de compte défini par le Comité Français d'Organisation et de Normalisation Bancaires : un fichier texte à largeur fixe, 120 caractères par ligne, où chaque ligne est un enregistrement typé par ses deux premiers caractères : 01 ancien solde, 04 mouvement, 05 complément d'information, 07 nouveau solde. Les montants occupent 14 caractères et leur signe est codé dans le dernier caractère, qui remplace le dernier chiffre : { et A à I pour un montant positif (0 à 9), } et J à R pour un montant négatif (0 à 9). C'est le format livré par les banques via EBICS et lu nativement par Cegid, ACD, Isacompta, MyUnisoft et Sage 100.

Structure générale d'un fichier

Un relevé CFONB 120 couvre un compte et une période. Il s'organise en un enregistrement 01 (ancien solde), une suite d'enregistrements 04 (mouvements) chacun suivi éventuellement d'un ou plusieurs 05 (compléments), puis un enregistrement 07 (nouveau solde). Plusieurs comptes ou plusieurs périodes peuvent se succéder dans le même fichier, chacun encadré par un 01 et un 07. Pas de ligne d'en-tête de fichier, pas de séparateur : la largeur fixe fait office de structure.

Enregistrement 01 : ancien solde

PositionsLongueurContenu
1-22Code enregistrement 01
3-75Code banque
8-114Zone réservée
12-165Code guichet
17-193Code devise (EUR)
201Nombre de décimales (2 pour l'euro)
211Zone réservée
22-3211Numéro de compte
33-342Zone réservée
35-406Date de l'ancien solde, JJMMAA
41-9050Zone réservée
91-10414Montant de l'ancien solde, signe dans le dernier caractère
105-12016Zone réservée

Enregistrement 04 : mouvement

PositionsLongueurContenu
1-22Code enregistrement 04
3-75Code banque
8-114Code opération interne (propre à la banque)
12-165Code guichet
17-193Code devise
201Nombre de décimales
211Zone réservée
22-3211Numéro de compte
33-342Code opération interbancaire
35-406Date d'opération (comptabilisation), JJMMAA
41-422Code motif de rejet
43-486Date de valeur, JJMMAA
49-7931Libellé
80-812Zone réservée
82-887Numéro d'écriture
891Indice d'exonération de commission
901Indice d'indisponibilité
91-10414Montant du mouvement, signe dans le dernier caractère
105-12016Zone de référence

Le libellé est limité à 31 caractères : c'est la raison d'être de l'enregistrement 05.

Enregistrement 05 : complément d'information

Un 05 suit immédiatement le 04 qu'il complète ; plusieurs 05 peuvent se succéder. Les positions 1 à 40 reprennent celles du 04 (code banque, guichet, compte, date). Puis :

PositionsLongueurContenu
46-483Qualifiant de la zone complément
49-11870Zone complément
119-1202Zone réservée

Qualifiants courants : LIB (libellé complémentaire), NPY (nom du payeur ou bénéficiaire), LCC et LCS (libellés complémentaires, notamment pour les opérations SEPA), MMO (montant en devise d'origine), REF (référence), RCN (référence client). Un prélèvement SEPA peut ainsi porter sur un 04 le libellé court et sur trois 05 le créancier, la référence de mandat et le motif.

Enregistrement 07 : nouveau solde

Même structure que le 01, code 07, avec en positions 35-40 la date du nouveau solde et en 91-104 son montant. Contrôle de cohérence : ancien solde + somme algébrique des 04 = nouveau solde. Tout import sérieux vérifie cette égalité ; c'est le contrôle que les logiciels de cabinet effectuent à la lecture.

L'encodage du signe dans le montant

Le montant occupe 14 caractères sans virgule ni point : les décimales sont implicites (position 20 en indique le nombre). Les 13 premiers caractères sont des chiffres, cadrés à droite avec des zéros à gauche. Le 14e caractère remplace le dernier chiffre et porte le signe :

Dernier chiffreMontant positif (crédit)Montant négatif (débit)
0{}
1AJ
2BK
3CL
4DM
5EN
6FO
7GP
8HQ
9IR

Exemples pour 2 décimales : 0000000012345{ = +123,45 € (crédit) ; 0000000012345} = −123,45 € (débit) ; 0000000000450M = −45,04 € (le dernier chiffre 4 est remplacé par M) ; 0000000100000{ = +1 000,00 €.

Cette convention vient des formats IBM à champs zonés. Une erreur courante des convertisseurs est d'écrire un signe « - » en tête ou un chiffre en 14e position : le fichier est alors refusé ou tous les montants sont lus en crédit.

Qui utilise le CFONB 120

LogicielUsage du CFONB 120
Cegid LoopSeul format d'import de relevé (Trésorerie > Importer un fichier CFONB)
Cegid QuadraRéception par EBICS
ACDImport natif, à côté de l'OFX et du CSV paramétrable
Isacompta / AgirisImport natif, à côté de l'OFX 1.02 SGML
MyUnisoftIntégration bancaire et import CFONB 120
Sage 100Import natif
Sage Génération ExpertsRéception via jedeclare / EBICS
EBP ComptaImport natif, à côté de l'OFX et du QIF
InqomRéception par EBICS

Les banques françaises le produisent toutes dans le cadre d'un abonnement EBICS. Pour les dossiers sans EBICS, le CFONB 120 est généré à partir d'une autre source : export CSV de la banque, ou relevé PDF. L'outil de conversion Relevé bancaire PDF → Excel, OFX produit un CFONB 120 à partir d'un relevé PDF en renseignant les 01, 04 et 07 et en vérifiant que l'enchaînement des soldes est respecté avant export.

CFONB 120 et OFX : différences

CritèreCFONB 120OFX 1.02
OrigineNormalisation bancaire françaiseStandard américain (Microsoft, Intuit, CheckFree)
SyntaxeTexte à largeur fixe, 120 caractères par ligneBalises SGML
Identification du compteCode banque, guichet, numéro de compte dans chaque ligneBloc BANKACCTFROM une fois par relevé
Signe des montantsDernier caractère zoné ({ A-I / } J-R)Signe « - » devant le montant
DécimalesImplicites, nombre en position 20Point décimal explicite
Libellé31 caractères + compléments 05NAME 32 + MEMO 255
Identifiant d'opérationNuméro d'écriture, non garanti uniqueFITID, unique attendu
Soldes01 et 07 obligatoiresLEDGERBAL obligatoire
EncodageASCII, CRLFWindows-1252, CRLF, sans BOM
Lecteurs principauxCegid, ACD, Isacompta, MyUnisoft, Sage 100, EBP, InqomPennylane, Sage 50, EBP, ACD, Isacompta

Le CFONB 120 est plus rigide et plus ancien ; en contrepartie, il est lu sans paramétrage par tous les logiciels de cabinet français. L'OFX est plus lisible et porte un identifiant unique par opération, mais sa version compte (1.02 SGML attendu, XML souvent refusé).

Contrôler un CFONB 120 avant import

  1. Chaque ligne fait exactement 120 caractères (ni plus ni moins, espaces de remplissage compris).
  2. Le fichier commence par un 01 et se termine par un 07 pour chaque compte.
  3. Code banque, guichet et compte sont identiques sur toutes les lignes d'un même bloc et correspondent au RIB paramétré dans le logiciel.
  4. Le 14e caractère de chaque montant est l'un de {, }, A à R ; jamais un chiffre.
  5. Ancien solde + mouvements = nouveau solde.

FAQ

Le CFONB 120 est-il le même que le CFONB 160 ou 240 ? Non. Le 120 est le relevé de compte. Le 160 concerne les virements et prélèvements émis, le 240 les remises de LCR et BOR. Ils ne sont pas interchangeables.

Pourquoi les montants n'ont-ils pas de signe « - » ? Le format vient des traitements de gestion à champs zonés où le signe est fusionné avec le dernier chiffre pour économiser une position. { et } codent le zéro positif et négatif, A à I et J à R les chiffres 1 à 9.

Un fichier CFONB 120 peut-il contenir plusieurs comptes ? Oui, chaque compte est encadré par son 01 et son 07. Certains logiciels préfèrent toutefois un fichier par compte ; vérifiez la documentation de l'éditeur.

Faut-il obligatoirement des enregistrements 05 ? Non, ils sont facultatifs. Sans eux, seul le libellé de 31 caractères du 04 est disponible, ce qui suffit à l'import mais limite le lettrage automatique.

Comment obtenir un CFONB 120 sans abonnement EBICS ? En le générant à partir d'une autre source : export CSV de la banque ou relevé PDF converti, avec contrôle de l'égalité ancien solde + mouvements = nouveau solde.

Relevé bancaire PDF → Excel, OFX

  • PDF
  • Excel
  • CSV
  • OFX
  • CFONB 120

Aperçu avant paiement · 2,99 € TTC

Convertir un relevé