2 min readWarningEIOPA taxonomy 2.10.0Updated 11 November 2026

Solvency capital requirement - health underwriting risk: the format of a code or text (S.26.04, EIOPA rule BV608_1)

A warning on the solvency capital requirement - health underwriting risk template (S.26.04), 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

Only the solvency capital requirement should be reported in S.26.04 -Solvency Capital Requirement - Health underwriting risk for SLT lapse risk when the simplification for Article 102 on SLT lapse risk is applied

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 (BV608_1-1 and BV608_1-2), 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. 02Compare the code or text in your return with the format the rule sets out, character by character, including any prefix and any spaces.
  3. 03It runs only when your filing indicators mark S.26.04 as reported.
  4. 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

Solvency capital requirement - health underwriting risk: sLT health underwriting risk (S.26.04.01.01)

Rows

  • R0400SLT health lapse risk
  • R0410risk of increase in lapse rates
  • R0420risk of decrease in lapse rates

Columns

  • C0020Assets
  • C0030Liabilities
  • C0040Assets
  • C0050Liabilities (after the loss absorbing capacity of technical provisions)
  • C0060Net solvency capital requirement
  • C0070Liabilities (before the loss-absorbing capacity of technical provisions)
  • C0080Gross solvency capital requirement

Solvency capital requirement - health underwriting risk: simplifications used (S.26.04.01.09)

Row

  • R0050Simplifications - SLT lapse risk

Column

  • C0010Simplifications used

Solvency capital requirement - health underwriting risk: sLT health underwriting risk (S.26.04.04.01)

Rows

  • R0400SLT health lapse risk
  • R0410risk of increase in lapse rates
  • R0420risk of decrease in lapse rates

Columns

  • C0020Assets
  • C0030Liabilities
  • C0040Assets
  • C0050Liabilities (after the loss absorbing capacity of technical provisions)
  • C0060Net solvency capital requirement
  • C0070Liabilities (before the loss-absorbing capacity of technical provisions)
  • C0080Gross solvency capital requirement

Solvency capital requirement - health underwriting risk: simplifications used (S.26.04.04.09)

Row

  • R0050Simplifications - SLT lapse risk

Column

  • C0010Simplifications used

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 ECB solo (AES), annual ECB branch (AEB), annual solo (ARS), annual branch (ARB) and annual group (ARG) returns, as a warning.

EIOPA’s own words and formula

The plain words above are EIOPA’s own, word for word, from its list of validations.

Show the formulaShow

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

if (matches({t: S.26.04.01.09, r: R0050, c: C0010, z: Z0001}, "^((1)|(1,2))$")) then not(isNull({t: S.26.04.01.01, r: R0400, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.01.01, r: R0410, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.01.01, r: R0420, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.01.01, r: R0400, c: C0080, z: Z0001})) and not(isNull({t: S.26.04.01.01, r: R0410, c: C0080, z: Z0001})) and not(isNull({t: S.26.04.01.01, r: R0420, c: C0080, z: Z0001})) and isNull({t: S.26.04.01.01, r: R0410, c: C0020, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0410, c: C0030, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0410, c: C0040, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0410, c: C0050, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0410, c: C0070, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0420, c: C0020, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0420, c: C0030, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0420, c: C0040, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0420, c: C0050, z: Z0001}) and isNull({t: S.26.04.01.01, r: R0420, c: C0070, z: Z0001}) else true()

BV608_1-2:

if (matches({t: S.26.04.04.09, r: R0050, c: C0010, z: Z0001}, "^((1)|(1,2))$")) then not(isNull({t: S.26.04.04.01, r: R0400, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.04.01, r: R0410, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.04.01, r: R0420, c: C0060, z: Z0001})) and not(isNull({t: S.26.04.04.01, r: R0400, c: C0080, z: Z0001})) and not(isNull({t: S.26.04.04.01, r: R0410, c: C0080, z: Z0001})) and not(isNull({t: S.26.04.04.01, r: R0420, c: C0080, z: Z0001})) and isNull({t: S.26.04.04.01, r: R0410, c: C0020, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0410, c: C0030, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0410, c: C0040, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0410, c: C0050, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0410, c: C0070, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0420, c: C0020, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0420, c: C0030, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0420, c: C0040, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0420, c: C0050, z: Z0001}) and isNull({t: S.26.04.04.01, r: R0420, c: C0070, z: Z0001}) else true()

Every Solvency II rule on S.26.04

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.