Import Crédit Logement

Cette page décrit les règles que la solution applique en lisant les fichiers d’une situation au format Fichiers Crédit Logement (CREDIT_LOGEMENT) : comment chaque valeur est interprétée, ce qui est déduit lorsqu’une valeur manque, et les avertissements qui le signalent. Le détail des fichiers, colonne par colonne, est donné dans l’application ; cette page ne le reprend pas. La référence complète de chaque traitement et conversion, colonne par colonne, est Import : traitements et conversions ; chaque avertissement et chaque erreur a sa fiche, par son code, dans la Référence des anomalies. Chaque valeur retenue par défaut est recensée, avec son signalement, dans les Règles de valeurs par défaut.

Le guide de l’import et ses fichiers

Le menu Situations › Guide de l'import ouvre le guide de l’import et du premier calcul. Il contient :

  • le parcours, écran par écran : créer la configuration client, réunir les sept fichiers, importer, contrôler la situation, vérifier le contexte d’évaluation et les courbes, saisir les données complémentaires du reporting, lancer la génération, consulter les résultats ; pour chaque étape, les prérequis, ce qu’il faut renseigner, ce que l’on obtient et les erreurs fréquentes ;
  • les fichiers, colonne par colonne : pour chaque emplacement de l’import guidé, son rôle, son format, son lien avec le mapping et, pour chaque colonne des extractions, sa signification, un exemple, son statut (obligatoire, facultative, ignorée), la clé du mapping qu’elle alimente et son usage par le moteur ;
  • les limites connues du format ;
  • les fichiers à télécharger :
Fichier Contenu
modele-import-credit-logement.xlsx Le modèle Excel : un onglet Lisez-moi, un onglet par vue d’opérations (IRRBB_MM, Swaps_IRRBB, Securities_IRRBB, REPO), les courbes INEO_Indices, la balance i1-balance, la classification (mapping_compta, mapping_compta_irrbb), les flux préfixés et un Dictionnaire des colonnes.
mapping-credit-logement.json Le mapping Crédit Logement, à déposer dans la configuration client (ci-dessous).
mapping.json Le mapping de référence, point de départ pour d’autres formats de fichiers.
model_demo.json Un modèle d’écoulement : une convention linéaire et un bilan constant à 1 an.

Le modèle Excel est un classeur d’exemples, pas un fichier à importer tel quel : chaque vue est envoyée dans son propre fichier, comme les extractions. Ses données sont fictives et forment un petit portefeuille cohérent. Enregistré onglet par onglet — le fichier de titres avec Securities dans son nom, les deux onglets de classification ensemble sous leurs noms mapping_compta et mapping_compta_irrbb —, il s’importe avec le mapping Crédit Logement et model_demo.json, la date de référence 2026-03-31, l’index DISCOUNT_EUR et la devise EUR saisis à l’écran d’import.

La page Crédit Logement du menu d’aide (? de la barre du haut) présente les deux fichiers de référence (modèle et mapping) et suit une ligne d’extraction à travers chaque section du mapping.

Le mapping Crédit Logement

Le fichier mapping-credit-logement.json (téléchargeable aussi depuis la page Configuration client) suit les vues telles qu’exportées :

  • produits : la colonne Instrument Type choisit le produit — les CAT … sont des comptes à terme (term_deposit), les Emprunt … des emprunts (loan), les Swap … et Asset Swap … des swaps, les pensions et prêts de titres des repo, les NANT-… des nantissements ; le fichier de titres est lu comme des titres d’après son nom ;
  • colonnes : coupon et marge sur deux colonnes distinctes (Coupon Rate pour le coupon d’un titre fixe, Coupon Margin Rate pour la marge d’un titre variable, Interest Rate Margin sur la vue IRRBB_MM), ténors des index (Basis Rate Frequency Time Band, Pay / Rec Rate Basis Freq Time Band), encours restant (Remaining Face Value), fréquences de révision, date de call (DateCall), call émetteur des titres (DtCallEmet), date de l’opération ; aucune colonne absente des extractions n’est mappée ;
  • index : EURO INTERBANK OFFERED RATE est projeté sur EURIBOR 3M SWAP pour un ténor de 3 mois et sur EURIBOR 6M SWAP sinon ; ESTR et iESTER sur ESTR_PROJECTION ; EURO OVERNIGHT INDEX AVERAGE (EONIA) sur EONIA_PROJECTION ; CMS (20-2) et Palliers TF, sans courbe propre, sur EURIBOR 6M SWAP ;
  • courbes composées : DISCOUNT_EUR (actualisation : ESTR au jour le jour, EURIBOR jusqu’à 1 an, ESTR SWAP au-delà), ESTR_PROJECTION (ESTR, ESTR CASH jusqu’à 1 an, ESTR SWAP) et EONIA_PROJECTION (EONIA, EONIA CASH jusqu’à 2 semaines, EONIA SWAP). ESTR SWAP ne commence qu’à 2 ans et EONIA SWAP à 4 ans : sans ces courbes de projection, une jambe au jour le jour serait projetée sur le premier pilier de swap extrapolé à plat (1,78 % au lieu du fixing €STR de 1,92 % au 30/06/2025) ;
  • conventions : rateBase sans règle de jour ouvré, default à ABB_30_360 ;
  • étiquettes : tags recopie la colonne Entity sur chaque opération ;
  • bilan : pas d’accountingMapping. Le type de chaque compte vient du classeur mapping_compta, qui doit donc couvrir toute la balance : au Crédit Logement, il porte des lignes 6 et 7 en Résultat, 9 et H en HB, à côté des postes de bilan.

Il ne déclare pas de curveQuotations : ses courbes sont lues en taux zéro-coupon. Pour coter une courbe au pair, ajoutez-la à cette section avant l’import (Configuration client).

Fichiers et lignes

  • Vues d’opérations : quatre vues, un fichier chacune — IRRBB_MM (emprunts et comptes à terme), Swaps_IRRBB, Securities_IRRBB, REPO. Un fichier dont le nom contient Securities (sans tenir compte de la casse) est lu comme des titres, quel que soit le produit que donne le mapping.
  • En-têtes : les noms de colonnes sont lus au caractère près, espaces compris. En Excel, chaque onglet est lu ; l’en-tête est la première ligne de plus de cinq cellules remplies, les lignes de titre au-dessus sont sautées, un onglet sans un tel en-tête est ignoré. En CSV, le séparateur est ; et la virgule décimale est acceptée.
  • Dates : une vraie date Excel, un numéro de série Excel (résultat d’une formule), ou un texte AAAA-MM-JJ, JJ/MM/AAAA et quelques variantes (liste complète). Un texte antérieur au 01/01/1950 est lu comme absent ; une date illisible fait rejeter l’opération.
  • Taux : en pourcentage dans les fichiers (2,40 pour 2,40 %).
  • Devise : la colonne Currency de la vue IRRBB_MM donne la devise de l’opération ; sans colonne (swaps, titres) ou sur une cellule vide, la devise est EUR. Un code qui n’est pas ISO 4217 fait rejeter l’opération. Les pensions restent en EUR.
  • Références : le numéro d’opération (Deal Number) devient la référence, préfixée selon le produit : LO_ (emprunt), TD_ (compte à terme), SW_ (swap), SE_ (titre), RE_ (pension). Il doit être unique dans le fichier ; l’import ne le contrôle pas, et un numéro en double n’est signalé par aucune anomalie.
  • Contrepartie : une contrepartie vide devient DEFAULT_NAME.
  • Étiquettes (tags) : dans un classeur Excel, une cellule vide d’une colonne listée dans tags (Entity dans le mapping Crédit Logement) fait rejeter toute la ligne. L’anomalie de l’opération, sur sa référence (TD_…), est Tag column '<colonne>' is blank. The deal is not imported., suivie du rejet Cannot import the transaction at row <n> of sheet '<onglet>' of '<fichier>'; see the anomaly on its reference for the cause. En CSV, une cellule vide donne une étiquette vide et la ligne est importée. Pour l’éviter, renseignez la colonne sur chaque ligne, ou retirez-la de tags (TRX-040).
  • Rejet d’une ligne : une ligne qui ne peut pas être lue est rejetée avec une anomalie qui donne sa position (ligne, ou ligne et onglet) et la cause, et chaque fichier se termine par une synthèse Imported n lines from m (en ERROR si au moins une ligne est rejetée). Une seule ligne rejetée rend le fichier invalide en import guidé (TRX-007, TRX-008, TRX-009).
  • Nantissements : les lignes NANT-… n’ont pas de traitement et sont rejetées (TRX-010).

Sens des opérations

Le sens d’une opération (placement ou emprunt de la banque) se lit dans la colonne mappée sur la clé nature : Borrow or Invest pour les opérations monétaires et les titres, Borrowing Investing pour les pensions. Elle vaut INVESTMENT ou BORROWING, sans distinction de casse. La colonne l’emporte dès qu’elle porte l’une de ces deux valeurs. La vue IRRBB_MM n’a pas aujourd’hui de telle colonne. Lorsque la clé n’est pas mappée, que la colonne manque ou que la cellule est vide, le sens est déduit du type d’instrument (Instrument Type, majuscules et accents ignorés) :

Produit Instrument Type Sens déduit
Emprunt, compte à terme CAT … placement (INVESTMENT)
Emprunt … emprunt (BORROWING)
Titre un code ISIN (FR0013154044) : titre détenu placement (INVESTMENT)
TSDD …, TSDI …, TSR …, TSS … : titre subordonné émis emprunt (BORROWING)
Pension Prise pension …, Prise en pension …, Pret de titres, Collateral Pret de titres placement (INVESTMENT)
Mise en pension …, Emprunt … emprunt (BORROWING)
tous autre, ou vide aucun : l’opération est enregistrée BUY, avec un avertissement

Ces correspondances reprennent celles que la colonne donne sur chaque ligne des extractions Crédit Logement qui la portent. Pour un titre, le type d’instrument est lu sur la clé instrumentType si elle est mappée, sinon sur la clé isin : le mapping Crédit Logement y range la colonne Instrument Type.

Le sens déduit suit la convention de chaque produit, comme la colonne : un placement est BUY sur un prêt, un titre (titre acheté) et une pension (prise en pension), et SELL sur un compte à terme ; un emprunt est l’inverse. Chaque fichier d’opérations indique une fois, en avertissement de type Direction, combien de sens ont été déduits : placements, emprunts et types non reconnus. Une valeur de nature qui n’est ni INVESTMENT ni BORROWING n’est pas devinée : l’opération est enregistrée BUY, avec un avertissement qui cite la valeur. Une cellule vide ne donne donc jamais un SELL silencieux (un titre détenu passé en actif négatif). Codes : TRX-024 à TRX-027.

Compte comptable des opérations

Une opération importée ne porte pas de compte comptable. Son compte, qui la range dans une ligne FINREP via la classification, est cherché dans cet ordre (principe) :

  1. l’onglet facultatif histo du classeur de classification (numéro d’opération → compte) ;
  2. la règle instrumentAccounts de la configuration client (Compte comptable des opérations) : celle du type d’instrument de l’opération, à défaut celle de sa sous-famille, à défaut celle de sa famille.

Aucun compte n’est supposé. Le mapping Crédit Logement de référence porte les règles relevées dans la colonne Compte comptable calc des extractions INEO_Ech d’avril 2026 :

Niveau Instrument Compte
Famille swap 943100
Sous-famille asset swaps (Asset Swap Fix Fix, Asset Swap Fix Float, Asset Swap Inflation Fix Float) 943101
Famille term_deposit (CAT …) 131200
Type d’instrument CAT Actions 131223
Famille loan (Emprunt …) 541900
Type d’instrument Emprunt PPD Taux Variable 541200
Sous-famille prises en pension (Prise pension de titres (In fine), (Periodic)) 301110
Type d’instrument Mise en pension de titres 301210
Type d’instrument Pret de titres / Collateral Pret de titres 304520 / 3026**
Famille security 304120
Type d’instrument TSDD 15/02/34 T2 541100

Le mapping de référence ne renseigne ni accruedInterestAccounts ni secondLegAccounts : au Crédit Logement, les intérêts courus et les prêts et emprunts de titres sont hors du périmètre IRRBB, ce que disent les drapeaux de leurs postes dans mapping_compta (périmètre IRRBB). Le poste 302710 doit être en Passif dans mapping_compta.

Le compte retenu doit figurer dans l’onglet mapping_compta (un compte étoilé : les postes qu’il couvre, sur une même ligne FINREP). Une opération qu’aucune règle ne couvre, ou dont le compte ne peut pas être classé, est importée sans compte : ses flux sont calculés, mais elle n’a pas de ligne FINREP. Chaque fichier d’opérations le signale par un avertissement qui compte ces opérations par type d’instrument et cite leurs numéros. Le rapprochement comptable les montre sur une ligne sans poste.

Jambes de swap

Base de calcul d’une jambe

La vue Swaps_IRRBB a une colonne Days Convention vide. La base de chaque jambe est déterminée dans l’ordre suivant :

  1. la colonne de base mappée pour la jambe (payDaysConvention, recDaysConvention), lorsqu’elle contient une base de calcul : une valeur de la table rateBase, ou une écriture usuelle (30/360, 30E/360, ACT/360, ACT/365, ACT/ACT, Actual/360…) ;
  2. sinon, la convention de marché : jambe fixe en euro → 30/360 (ABB_30_360) ; jambe variable en euro sur EURIBOR, €STR ou EONIA → ACT/360 (EXACT_360) ;
  3. sinon, la valeur default de rateBase.

Une règle de jour ouvré (FOLLOWING, MODIFIED FOLLOWING, PRECEDING, ACTUAL DATE, UNADJUSTED…) n’est jamais lue comme une base de calcul, même si la table rateBase la liste : elle prend la convention de marché. Chaque fichier de swaps indique une fois, en avertissement de type DayCount, combien de jambes ont pris la convention de marché et pourquoi (cellule vide, règle de jour ouvré, valeur non reconnue) (TRX-028). Dès que la colonne est remplie d’une base, sa valeur l’emporte.

Taux de base d’une jambe

Les colonnes Pay base rate et Rec base rate (clés payBaseRate / recBaseRate) sont lues pour chaque swap, jambe fixe comme jambe variable : c’est le taux fixe de la jambe fixe, et le dernier fixing, pour information, de la jambe variable (Taux, calls et projection). Une cellule vide ou non numérique fait rejeter le swap. Pour une cellule non numérique, l’anomalie de l’opération est Cannot parse 'payBaseRate' with value '…' (ou recBaseRate, TRX-016). Pour une cellule vide, l’utilisateur voit deux anomalies ERROR dans le journal d’import, ou sur le fichier de swaps en import guidé :

  • The pay leg has no base rate: column 'Pay base rate' is blank. The deal is not imported. (jambe rec et colonne Rec base rate pour la jambe reçue), sur la référence du swap (SW_…), TRX-042 ;
  • Cannot import the transaction at row <n> of sheet '<onglet>' of '<fichier>'; see the anomaly on its reference for the cause. (line <n> pour un fichier CSV), avec la ligne brute en détail ;

et la synthèse du fichier passe en Imported n lines from m: k line(s) rejected. Pour l’éviter, renseignez toujours le taux de base des deux jambes, avec un nombre : 0 pour une jambe variable dont le dernier fixing n’est pas connu (la valeur d’une jambe variable n’entre pas dans le calcul de ses coupons, et en mode Dernier taux connu un taux de 0 est lu comme un fixing non communiqué).

Type et échéancier d’une jambe

  • Les colonnes facultatives payRateType / recRateType (FIXED ou FLOATING) décident du type de la jambe. Sans elles, une jambe qui cite un index est variable, une jambe sans index fixe. Une jambe déclarée variable sans index est valorisée à son taux actuel ; une jambe déclarée fixe qui cite un index est enregistrée fixe, l’index étant conservé pour information. Chaque cas est signalé par un avertissement (TRX-030, TRX-031).
  • L’échéancier est construit à rebours depuis l’échéance. Une date de premier paiement fournie qui s’écarte de plus de 4 jours de cet échéancier est signalée par un avertissement ; l’échéancier est conservé (TRX-032).
  • Les deux jambes ont le même nominal ; l’encours restant n’est pas lu pour les swaps.

Titres

  • Coupon Rate porte le coupon d’un titre fixe, Coupon Margin Rate la marge d’un titre variable. Une cellule vide ou non numérique vaut 0 % ; si c’est la cellule qui fait le coupon, un avertissement nomme la colonne (TRX-034, TRX-035).
  • La date de call est DateCall, à défaut DtCallEmet (call émetteur) ; si les deux sont renseignées et diffèrent, la plus proche est retenue, avec un avertissement (TRX-033) (Taux, calls et projection).
  • La date de règlement est la Settlement Date, la date de l’opération la Deal Date.

Encours, taux et révision

  • Encours restant : lorsque remainingNominal (Remaining Face Value) est mappé, l’opération est enregistrée sur l’encours restant (emprunts, comptes à terme, titres), y compris un encours nul ; un écart avec le nominal d’origine est signalé (TRX-029). Une cellule vide garde le nominal d’origine.
  • Fixing inconnu : sur une opération variable, un taux Interest Rate de 0 % est lu comme « fixing non communiqué » : le coupon en cours est lu sur la courbe.
  • Intérêts capitalisés : un type d’instrument contenant Capitalise est calculé en intérêts composés ; un compte à terme capitalisé paie un coupon unique à l’échéance.
  • Révision : la fréquence de révision (Review Frequency) est enregistrée sur le taux mais n’est pas encore utilisée : le taux d’une opération variable est révisé à chaque échéance de paiement. Une fréquence de révision que le moteur ne connaît pas (DAILY) est laissée vide, avec un message d’information.
  • Index non mappé : voir Contrôles de cohérence des index.

Courbes de taux

  • L’extraction INEO Indices couvre un mois de cotations. Une courbe est construite par nom (ratename) et par date ; pour chaque index, la date la plus proche de la date d’arrêté est retenue.
  • Dates Excel : la date de cotation d’un classeur est lue sans décalage de fuseau horaire : le 31/03 reste le 31/03 quel que soit le fuseau du serveur. En Excel, chaque ligne de cotation doit remplir au moins huit cellules (les huit colonnes de l’extraction) et ratedate doit être une vraie date ; l’onglet lu est celui dont l’en-tête porte les colonnes de cotation (le premier par ordre alphabétique s’il y en a plusieurs, avec un avertissement, CRV-005). Une colonne de cotation manquante, une ligne incomplète ou illisible et une courbe trop éloignée de la date d’arrêté ont aussi leur code (CRV-006 à CRV-011), comme un index du mapping absent du fichier (CRV-012).
  • Les courbes composées (DISCOUNT_EUR, ESTR_PROJECTION, EONIA_PROJECTION) sont assemblées à partir de ces courbes (Configuration client).
  • Une courbe de spread de liquidité LIQUIDITY_SPREAD_EUR nulle est toujours ajoutée au contexte.
  • Courbe composée impossible à construire : un seuil de compoundCurve qui n’est pas une durée, qui ne nomme aucun index, ou deux seuils de même durée (1y et 1Y) laissent la courbe composée de côté, avec une erreur CompoundCurve qui la nomme (CRV-014 à CRV-017, Référence des imports).
  • ratedate qui n’est pas une date : dans un classeur, une cellule ratedate saisie en texte (par exemple 31/03/2026 18:00 dans une colonne au format Texte) n’est pas lue : la cotation n’a pas de date, et la courbe qu’elle forme non plus. À l’import, le contrôle d’écart à la date d’arrêté échoue alors sur cette courbe et l’import est interrompu : Unable to build the evaluation context from '<fichier>': NullPointerException… (CRV-002). Le contrôle du fichier seul, en import guidé, ne le révèle pas toujours, car la date d’arrêté n’y est pas connue. Pour l’éviter, donnez à la colonne ratedate un format de date Excel, ou fournissez le fichier en CSV, où ratedate s’écrit JJ/MM/AAAA HH:mm.

Classification et balance

  • Ligne vide de mapping_compta : une ligne qui porte un compte sans catégorie (bilan ou contrepartie vide) ne classe aucune opération ; elle est signalée par un avertissement qui nomme la ligne, et non plus par une erreur (CLS-008).
  • Comptes texte de la balance : les comptes hors bilan H96… sont des cellules texte ; ils sont lus comme du texte, en Excel comme en fichier délimité.
  • Comptes de mapping_compta : cellule numérique, ou lettres puis chiffres. Dans l’onglet mapping_compta, le compte (première colonne) est une cellule numérique (sa partie entière), ou un texte fait de lettres suivies de chiffres : les comptes hors bilan H96… sont donc acceptés. Un numéro saisi en texte (131200 dans une cellule au format Texte) fait écarter la ligne en erreur : Classification row <n> of sheet 'mapping_compta' skipped: ClassCastException: the account '131200' is a text cell; it must be a numeric cell (CLS-009). Une erreur rend le fichier de classification invalide en import guidé, et un compte écarté ne classe aucune opération : une opération rattachée à ce compte est importée sans ligne FINREP (CLS-002), une ligne de balance modélisée est écartée (Mapping for 'Classification' 'account' and reference '<compte>' is missing, CLS-019).
  • Lignes de balance modélisées : classées sur le préfixe de la stratégie. Une ligne de balance écoulée par une stratégie du modèle d’écoulement prend comme compte la référence de la stratégie sans ses étoiles (291200** → 291200), et non son propre compte (29120005). C’est ce compte qui la range dans mapping_compta, puis dans sa ligne FINREP : toutes les lignes d’une même stratégie ont donc le même classement, et une référence qui commence de la même façon, suivie du compte de la ligne (ACCOUNTING_291200**_29120005 pour une stratégie du produit accounting). Le préfixe doit figurer une fois dans mapping_compta ; sinon chaque ligne de la stratégie est écartée avec l’erreur Mapping for 'Classification' 'account' and reference '291200' is missing (CLS-019). Pour classer différemment deux groupes de comptes, déclarez deux stratégies de préfixes distincts : une ligne de balance prend la stratégie dont le préfixe est le plus long.
  • Classeur de classification inutilisable : la classification vient de la section Classification de la configuration client. Un classeur dont l’onglet mapping_compta ou mapping_compta_irrbb manque, ou qui ne peut pas être lu, est refusé au chargement dans la configuration avec la cause (CLS-003, CLS-004) : rien n’est chargé, la version précédente reste en place. Une configuration sans classification arrête l’import (IMP-055).
  • Catégorie sans ligne FINREP : un avertissement par catégorie (CLS-010) ; ses opérations sortent de tout le reporting (avertissement MissingClassification). Les autres anomalies de la classification (ligne FINREP rejetée, onglet histo) sont CLS-005 à CLS-014.
  • Opérations sans compte : une opération qu’aucune règle ne range, ou dont le compte ne peut pas être classé, est importée sans ligne FINREP ; chaque fichier d’opérations le signale une fois (CLS-001, CLS-002).
  • Balance texte : le fichier n’a pas de ligne d’en-tête, comme le balance.txt du Crédit Logement : sa première ligne est lue comme un compte. N’y ajoutez pas de ligne de titres, elle serait écartée en erreur (BAL-010). La date (4ᵉ colonne) s’écrit JJMMAAAA.
  • Balance illisible : un onglet i1-balance absent, un format non géré ou un fichier illisible font échouer l’import (BAL-006 à BAL-008) ; une ligne illisible est écartée (BAL-009, BAL-010).
  • Couverture du grand livre : les comptes de la balance qu’aucune ligne de mapping_compta ni aucune clé de accountingMapping ne type sont comptés, par classe, dans un avertissement (BAL-011).
  • Stratégies d’écoulement : un préfixe listé par plusieurs stratégies, ou un compte couvert par plusieurs préfixes, est signalé (BAL-012, BAL-013 ; Rattachement des lignes de balance).

Contexte d’évaluation

  • Le contexte d’évaluation importé est de type INPUT, au scénario BASELINE.
  • Les échelles de notation ne sont pas exigées pour un import IRRBB : seul le moteur de risque de crédit les lit, et le Crédit Logement n’en fournit pas. Les autres contraintes du contexte s’appliquent.

Avec ces règles, les extractions de référence du Crédit Logement (juin 2025 et 2024) s’importent sans anomalie de niveau ERROR.

Flux préfixés

L’extraction Historique Rate Set - Vue prochain rate set donne la dernière fixation connue de chaque opération à taux variable. L’en-tête est la ligne qui contient Deal No ou action_dt ; les colonnes sont lues par position. Une ligne est rapprochée de l’opération dont la référence, sans son préfixe (LO_, SW_…), est égale au Deal No. Une opération sans ligne garde un premier coupon projeté ; plusieurs lignes pour une même opération sont une erreur (Several prefixing lines found, CFW-040). L’usage d’un préfixing est décrit au §4.5 de la méthodologie.

Un classeur sans onglet ou illisible n’est pas lu (BAL-001, BAL-002) ; s’il a plusieurs onglets de flux, seul le premier est lu (BAL-003) ; sans ligne d’en-tête, les données sont lues à partir de la ligne 3 (BAL-004) ; une ligne dont la date, le taux ou la fréquence est illisible est écartée (BAL-005).