STRUCT-EMPTY-REGISTER - The register must contain at least one data row (all templates)
The whole register contains zero data rows across all templates, so there is nothing to submit; the final export is blocked.
- Layer
- STRUCT
- Severity
- blocking
- Templates
- Columns
- Taxonomy version
- eba-4.0-errata5
- Status
- founder-approved
Reviewed at gate 1 (founder) on
Content last changed
Official control text (EBA, verbatim)
No data was integratable - integrated
Source: EBA technical check 724 (sheet "Technical checks", category "CSV" in the official overview of the RoI technical checks). The RoI Builder runs it as structural check STRUCT-EMPTY-REGISTER.
What this rule checks
This is a register-level check: if the register holds zero data rows across ALL templates, it yields exactly one blocking finding, anchored to no template and no row. The artifact comment explains the intent of EBA check 724: "The new check is necessary to validate that some data has been received, otherwise empty files would pass all the validation rules."
The check deliberately looks at the whole register, not at the template subset of a partial validation run - a run narrowed to one empty template must not claim the register holds no data. One data row anywhere in the register is enough to pass.
Product note: an empty register can never reach the final export - and independently of this check, the export package name requires the LEI of the entity maintaining the register from B_01.01, so a register without B_01.01 data stops at the structural layer at the latest.
This is a structural check (STRUCT layer, severity: blocking). If it fails, the package is technically rejected on receipt (feedbackMain = REJECTED). The structural layer is the only layer that blocks a filing.
Most common causes
- A brand-new register was validated before any data entry.
- The wrong register (an empty one) was selected for validation.
- An imported package contained template files with headers but no data rows.
How to fix it, step by step
- Check that you are working in the right register of the right organization.
- Enter the first rows: start with B_01.01 (Entity maintaining the register of information), then the entities in scope (B_01.02) and the contractual arrangements (B_02.01, B_02.02).
- If you meant to import last year's package, run the import first and check its error report.
- Run the validation again - the finding disappears as soon as any data row exists.
Example: fails vs passes
Fails - the whole register is empty:
| State of the register | Result |
|---|---|
| All 15 templates contain zero data rows | one register-level STRUCT-EMPTY-REGISTER finding (blocking) |
Passes - any data exists:
| State of the register | Result |
|---|---|
| B_01.01 contains one row (the entity maintaining the register) | passes - other checks now look at the data itself |
Related rules
- STRUCT-MANDATORY - once rows exist, every key cell of every row must be filled.
- STRUCT-KEY-UNIQUE - and the natural keys of those rows must be unique within each template.
Fix it in the RoI Builder - it points at the exact row and cell and re-checks as you type.
This page describes what the software does. It is neither legal advice nor an interpretation of any regulation, and using the product does not by itself make any submission complete, correct or acceptable to any authority. The responsibility for what is filed stays with the entity that files it.