2 min readBlockingEIOPA taxonomy 2.10.0Updated 11 November 2026

Basic information and impact of long-term guarantees measures and transitionals: a conditional check (S.01.02, S.22.01, EIOPA rule BV698)

A blocking check on the basic information (S.01.02) and impact of long-term guarantees measures and transitionals (S.22.01) templates, in the annual solo (ARS), annual group (ARG) 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

If "No use of volatility adjustment" is reported in template Basic information (S.01.02), the item "Impact of volatility adjustment set to zero" in template Impact of long-term guarantees measures and transitionals (S.22.01) must be zero

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 27 of them (BV698-1 to BV698-27), 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. 03It runs only when your filing indicators mark S.01.02 and S.22.01 as reported.
  4. 04This is a blocking check. A return that fails it is normally rejected, so fix it before you submit.

The cells it reads

Basic information (S.01.02.01.01)

Row

  • R0180Volatility adjustment

Column

  • C0010Report information

Basic information (S.01.02.04.01)

Row

  • R0180Volatility adjustment

Column

  • C0010Report information

Basic information (S.01.02.07.01)

Row

  • R0180Volatility adjustment

Column

  • C0010Report information

Impact of long-term guarantees measures and transitionals (S.22.01.01.01)

Rows

  • R0010Technical provisions
  • R0020Basic own funds
  • R0030Excess of assets over liabilities
  • R0040Restricted own funds due to ring-fencing and matching portfolio
  • R0050Eligible own funds to meet Solvency Capital Requirement
  • R0060Tier 1
  • R0070Tier 2
  • R0080Tier 3
  • R0090Solvency Capital Requirement

Column

  • C0070Impact of volatility adjustment set to zero

Impact of long-term guarantees measures and transitionals (S.22.01.04.01)

Rows

  • R0010Technical provisions
  • R0020Basic own funds
  • R0030Excess of assets over liabilities
  • R0040Restricted own funds due to ring-fencing and matching portfolio
  • R0050Eligible own funds to meet Solvency Capital Requirement
  • R0060Tier 1
  • R0070Tier 2
  • R0080Tier 3
  • R0090Solvency Capital Requirement

Column

  • C0070Impact of volatility adjustment set to zero

Which returns it applies to

Line4 Check runs it on annual solo (ARS), annual group (ARG) 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), annual ECB solo (AES) and annual group (ARG) returns, as a blocking check.

EIOPA’s own words and formula

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

If "No use of volatility adjustment" is reported in template S.01.02 - Basic information, the item "Impact of volatility adjustment set to zero" in template S.22.01 - Impact of long-term guarantees measures and transitionals must be zero.
Show the formulaShow

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

if ({t: S.01.02.01.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0090, c: C0070, z: Z0001} = 0 else true()

BV698-1:

if ({t: S.01.02.07.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0090, c: C0070, z: Z0001} = 0 else true()

BV698-2:

if ({t: S.01.02.07.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0080, c: C0070, z: Z0001} = 0 else true()

BV698-3:

if ({t: S.01.02.07.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0070, c: C0070, z: Z0001} = 0 else true()

BV698-4:

if ({t: S.01.02.07.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0060, c: C0070, z: Z0001} = 0 else true()

BV698-5:

if ({t: S.01.02.07.01, r: R0180, c: C0010} = [s2c_AP:x8]) then {t: S.22.01.01.01, r: R0050, c: C0070, z: Z0001} = 0 else true()

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

Every Solvency II rule on S.01.02

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.