The report package, folder by folder
A report package is a zip with one folder in it, named like the zip, holding exactly two sub-folders. Everything else about the content can be wrong and still get a feedback file; get this wrong and the answer is NOK in a minute.
635400EWECOAKJOHRI84.IND_IE_DORA010100_DORA_2025-12-31_20260115093000000.zip
└── 635400EWECOAKJOHRI84.IND_IE_DORA010100_DORA_2025-12-31_20260115093000000/
├── META-INF/
│ └── reportPackage.json
└── reports/
├── report.json
├── parameters.csv
├── FilingIndicators.csv
├── b_01.01.csv
├── b_01.02.csv
├── …
└── b_99.01.csv
| Root folder | Same name as the zip without .zip. The ESAs tolerate a mismatch (Roifile reports RF_005); the CBI, CSSF (ICTO010), AFM (103), MFSA, FI and Norway reject it. |
| Two sub-folders | META-INF and reports, nothing else (CSSF ICTO012). No Excel file inside, no readme, no __MACOSX folder from a Mac zip (720). |
| Table files | Lower case, b_01.01.csv to b_99.01.csv, comma-separated, first row the column codes c0010,c0020,…. A capital B or a semicolon fails 720. |
| Encoding | UTF-8 throughout, uniformly with or without BOM (ACPR), and in practice without: a BOM on one file has broken the CBI portal and ANSI on one file has broken OneGate. |
| Not double-zipped | A zip inside a zip is the CBI's second most common upload error. |
| Size | CSSF 20 MB, BaFin 200 MB; others state no limit. |
Download the sample package (a fictional Irish payment institution, validates clean) to see all of it, or drop your own on the validator.