STRUCT-DECIMAL-FORMAT - Monetary amounts must be plain numbers (B_01.02, B_02.01, B_05.01)
A monetary cell is not a plain invariant number: dot as the decimal separator, no thousands separators, no currency symbols.
- Layer
- STRUCT
- Severity
- blocking
- Templates
- B_01.02, B_02.01, B_05.01
- Columns
- c0050, c0100, c0110
- Taxonomy version
- eba-4.0-errata5
- Status
- founder-approved
Reviewed at gate 1 (founder) on
Content last changed
Official control text (EBA, verbatim)
Numeric fact must not be reported with a string value
Source: EBA technical check 305 (sheet "DPM Technical Checks", category "DPM Technical Checks" in the official overview of the RoI technical checks). The RoI Builder runs it as structural check STRUCT-DECIMAL-FORMAT.
What this rule checks
The check covers every decimal-typed (monetary) column. Measured in eba-4.0-errata5, these are 3 columns: c0110 (Value of total assets - of the financial entity) in B_01.02; c0050 (Annual expense or estimated cost of the contractual arrangement for the past year) in B_02.01; c0100 (Total annual expense or estimated cost of the ICT third-party service provider) in B_05.01 - the double space inside this label is verbatim from the artifact. Selection is metadata-driven via the column data type.
Every non-empty cell of these columns must be a canonical invariant number: the dot as the decimal separator, no grouping separators, no exponent notation, no currency symbols or units. An empty cell is null and is skipped here; whether the amount may stay empty is governed by W2 rules (warnings, e.g. v8804_m).
Layer boundary: the sign of the amount is W2 business (v22913_s and v23716_s require values greater than or equal to zero, as warnings) - this structural check looks at the numeric format only. It is the decimal branch of EBA check 305; the integer branch is STRUCT-INTEGER-FORMAT. The currency of the amount lives in its own dictionary column, checked by STRUCT-CURRENCY-VALUE.
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 formatted number pasted from Excel or a report: 1,000.50 or 1 000 000 instead of 1000.50 and 1000000.
- A comma used as the decimal separator (Polish regional settings): 1000,50 instead of 1000.50.
- A currency symbol or code inside the amount cell, e.g. "EUR 5000" - the currency has its own column.
How to fix it, step by step
- Open the flagged template (B_01.02, B_02.01 or B_05.01) and find the row - the finding gives the row number, the key values and the offending value.
- Rewrite the flagged cell as a plain number: digits, optionally one dot as the decimal separator - nothing else.
- Move any currency information into the currency column of the row (e.g. c0100 Currency in B_01.02) as an eba_CU code.
- Run the validation again and confirm the finding is gone.
Example: fails vs passes
Fails - a thousands separator; the finding points at column c0110 of this B_01.02 row:
| c0010 (LEI of the entity) | c0110 (Value of total assets - of the financial entity) |
|---|---|
| 549300Q5EH2NP82EPE32 | 1,000.50 |
Passes - a plain invariant number:
| c0010 (LEI of the entity) | c0110 (Value of total assets - of the financial entity) |
|---|---|
| 549300Q5EH2NP82EPE32 | 1000.50 |
Also passes (edge case) - a whole number without a decimal part, e.g. 1000; and an empty cell is skipped by this format check.
Related rules
- STRUCT-INTEGER-FORMAT - the integer branch of the same EBA check 305, on the five integer columns.
- v22913_s - W2: a filled c0110 in B_01.02 must be greater than or equal to zero (warning); the numeric format is checked here.
- v23716_s - W2: the same sign constraint on c0050 in B_02.01 (warning).
- STRUCT-CURRENCY-VALUE - the dictionary check of the currency columns that accompany these amounts.
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.