Skip to content

Inline XBRL

Inline XBRL (iXBRL) embeds XBRL tags directly into HTML/XHTML documents, creating a single document that is both human-readable (viewable in a browser) and machine-readable (extractable as XBRL data).

The Problem iXBRL Solves

Traditional instance documents are pure XML -- unreadable to humans. Companies had to maintain two versions: a human-readable report AND an XBRL filing. iXBRL eliminates this duplication.

How It Works

  1. The HTML document replaces the instance document
  2. XBRL tags are woven into the HTML using the ix: namespace
  3. Other taxonomy files (schemas, linkbases) remain separate
  4. An XBRL processor can extract a complete instance document from the iXBRL file

Key iXBRL Elements

Tagging Elements

ElementPurposeExample Use
<ix:nonFraction>Tags numeric dataRevenue, Total Assets
<ix:nonNumeric>Tags text/string dataCompany name, policy text, dates
<ix:fraction>Tags fractional dataRarely used

Structural Elements

ElementPurpose
<ix:header>Contains hidden XBRL data (contexts, units, hidden facts)
<ix:hidden>Facts in XBRL output but not visible in HTML
<ix:references>Schema and linkbase references
<ix:resources>Context and unit definitions
<ix:continuation>Combines non-contiguous text blocks into a single fact
<ix:exclude>Removes subsections from tagged text
<ix:footnote>Footnote content
<ix:relationship>Links facts to footnotes

Example

HTML shows: R 5,000,000

iXBRL source:

html
<ix:nonFraction name="ifrs:Revenue"
  contextRef="FY2024"
  unitRef="ZAR"
  decimals="-3"
  format="ixt:numdotdecimal"
  scale="3">
  5,000
</ix:nonFraction>

What happens:

  • Browser displays: 5,000 (the human sees "5,000" in the context of the report, meaning thousands)
  • XBRL processor extracts: Revenue = 5000000 (scale="3" means multiply by 1,000)

Key Attributes

AttributePurposeExample
nameConcept from taxonomyifrs:Revenue
contextRefReference to contextFY2024
unitRefReference to unitZAR
formatTransformation ruleixt:numdotdecimal
scalePower of 10 multiplier6 = millions
signNegation indicator- negates the value
decimalsAccuracy-3 = nearest thousand

Transformation Rules Registry

Defines how human-readable values in HTML convert to XBRL data types:

CategoryExamples
Numbersnumdotdecimal, numcommadecimal, numdash (dash → zero)
Datesdatedaymonthyear, datemonthdayyearen
Booleansbooleantrue, booleanfalse

Currently at version 5.

Advanced Features

  • Nested tags -- numeric tags within larger text blocks for multi-level tagging
  • Multiple tags for one value -- same figure can have multiple concepts/periods
  • Document sets -- multiple iXBRL HTML files generate a single XBRL output
  • Continuation -- split one long text fact across non-contiguous HTML sections

Who Requires iXBRL?

  • SEC (USA) -- mandatory for all public filings since 2018
  • ESMA (EU) -- required for ESEF annual reports
  • HMRC (UK) -- corporation tax returns
  • CIPC (South Africa) -- annual financial statements (see 20 CIPC Taxonomy Example)