The rule in plain words
Items "Counterparty group" (where applicable for OTC derivatives), "Portfolio", "Derivatives held in index linked and unit linked contracts", "Use of derivative", "Notional amount of the derivative", "Initial date", "Solvency II value", "Valuation method", "Counterparty Name", "Contract name", "Currency", "Unwind trigger of contract" and "Maturity date" in Open Derivatives (S.08.01) should be reported
The headline gives only the template and the kind of check, because the rule is too long to say in a headline. The plain words above say all of it.
EIOPA writes it out as separate checks, one for each table or return it covers. Line4 Check runs two of them (BV811-1 and BV811-2), and a failure names the one that failed.
What to do if your return fails it
- 01Open the tables below and find the cells the rule reads.
- 02The check applies only when its first part holds in your return. When it does, the second part must hold too: fix the second part, or correct the first.
- 03It runs only when your filing indicators mark S.08.01 as reported.
- 04This is a warning. It does not stop the return on its own, but your supervisor may ask you to explain it.
The cells it reads
Open derivatives: information on positions held (S.08.01.01.01)
Columns
- C0060Portfolio
- C0080Derivatives held in index-linked and unit-linked contracts
- C0110Use of derivative
- C0131Notional amount of the derivative
- C0220Initial date
- C0240Solvency II value
- C0250Valuation method
Open derivatives: information on derivatives (S.08.01.01.02)
Columns
- C0260Counterparty Name
- C0330Counterparty Group
- C0360Contract name
- C0370Currency
- C0380CIC
- C0400Unwind trigger of contract
- C0430Maturity date
Open derivatives: information on positions held (S.08.01.04.01)
Columns
- C0060Portfolio
- C0080Derivatives held in index-linked and unit-linked contracts
- C0110Use of derivative
- C0131Notional amount of the derivative
- C0220Initial date
- C0240Solvency II value
- C0250Valuation method
Open derivatives: information on derivatives (S.08.01.04.02)
Columns
- C0260Counterparty Name
- C0330Counterparty Group
- C0360Contract name
- C0370Currency
- C0380CIC
- C0400Unwind trigger of contract
- C0430Maturity date
Which returns it applies to
Line4 Check runs it on quarterly solo (QRS), quarterly group (QRG), quarterly branch (QRB), annual solo (ARS), annual group (ARG) and annual branch (ARB) returns on EIOPA taxonomy 2.10.0. EIOPA applies it to quarterly group (QRG), annual group (ARG), annual ECB solo (AES), quarterly ECB solo (QES), quarterly ECB branch (QEB), annual ECB branch (AEB), quarterly solo (QRS), quarterly branch (QRB), annual solo (ARS) and annual branch (ARB) returns, as a warning.
EIOPA’s own words and formula
In EIOPA’s list of validations, word for word:
Items "Counterparty group" (where applicable for OTC derivatives), "Portfolio", "Derivatives held in index linked and unit linked contracts", "Use of derivative", "Notional amount of the derivative", "Initial date", "Solvency II value", "Valuation method", "Counterparty Name", "Contract name", "Currency", "Unwind trigger of contract" and "Maturity date" in S.08.01 - Open Derivatives should be reported.
Show the formulaShowHide
EIOPA's formula, for BV811-2. Cells are written as {t: table, r: row, c: column}.
if matches({t: S.08.01.01.02, c: C0380, z: Z0001}, "^((XL)|(XT))..$") then (not(isNull({t: S.08.01.01.02, c: C0330, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0060, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0080, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0110, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0131, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0220, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0240, z: Z0001})) and not(isNull({t: S.08.01.01.01, c: C0250, z: Z0001})) and not(isNull({t: S.08.01.01.02, c: C0260, z: Z0001})) and not(isNull({t: S.08.01.01.02, c: C0360, z: Z0001})) and not(isNull({t: S.08.01.01.02, c: C0370, z: Z0001})) and not(isNull({t: S.08.01.01.02, c: C0400, z: Z0001})) and not(isNull({t: S.08.01.01.02, c: C0430, z: Z0001}))) else true()BV811-1:
if matches({t: S.08.01.04.02, c: C0380, z: Z0001}, "^((XL)|(XT))..$") then (not(isNull({t: S.08.01.04.02, c: C0330, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0060, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0080, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0110, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0131, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0220, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0240, z: Z0001})) and not(isNull({t: S.08.01.04.01, c: C0250, z: Z0001})) and not(isNull({t: S.08.01.04.02, c: C0260, z: Z0001})) and not(isNull({t: S.08.01.04.02, c: C0360, z: Z0001})) and not(isNull({t: S.08.01.04.02, c: C0370, z: Z0001})) and not(isNull({t: S.08.01.04.02, c: C0400, z: Z0001})) and not(isNull({t: S.08.01.04.02, c: C0430, z: Z0001}))) else true()Other rules on Open derivatives (S.08.01)
- Open derivatives: a cell must be left empty (BV809)Blocking
- Open derivatives: a cell must be left empty (BV808)Blocking
- The item "Trigger value" in Open Derivatives is not applicable to interest rate and currency Swaps (CIC '##D3') (BV807)
- Open derivatives: a check on its values (BV806)
- Open derivatives: the format of a code or text (BV805)
- The item "Buyer / Seller" in Open Derivatives should not be reported for forwards (CIC ##E#) (BV804)
- The item "Buyer / Seller" in Open Derivatives must be reported for derivatives other than forwards (CIC ##E#) (BV803)Blocking
- Open derivatives: a check on its values (BV802)Blocking
Every Solvency II rule on S.08.01
Checks like this one, run at the point of submission, are the first step to real-time supervision. Line4 builds SupTech software for financial regulators that runs checks like these as each return arrives.
