Roifile

Every check the validator runs

The EBA codes are the ones that appear in the ESAs' feedback files (detailed-feedback.csv). The RF codes are Roifile's own and never appear in regulator feedback; they catch what caused questions and resubmissions in 2025 and 2026.

Reception and technical checks (reject the file)

101Report file must be a .zipblocking
103Zip must unpack cleanly and contain only the package filesblocking
104Filename may only use letters, digits, hyphen, underscore and dotblocking
105Filename structure ReportSubject_Country_FrameworkModuleVersion_Module_ReferenceDate_Timestampblocking
106Filename module must be DORAblocking
109Reference date in filename must be a valid yyyy-mm-dd dateblocking
111Reference date in filename cannot be in the futureblocking
115DORA report must be a zip of plain CSV filesblocking
306Files must be UTF-8 encodedblocking
701reports/report.json, reports/FilingIndicators.csv and reports/parameters.csv must exist and be non-emptyblocking
702FilingIndicators.csv must have exactly two columnsblocking
703Each template may be declared only once in FilingIndicators.csvblocking
704Filing indicator values must be true/false/1/0blocking
705Filing indicator value missingblocking
714entityID parameter must exist and match the filenameblocking
720CSV filenames must be the lower-case table names (b_01.01.csv …)blocking
723parameters.csv header must be exactly name,valueblocking
724The package contains no data at allblocking
801Every header column code must exist in the taxonomy for that tableblocking
802A column may not be reported twiceblocking
805Key columns cannot be emptyblocking
807Foreign key constraint violated: the referenced row does not existblocking
808All templates must be declared true in FilingIndicators.csvblocking
809CSV row has a different number of cells than the headerblocking

DPM technical checks

305Numeric value expectederror
320Reference date in parameters.csv must be valid and match the filenameblocking
330Date must be in yyyy-mm-dd formaterror
331Integer expectederror
332Boolean expected (true/false/1/0)error
333This column may only be reported as trueerror
503Value must be one of the codes allowed for this columnerror
505report.json must point to the DORA module entry pointblocking
510Filing indicator template codes must be the official template IDsblocking
806Two rows share the same key valueserror

EBA business validation rules and identifier checks

v8826_mLEI must be 18 alphanumerics followed by 2 digitserror
v8890_mLEI must be 18 alphanumerics followed by 2 digitserror
v8891_mLEI must be 18 alphanumerics followed by 2 digitserror
v8892_mLEI must be 18 alphanumerics followed by 2 digitserror
v22912_mA subsequent or associated arrangement must name its overarching arrangementerror
v22913_sTotal assets cannot be negativeerror
v23716_sAnnual expense or estimated cost cannot be negativeerror
v8803_mCurrency is required when total assets are reportederror
v8804_mTotal assets are required for financial entitieserror
v8825_mReason for substitutability is required when the provider is not substitutableerror
mandatoryMandatory value missingerror
VR_LEILEI is not an issued LEI in the GLEIF databaseerror
VR_EUIDEUID does not follow the EUID patternerror

Roifile pre-submission checks

RF_001LEI checksum is wrong (ISO 17442)warning
RF_002Placeholder or dummy valuewarning
RF_003Date is after the reference datewarning
RF_004Dates are in the wrong orderwarning
RF_005Zip root folder name differs from the zip filenamewarning
RF_006UTF-8 byte-order mark present (accepted by the ESAs, rejected by some portals)info
RF_007Register maintainer should be one row and should appear in B_01.02warning
RF_008Enumeration code missing its eba_ prefix or written as a labelwarning
RF_009Unexpected file in the packagewarning
RF_010Template declared but file missing or empty (allowed: means nothing to report)info
RF_011Entity in B_01.02 has no contractual arrangement, function or provider linked to itwarning
RF_012Parent LEI points at the entity itselfwarning
RF_013Taxonomy version in report.json is not the one expected for this reference datewarning
RF_014Monetary value looks like it is in thousands or has a decimals suffixwarning