Ressources › Guide
Votre dépôt peut être refusé avant que quiconque n'ait lu son contenu
Un registre parfaitement rempli peut être rejeté à la réception. Pas pour son contenu — pour son emballage : le nom du fichier, l'arborescence du paquet, l'encodage, le format des valeurs. Ces contrôles s'exécutent avant toute lecture métier, et leur message d'erreur ne dit jamais quelle ligne corriger.
Cet article détaille ce que l'ABE attend exactement, à partir de son guide de préparation des fichiers .csv et .zip pour le module DORA en version 4.0, et de ses règles de dépôt (EBA Filing Rules v5.5).
Le nom du fichier
Le paquet est une archive .zip dont le nom suit une structure imposée, segment par segment :
ReportSubject.CON|IND_Country_FrameworkCodeModuleVersion_Module_ReferenceDate_CreationTimestamp.zip
Exemple publié par l'ABE :
DUMMYLEI123456789012.IND_IT_DORA010100_DORA_2024-12-31_20240821141632000.zip
| Segment | Contenu | Erreur fréquente |
|---|---|---|
| ReportSubject | Le LEI de l'établissement déclarant. | Le LEI d'une filiale au lieu de celui du déclarant. |
| CON | IND | Dépôt consolidé ou individuel. | Segment omis, ou choisi sans vérifier la nature du dépôt. |
| Country | Le code pays à deux lettres. | Incohérence avec le canal de soumission utilisé. |
| DORA010100 | Code du cadre et version du module. | Version périmée reprise d'un dépôt précédent. |
| ReferenceDate | Format aaaa-mm-jj. | Date écrite jj/mm/aaaa, ou basculée par un fuseau horaire. |
| CreationTimestamp | Horodatage de création, jusqu'aux millisecondes. | Horodatage réutilisé d'un envoi précédent. |
Une espace, un accent, un tiret à la place d'un tiret bas : le fichier est refusé, et le message renvoyé ne parle pas de votre registre. C'est la catégorie d'erreur la plus frustrante, parce qu'elle n'apprend rien sur le fond du dossier.
La structure interne du paquet
Une fois l'archive ouverte, le contenu attendu est fixé :
<nom du paquet>/
├── reports/
│ ├── report.json — étend le point d'entrée dora.json de la taxonomie 4.0
│ ├── parameters.csv — entityID, refPeriod, baseCurrency, décimales
│ ├── FilingIndicators.csv — un identifiant de tableau par ligne, true ou false
│ └── {table}.csv — b_01.01.csv, b_05.02.csv, etc.
└── META-INF/
└── reportPackage.json
Un piège mérite d'être connu, parce qu'il ne se déduit d'aucune lecture attentive. Dans FilingIndicators.csv, les identifiants de tableaux commencent par B_xx.xx, conformément au projet de modèle de données, et non par RT_xx.xx comme l'indique le rapport final. Les deux désignent les mêmes tableaux. Seule la première forme est acceptée par le paquet technique. C'est le genre d'écart qui coûte un cycle de dépôt à celui qui a travaillé consciencieusement à partir du mauvais document.
Les sept règles de typage, et celle qui piège tout le monde
Chaque colonne d'un fichier {table}.csv obéit à un type, et le type impose une écriture :
- Chaîne de caractères — si la valeur contient une virgule, elle doit être entourée de guillemets doubles.
- Date — au format aaaa-mm-jj.
- Liste fermée — la valeur doit venir de la liste, et être préfixée par son propriétaire.
- Booléen — true ou false, ou bien 1 ou 0.
- Montant — exprimé en unités. Pas en milliers, pas en millions.
- Entier — un entier.
- Colonne clé — obligatoirement renseignée.
La troisième est celle qui surprend. Le débat « France ou FR ? », que l'on entend partout, est déjà en retard d'une étape : dans le fichier machine, la réponse n'est ni l'un ni l'autre. Le code pays de la France s'écrit eba_GA:FR, parce que les valeurs de listes fermées portent le préfixe de l'autorité qui publie la liste — eba_GA pour les zones géographiques, eba_TA pour les types de services TIC, et ainsi de suite.
Aucun tableur ne produira spontanément cette valeur. C'est précisément pour cette raison que le format machine n'est pas censé être tapé à la main : il est fabriqué à partir de données saisies dans une langue humaine.
Les trois fichiers techniques, et ce qu'on y met
Sous reports/, trois fichiers ne contiennent aucune donnée de registre et décident pourtant de l'acceptation du paquet.
report.json déclare de quelle taxonomie le paquet dépend, en étendant le point d'entrée du module DORA en version 4.0. Un paquet qui étend une version antérieure est rejeté même si toutes ses données sont justes : la taxonomie évolue, et un dépôt se fait toujours contre celle qui est en vigueur à la date de référence.
parameters.csv porte le contexte du dépôt sous forme de couples nom/valeur : l'identifiant du déclarant, préfixé — rs: suivi du LEI et du suffixe .IND ou .CON —, la période de référence, la devise de base exprimée en notation ISO 4217 préfixée (iso4217:EUR), et les décimales retenues pour les entiers et les montants. Une devise écrite EUR sans son préfixe est une valeur invalide, exactement comme un code pays sans le sien.
FilingIndicators.csv énumère les tableaux et indique, pour chacun, s'il est déclaré. Un tableau à true dont le fichier {table}.csv est absent fait échouer le paquet ; un tableau à false accompagné d'un fichier de données également. La liste complète des tableaux figure dans les paquets d'exemple publiés par l'ABE, et c'est la référence à utiliser plutôt qu'une liste reconstituée à la main.
L'encodage
Tous les rapports doivent être encodés en UTF-8. Les règles de dépôt de l'ABE acceptent la présence comme l'absence de marque d'ordre des octets, et la casse de la déclaration est indifférente : UTF-8 et utf-8 sont équivalents.
En pratique, l'erreur vient presque toujours du même endroit : un tableur configuré en Windows-1252 qui exporte un CSV. Les accents deviennent illisibles, et la validation s'arrête sans que rien n'indique que le problème est un réglage d'export.
Une réserve utile sur le canal de dépôt
Ce qui précède décrit le paquet attendu par le cadre de déclaration européen. La structure du conteneur transmis et les modalités concrètes de dépôt relèvent en dernier ressort de l'autorité destinataire. Vérifiez donc les instructions de votre autorité compétente avant votre premier envoi : le format du paquet est européen, le guichet ne l'est pas.
Ce qu'il faut en retenir
Aucune des règles décrites ici ne demande la moindre expertise réglementaire. Un nom de fichier, une arborescence, sept types de données, un encodage : c'est de la rigueur mécanique, et c'est la première des quatre familles de contrôles appliquées à un dépôt — celle qui refuse le plus tôt, avec le message le moins exploitable.
C'est aussi la famille la plus complètement automatisable. Avec Obligia, vous remplissez des formulaires en français ; le paquet est produit à la fin, nommé selon la convention, avec les préfixes de listes fermées et l'encodage attendus. Vous ne l'ouvrez jamais.
Pour aller plus loin : les 120 contrôles, dans l'ordre où ils s'exécutent et le format xBRL-CSV expliqué simplement.
Ce guide est une information générale et non un conseil réglementaire ; la responsabilité du dépôt incombe à l'entité.