The DORA RoI Data Model Explained in Plain English

Share:

General Counsel

Updated

Mar 18, 2026

5 min. read

The DORA RoI Data Model Explained in Plain English

Share:

The DORA RoI Data Model Explained in Plain English

In this article

The DORA Register of Information (RoI) data model looks straightforward when you read the templates. The fields are labelled, the structure is visible, and most of the data already exists somewhere.

The RoI is designed to function as a connected supervisory dataset, which means the value of the register depends on how well records link across tables — a point that becomes clearer when looking at how the RoI is structured and used in practice. Here, the focus is narrower: how the data model creates those links, and why they fail.

In the RoI, “connected” has a very specific meaning. Records are only usable when the same identifiers are reused consistently across templates. If those values drift, the register may still load, but it stops functioning as a joined dataset.

Linking logic: reused identifiers across RoI tables

Most teams build the tables first and only later realise what holds them together. The model works because the same values are reused consistently across tables.

Data elementWhere it appearsWhat it connects
Provider identifierProvider, contracts, services, supply chainConnects all records to the same provider
Contract referenceContracts, servicesConnects services to the correct contract
Function identifierServices, functionsConnects services to business activities
ICT service typeService recordsKeeps service classification aligned
Entity identifierAcross multiple tablesConnects records to the reporting entity using the service
Core linking fields reused across RoI tables and why they matter for joining records

If one of these values changes, even slightly, the join breaks. The data is still there, but the structure no longer holds. In supervisory reporting terms, this is a referential integrity failure — the equivalent of a foreign key pointing to a value that no longer exists.

Where traceability breaks: one contract across the register

A provider is recorded once with a provider identifier. A contract uses that same identifier and adds a contract reference. That contract is then linked to:

  • a function
  • a type of ICT service
  • any subcontractors involved

Each of those sits in a different table.

This becomes especially clear in subcontracting chains, where each provider has to stay aligned across multiple layers.

A join failure here is effectively a foreign key failure: one table references a value that the related table does not recognise.

The patterns that break RoI joins in practice:

  1. Same provider recorded with different formats (case, spacing, leading zeros)
  2. Contract reference reused without the field that makes it unique
  3. Function identifiers created separately in different tables
  4. Service rows duplicated for multiple entities without repeating all required fields
  5. Subcontractors keyed differently at each tier
  6. “Renamed” vendors treated as new providers

These are small inconsistencies. They are also enough to break the dataset.

Composite keys: when a single field doesn’t identify the record

Some records look unique but are not.

A contract reference might appear valid on its own. In practice, it often only becomes unique when combined with another field, such as an entity or a service classification.

The dataset depends on combinations of fields to identify records, not just single values.

A concrete example appears in supply-chain reporting, where rows are effectively organised around combinations such as contractual arrangement reference and type of ICT service, as described in Commission Implementing Regulation (EU) 2024/2956.

If those combinations are duplicated or not applied consistently, the dataset cannot distinguish or reconnect the records correctly.

One value per field means more rows

The structure enforces a simple rule: one value per field. Where more than one value applies, additional rows are required.

A single service used by three entities becomes three rows, each repeating the same service details but linking to a different entity.

Service IDEntityOther service details
Service XEntity A(same details repeated)
Service XEntity B(same details repeated)
Service XEntity C(same details repeated)
How one service used by multiple entities expands into multiple rows under the RoI data model

This is how one-to-many relationships are represented.

This is also where spreadsheet-based approaches start to strain. Each additional row must carry the same identifiers used elsewhere, and small inconsistencies quickly multiply across tables.

Operational control: preventing identifier drift across tables

In practice, most issues come from identifier drift, not missing data. The same provider, contract, or service is entered slightly differently across tables or over time.

Common causes are easy to recognise:

  • formatting differences (spaces, case, leading zeros)
  • multiple source systems generating their own identifiers
  • contract amendments creating new reference patterns
  • providers renamed without maintaining the original identifier
  • subcontractor tiers re-keying upstream providers

Each of these looks minor in isolation. Together, they break the structure.

Once that happens, the dataset still loads, but it no longer behaves like a connected supervisory record.

Share this article

Post on Linkedin
Post on Facebook
Post on X

How useful was this post?

0 / 5. 0

General Counsel

He is regulatory compliance strategist with over a decade of experience guiding fintech and financial services firms through complex EU legislation. He specializes in operational resilience, cybersecurity frameworks, and third-party risk management. Nojus writes about emerging compliance trends and helps companies turn regulatory challenges into strategic advantages.
  • DORA compliance
  • EU regulations
  • Cybersecurity risk management
  • Non-compliance penalties
  • Third-party risk oversight
  • Incident reporting requirements
  • Financial services compliance

Explore further

  • Compliance & Regulations
  • Insights
  • ISO 27001
  • Templates