FinchContext
Run with

Build an ESEF Annual Financial Report (Inline XBRL / iXBRL)

Skill: Convert IFRS consolidated financial statements into the ESEF iXBRL annual report

Region: European Union (EU-wide) Category: Financial reporting — European Single Electronic Format (Transparency Directive; Delegated Reg. (EU) 2019/815) Does: Takes a listed issuer's IFRS consolidated financial statements and produces the ESEF Annual Financial Report as a single XHTML document with the primary statements tagged in Inline XBRL (iXBRL) using the ESEF taxonomy (an extension of the IFRS Taxonomy), filed with the national Officially Appointed Mechanism (OAM). Standard: Directive 2004/109/EC (Transparency) · Commission Delegated Regulation (EU) 2019/815 (RTS on ESEF) · ESEF taxonomy / ESMA reporting manual

All issuers with securities on EU-regulated markets must prepare their Annual Financial Report in ESEF: the report is XHTML, and the IFRS consolidated primary financial statements (and certain notes via block tagging) are marked up with Inline XBRL using the ESEF core taxonomy plus an issuer extension taxonomy anchored to ESEF elements. Confirm the applicable ESEF taxonomy version (updated annually) and the ESMA reporting manual before generating.


When this applies


Input data required

Group Fields
Issuer LEI, name, reporting period, presentation currency, IFRS basis
Primary statements Statement of financial position, P&L / comprehensive income, changes in equity, cash flows — each line value + period
Taxonomy mapping the ESEF/IFRS element for each line; extension concepts with anchoring to the closest standard element
Context entity identifier (LEI scheme), period (instant/duration), unit (currency, decimals/scale)
Document the human-readable XHTML report (cover, MD&A, statements, notes)

Structure (Inline XBRL in XHTML)

report.xhtml
├── <html xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" ...>
├── ix:header
│   ├── ix:references   (schemaRef → issuer extension .xsd → ESEF/IFRS entry point)
│   └── ix:resources    (xbrli:context [entity LEI + period], xbrli:unit [iso4217:EUR])
└── <body> human-readable report with inline facts:
    └── <ix:nonFraction contextRef="..." unitRef="EUR" decimals="-3"
            name="ifrs-full:Revenue">1 234 000</ix:nonFraction>

Extension elements live in the issuer taxonomy (.xsd + linkbases) and must be anchored (esef_cor anchor relationships) to the nearest wider/narrower ESEF element.


Tagging rules


Worked example (one tagged line)

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ix="http://www.xbrl.org/2013/inlineXBRL"
      xmlns:ifrs-full="https://xbrl.ifrs.org/taxonomy/2025-03-27/ifrs-full"
      xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <head><ix:header>
    <ix:references><link:schemaRef xlink:href="example-2025.xsd"/></ix:references>
    <ix:resources>
      <xbrli:context id="FY2025">
        <xbrli:entity><xbrli:identifier scheme="http://standards.iso.org/iso/17442">529900T8BM49AURSDO55</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-12-31</xbrli:endDate></xbrli:period>
      </xbrli:context>
      <xbrli:unit id="EUR"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit>
    </ix:resources>
  </ix:header></head>
  <body>
    <p>Revenue:
      <ix:nonFraction name="ifrs-full:Revenue" contextRef="FY2025" unitRef="EUR"
                      decimals="-3" scale="3" format="ixt:num-dot-decimal">1,234,000</ix:nonFraction>
    </p>
  </body>
</html>

Validation checklist


Last updated: 2026-06-04 — confirm the applicable ESEF taxonomy version, anchoring/block-tagging scope, and your national OAM filing rules against the current ESMA reporting manual and Delegated Regulation (EU) 2019/815 before use.