Skip to content
Language: EN

DORA RoI ValidatorCheck your Register of Information before you file it

Drop in the xBRL-CSV report package you are about to submit to your competent authority. More than 200 validation rules run against it, in your browser. The file is never uploaded.

Validation result LU filing
TemplateContentChecks
B_01.02Entities in scopeNo errors
B_02.02Contractual arrangements18 errors
B_03.01Entities signing1 error
B_05.01ICT third-party providers6 errors
B_06.01FunctionsNo errors
3 303 checks run

200+

Validation rules applied

15

EBA templates read, B_01.01 to B_99.01

0

Bytes of your register sent to us

Free

No account, no licence, no install

Validate your report package

Select the zip your reporting tool produced. It is opened and checked here, on your own machine, against the fifteen EBA templates and the country-specific variants.

Validation rules last updated 19 October 2026

Validate your package xBRL-CSV zip
Report package

Personal mailboxes are not accepted.

Templates read

  • B_01.01
  • B_01.02
  • B_01.03
  • B_02.01
  • B_02.02
  • B_02.03
  • B_03.01
  • B_03.02
  • B_03.03
  • B_04.01
  • B_05.01
  • B_05.02
  • B_06.01
  • B_07.01
  • B_99.01

Your register is opened and validated on your own machine. None of its contents reach Fund XP: no provider names, no contract references, no figures. Three things are sent to us when you run a check — your email address, the name of the file you selected, and the number of problems found. File names in this submission format normally start with your LEI, so treat the name as identifying your entity. Checking LEIs against the public GLEIF database sends those LEIs to gleif.org; they are public identifiers.

What the validator checks

More than 200 validation rules, across the fifteen EBA templates. The figure you get back is far higher, because every rule runs once per row: a register with a few hundred contracts executes several thousand individual checks.

Package structure

Both JSON manifests, the reporting parameters, the filing indicators, and whether every template declared as reported is actually present in the zip.

Column layout per country

Each template against its expected columns, including the extra column Italy, Luxembourg and Romania require on B_02.03, B_03.01 and B_03.03.

EBA closed lists

Every coded value against the taxonomy: entity types, countries, currencies, types of ICT service, criticality, substitutability, levels of reliance.

Identifiers

LEI check digits under ISO 17442, and EUID patterns for each national business register, with the code matched against the type of code declared beside it.

References between templates

Contract reference numbers, provider identification codes, function identifiers and branch codes, each traced to the template that is meant to define it.

Supply chains

Whether each rank in B_05.02 connects to the rank above it for the same contract and service, and whether direct providers are reported as rank 1.

Conditional fields

Notice periods, governing law, data storage and level of reliance, which are required when the ICT service supports a critical or important function and must be empty otherwise.

Live GLEIF status

Whether each LEI exists, is still issued rather than lapsed, sits in the country you declared, and reports the ultimate parent you reported.

How the check runs

  1. Select the zip

    The package stays on your machine. Nothing is uploaded, at any point.

  2. The templates are read

    The fifteen CSV files and both JSON manifests are parsed in the browser.

  3. The rules run

    Structure, codes, identifiers, cross-references and supply chains, row by row.

  4. You get a count

    The number of problems found, and the number of checks that produced it.

Why RoI filings get rejected

These are the faults we see most often in real packages, including ones produced by other reporting tools. Most are invisible in a spreadsheet and fatal to an xBRL parser.

WhereWhat goes wrongWhy it fails
FilingIndicators.csv A boolean written as  true, with a leading space The taxonomy accepts true and false only. A space makes the value invalid.
parameters.csv entityID carrying a different LEI from the one in B_01.01 Two identities in one submission. The authority cannot tell who is filing.
B_02.03, B_03.01, B_03.03 The country-specific extra column missing Italy, Luxembourg and Romania expect one more column than the base layout.
Any coded field An English label instead of the EBA code, for example the label of a LEI rather than eba_qCO:qx2000 The value is not a member of the code domain, so the parser rejects the cell outright.
B_05.01 An ultimate parent that has no row of its own in the table The parent must be reported as a provider in its own right.
B_05.01 An annual expense reported for a sub-contractor rather than a direct provider The expense belongs to rank 1 of the supply chain only.
B_05.02 A rank 2 row whose recipient does not match the provider at rank 1 The subcontracting chain is broken and cannot be reconstructed.
Provider and entity names Trailing spaces left by a copy and paste Flagged as a warning by the ESAs, and it breaks the matching between templates.
Any LEI A LEI that passes its check digits but is lapsed or absent from GLEIF Format alone proves nothing. The register has to reflect the live GLEIF record.

The validator reports how many of these your package contains. Our DORA Register of Information solution shows you the template, the row and the field, and stops them occurring in the first place.

Frequently asked questions

What is the DORA Register of Information?

Under the Digital Operational Resilience Act, every financial entity in the EU maintains a Register of Information — the RoI — listing its contractual arrangements for ICT services, and reports it to its competent authority each year. It spans fifteen templates, B_01.01 through B_99.01, covering the entities in scope, the contracts, the ICT third-party service providers, the supply chains, and the functions those services support.

What file does the validator accept?

The xBRL-CSV report package you submit to your regulator: a zip holding META-INF/reportPackage.json, reports/report.json, parameters.csv, FilingIndicators.csv and one CSV per template. This is the format produced by reporting tools built for the EBA DORA taxonomy.

Is my register uploaded to Fund XP?

No. The zip is opened and validated inside your browser. No provider names, contract references or figures reach Fund XP. Only the email address you enter, the name of the file you select and the number of problems found are sent to us, with your consent.

Why does the validator only give a number?

The free validator tells you whether your RoI is clean, and how much work it needs if it is not. Locating each problem, explaining it, and stopping it recurring next year is what our solution does, for under EUR 1,000 a year.

Does a clean result mean my filing will be accepted?

It means your package passes the validation rules we run, which are the ones our own clients' registers pass. Your competent authority may apply further rules of its own, and national variations exist.

Does it work for a group filing?

Yes. The consolidation scope is read from parameters.csv, and the references between entities in B_01.02, B_03.01 and B_04.01 are checked the same way for an individual and a consolidated submission.

Official sources

The rules this validator applies come from the European Supervisory Authorities and the EBA reporting framework.

Stop finding them. Stop having them.

Our DORA register solution is a single Excel workbook. It validates every field as you type, checks LEIs against GLEIF, enforces the references between templates, and exports a submission-ready package. Under EUR 1,000 a year.

See the solution