2 min readBlockingEIOPA taxonomy 2.10.0Updated 11 November 2026

Content of the submission and non-life technical provisions: a conditional check (SR.01.01, SR.17.01, EIOPA rule BV253_2)

A blocking check on the content of the submission (SR.01.01) and non-life technical provisions (SR.17.01) templates, in the annual solo (ARS) and annual branch (ARB) returns.

It applies to 2.8.2 returns too, the release for the 2026 returns, and Line4 Check runs it there as well.

The rule in plain words

The item "Net Best Estimate of Premium Provisions" reported in Non-Life Technical Provisions (SR.17.01) [RFF/MP/RM] must be equal to "Premium provision - Gross" minus "Total recoverable from reinsurance/SPV and Finite Re after the adjustment for expected losses due to counterparty default"

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 34 of them (BV253_2-2 to BV253_2-35), and a failure names the one that failed.

What to do if your return fails it

  1. 01Open the tables below and find the cells the rule reads.
  2. 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.
  3. 03EIOPA allows a small rounding difference, worked out from the decimals each value is reported with.
  4. 04It runs only when your filing indicators mark SR.01.01 and SR.17.01 as reported.
  5. 05This is a blocking check. A return that fails it is normally rejected, so fix it before you submit.

The cells it reads

Content of the submission (SR.01.01.01.01)

Row

  • R0810SR.17.01.01 - Non-Life Technical Provisions

Column

  • C0010Reporting status

Content of the submission (SR.01.01.07.01)

Row

  • R0810SR.17.01.01 - Non-Life Technical Provisions

Column

  • C0010Reporting status

Non-life technical provisions (SR.17.01.01.01)

Rows

  • R0060Gross
  • R0140Total recoverable from reinsurance/SPV and Finite Re after the adjustment for expected losses due to counterparty default
  • R0150Net Best Estimate of Premium Provisions

Columns

  • C0020Medical expense insurance
  • C0030Income protection insurance
  • C0040Workers' compensation insurance
  • C0050Motor vehicle liability insurance
  • C0060Other motor insurance
  • C0070Marine, aviation and transport insurance
  • C0080Fire and other damage to property insurance
  • C0090General liability insurance
  • C0100Credit and suretyship insurance
  • C0110Legal expenses insurance
  • C0120Assistance
  • C0130Miscellaneous financial loss
  • C0140Non-proportional health reinsurance
  • C0150Non-proportional casualty reinsurance
  • C0160Non-proportional marine, aviation and transport reinsurance
  • C0170Non-proportional property reinsurance
  • C0180Total Non-Life obligation

Which returns it applies to

Line4 Check runs it on annual solo (ARS) and annual branch (ARB) returns on EIOPA taxonomy 2.10.0. EIOPA applies it to annual branch (ARB), annual ECB branch (AEB), annual solo (ARS) and annual ECB solo (AES) returns, as a blocking check.

EIOPA’s own words and formula

In EIOPA’s list of validations, word for word:

The item "Net Best Estimate of Premium Provisions" reported in SR.17.01 - Non-Life Technical Provisions [RFF/MP/RM] must be equal to "Premium provision - Gross" minus "Total recoverable from reinsurance/SPV and Finite Re after the adjustment for expected losses due to counterparty default".
Show the formulaShow

EIOPA's formula, for BV253_2-19. Cells are written as {t: table, r: row, c: column}.

if ({t: SR.01.01.01.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0180, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0180, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0180, z: Z0001} else true()

BV253_2-2:

if ({t: SR.01.01.07.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0180, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0180, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0180, z: Z0001} else true()

BV253_2-3:

if ({t: SR.01.01.07.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0170, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0170, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0170, z: Z0001} else true()

BV253_2-4:

if ({t: SR.01.01.07.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0160, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0160, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0160, z: Z0001} else true()

BV253_2-5:

if ({t: SR.01.01.07.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0150, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0150, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0150, z: Z0001} else true()

BV253_2-6:

if ({t: SR.01.01.07.01, r: R0810, c: C0010, z: Z0001} = [s2c_CN:x1]) then {t: SR.17.01.01.01, r: R0150, c: C0140, z: Z0001} = {t: SR.17.01.01.01, r: R0060, c: C0140, z: Z0001} - {t: SR.17.01.01.01, r: R0140, c: C0140, z: Z0001} else true()

And 28 more, the same rule on other tables or returns.

Every Solvency II rule on SR.01.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.