XBRL
Überblick über die technische Architektur
Michael Härtfelder, 2007 <michael@haertfelder.com>
modifizierter Artikel veröffentlicht in der Zeitschrift iX 09/2008

 

Home Betrachtet man den Trend in den letzten Jahren im Bereich Business Management, dann ist eindeutig das zunehmende Gewicht des Business Reportings zu erkennen. Mit steigenden Publizitäts-und Rechnungslegungs-Anforderungen durch staatlichen Instanzen, Investoren und überhaupt die Marktteilnehmer ist es notwendig den Informationsfluss besser zu koordinieren und zu vereinfachen.

Das anwachsende Informationsvolumen zwingt die Beteiligten in immer stärkerem Masse zur Standardisierung der dargebotenen Informationen. Daher bilden sich zunehmend Verfahren und Technologien heraus, die eine effizientere Informationsverarbeitung bieten.

Eine dieser neuen Technologien ist XBRL (eXtended Business Reporting Language). Dieses internationale Datenbeschreibungsformat bildet ein erweiterbares Rahmenwerk (Framework) zur Veröffentlichung verschiedenster Finanzdaten. Der angesprochene Standard ist insofern bedeutend, weil er von einer breiten Unterstützung durch internationale Konzerne, Wirtschaftsprüfergesellschaften und Finanzdienstleister getragen wird und eine konkurrenzlose Stellung im zukünftigen Business Reporting besitzt.

XBRL geht direkt einher mit dem Trend hin zur Internationalisierung der Rechnungslegungsvorschriften. Bekanntermassen resultierten aus den Harmonisierungsbemühungen bei der Bilanzierung die IAS (International Accounting Standard) bzw. die in IFRS (International Financial Reporting Standard) umbenannten Rahmenrichtlinien. Gerade aber diese Vereinbarungen bieten sich mustergültig an, um mit XBRL implementiert zu werden.

Natürlich ist die Datenstrukturierung mit XBRL nicht auf dieses eine Szenario beschränkt. Selbstverständlich können auch individuelle Spezifikationen (sogenannte "Taxonomien") für andere Rechnungslegungsvorschriften etwa auf nationaler Ebene aber auch auf Branchen- oder sogar Unternehmensebene erstellt werden.

Enorm förderlich für die weitere Verbreitung des XBRL Datenformats ist sicherlich auch die Unterstüzung durch staatliche Behörden und Institutionen. Werden bisher nur Empfehlungen für eine Veröffentlichung im XBRL Format ausgesprochen, so wird dies in absehbarer Zeit voraussichtlich zu einer Pflicht erhoben.

Um einen weiteren Vorteil gleich hervorzuheben sei betont, dass das XBRL-Format an sich kosten- und lizenzfrei ist. Die zugrundeliegenden Spezifikationen sind von den Beteiligten ohne Restriktionen einseh- und verwendbar.

Das Fundament von XBRL ist dabei die universelle Datenbeschreibungssprache XML, die sich bereits seit Jahren als Instrument zur Informationsstrukturierung in zahlreichen technischen und betriebswirtschaftlichen Bereichen bewährt hat. XBRL ist insofern eine Verfeinerung und Spezialisierung von XML mit dem Fokus Business Reporting.

Bisherige Praxis ist die Veröffentlichung von Bilanzen, Gewinn- und Verlustrechnungen, Kapitalflussrechnungen, Vermögensrechnungen, Quartalszahlen, Segmentberichterstattung, .... auf Papier im Rahmen von Geschäftsberichten, als Pressemitteilung oder eingetragen in althergebrachte Formulare. Bestenfalls wurden die Daten in Tabellenkalkulations-Datenblättern oder in proprietären Datendokumenten den Adressaten zur Verfügung gestellt. Von dort wurden sie - wenn überhaupt - manuell in unterschiedlichste Datenbanken und Informationssysteme eingepflegt. Mit der zunehmenden Einführung und Akzeptanz von XBRL werden diese Veröffentlichungsformen und Transportbehälter in den Hintergrund rücken. Schnelle, effiziente und genormte Datenübermittlung über XBRL konforme Mitteilungen wird den Takt vorgeben. Analysten, Investoren, Finanzdienstleister und die Presse werden die übermittelten Informationen ohne Unterbrechung in ihre individuellen Systeme einspeisen können.

Im Folgenden wird ein detaillierterer Blick auf die technische Architektur von XBRL geworfen. Dabei wird Bezug genommen auf die letzte aktuell verfügbare XBRL Spezifikation 2.1.

Wie sieht nun die XBRL Architektur im Allgemeinen aus? Prinzipiell sind zwei Komponenten zu unterscheiden:

Zum einen gibt es das XBRL Instanzdokument und zum anderen die referenzierte XBRL Taxonomie. Während das XBRL Instanzdokument konkrete Daten und Fakten für ein Unternehmen enthält, ist in der XBRL Taxonomie festgelegt, wie und welche Daten in einem Instanzdokument maximal enthalten sein können. Die folgende Grafik veranschaulicht den Zusammenhang:

XBRL Instanzdokumente

Unter konkreten Fakten in einem solchen Dokument kann man sich einzelne Positionen in einem Geschäftsbericht vorstellen (etwa "Basic Earnings (Loss) Per Share"). Einzelne Werte ohne strukturellen, inneren Aufbau werden dabei "item" genannt. Demgegenüber existieren auch zusammengehörige Werte "tuples", die nur im Zusammenhang betrachtet werden können. Ein tuple kann seinerseits items oder andere tuples enthalten. Jedes atomare item repräsentiert ein Business Concept, d.h. einen speziellen Sachverhalt der im Detail in der dazugehörigen Taxonomie definiert wird.

Weiterhin bezieht sich jedes Item auch auf einen festgelegten Kontext in dem das Item interpretiert werden muss. Ein Kontext ist etwa die referenzierte Zeitperiode (Jahr 2004, III Quartal,...) oder die Berichtskategorie (Vergangenheit, Planung, nicht-konsolidiert,....).

XBRL Taxonomie

Eine Taxonomie beschreibt die Struktur der Daten in den XBRL Instanzdokumenten und deren Beziehungen untereinander. Diese Syntax wird mit auf XML basierenden XML Schematas und Xlinks definiert. Jedes XBRL Instanzdokument bezieht sich auf genau ein Taxonomie Schema.

Die in einem Taxonomie Schema definierte Struktur beschreibt dabei auf syntaktischer Ebene die maximal möglichen Elemente eines XBRL Dokuments. Wie bereits angesprochen kann jeder Beteiligte theoretisch seine eigene Taxonomie entsprechend seinen eigenen Vorstellungen und Bedürfnissen entwickeln. In der Praxis wird diese neue Taxonomie dabei eher selten aus dem Nichts erstellt sondern eine bestehende Taxonomie herangezogen und individuell angepasst. Eine Auswahl bisher entwickelter, allgemeiner Taxonomien zeigt diese Seite: http://www.xbrl.org/TechnicalInformation/

Zu erwähnen ist, dass eine Taxonomie ihrerseits wieder andere Taxonomie Schematas erweiteren oder überlagern kann. Die Gesamtheit aller für ein XBRL Instanzdokument massgeblichen Taxonomien wird DTS (Discoverable Taxonomy Set) genannt.

linkbases

Eine XBRL Instanz oder auch Taxonomien können optional auch sogenannte linkbases referenzieren. linkbases enthalten zusätzliche informationen zu den in einer Instanz aufgeführten Fakten bzw. definiert Beziehungen zwischen einzelnen Fakten aus einer Instanz. Dieses Beziehungsgeflecht wird mit Hilfe von Xlink, einer Spracherweiterung aus dem Umfeld der XML Technologie, implementiert. Ähnlich wie Hyperlinks auf Internet-Webseiten bieten Xlinks die Möglichkeit Komponenten miteinander zu verlinken und mit zusätzlichen Attributen zu beschreiben. Xlinks sind also noch wesentlich mehr als die einfache textuelle Verbindungen, da sie selbst metadaten (z.B. Hierarchieinformationen) darstellen. Die erwähnten linkbases sind auch Bestanddteil des DTS.

Ein etwas detaillierterer Blick auf die linkbases zeigt fünf verschiedene Arten von links:

  • Label links
  • Reference links
  • Calculation links
  • Definition links
  • Presentation links
Label links verbinden einzelne Fakten mit jeweils einer offiziellen Bezeichnung. Jedes Berichts-Element kann dabei links zu verschiedenen Labels haben. Dies ist etwa dann der Fall wenn ein Report in mehreren Sprachen veröffentlicht werden soll. In folgendem Ausschnitt wird dem Concept "ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" aus der Taxonomie "ifrs-gp-2004-06-15.xsd" das Label (hier nur in englisch) "Amount of Maximum Potential Loss from Credit Risk" zugeordnet:

  <labellink      xlink:type="extended" 
                  xlink:role="http://www.xbrl.org/2003/role/link">
    <loc          xlink:type="locator" 
                  xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" 
                  xlink:label="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" />
    <labelArc     xlink:type="arc" 
                  xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" 
                  xlink:from="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" 
                  xlink:to="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk_lbl" />
    <label        xlink:type="resource" 
                  xlink:role="http://www.xbrl.org/2003/role/label" 
                  xlink:label="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk_lbl" 
                  xml:lang="en">Amount of Maximum Potential Loss from Credit Risk</label>
    ...
  </labellink>
In ähnlicher Weise stellen Reference links eine Verbindung her zwischen einzelnen Fakten und den zugrundeliegenden Stellen in den Rechtsverordnungen. Nachfolgend wird mit dem Fakt "ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" aus der Taxonomie "ifrs-gp-2004-06-15.xsd" Bezug genommen auf die Rechnungslegungsvorschrift "IAS 32, Paragraph 66":

  <referencelink  xlink:type="extended" 
                  xlink:role="http://www.xbrl.org/2003/role/link">
    <loc          xlink:type="locator" 
                  xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" 
                  xlink:label="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" />
    <referenceArc xlink:type="arc" 
                  xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-reference" 
                  xlink:from="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk" 
                  xlink:to="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk_ref" />
    <reference    xlink:type="resource" 
                  xlink:role="http://www.xbrl.org/2003/role/reference" 
                  xlink:label="ifrs-gp_AmountMaximumPotentialLossFromCreditRisk_ref">
      <ref:Name>IAS</ref:Name>
      <ref:Number>32</ref:Number>
      <ref:Paragraph>66</ref:Paragraph>
    </reference>
    ...
  </referencelink>
Während die beiden zuvor dargestellten linktypen auf externe Quellen verweisen, dienen die folgenden anderen drei linktypen der Verbindung der Elemente untereinander.

Calculation links definieren wie sich einzelne Daten aus anderen Daten (mathematisch) berechnen lassen. Eines der Attribute ("weight") ist das Gewicht mit dem ein Ausgangswert in den Zielwert einfliesst. In folgendem Auszug berechnet sich der Wert von "ifrs-gp_AssetsTotal" in der Taxonomie "ifrs-gp-2004-06-15.xsd" aus der Summe der einfachen (weight="1") Werte von "ifrs-gp_PropertyPlantEquipmentNet", "ifrs-gp_InvestmentProperty", "ifrs-gp_IntangibleAssetsNet" plus evtl. weiterer (hier nicht erwähnter) Werte:

  <calculationlink  xlink:type="extended" 
                    xlink:role="http://xbrl.iasb.org/int/fr/ifrs/gp/role/BalanceSheetLiquidity" 
                    xlink:title="Balance Sheet, Order of Liquidity Format">
    <loc            xlink:type="locator" 
                    xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_AssetsTotal" 
                    xlink:label="ifrs-gp_AssetsTotal" />
    <loc            xlink:type="locator" 
                    xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_PropertyPlantEquipmentNet" 
                    xlink:label="ifrs-gp_PropertyPlantEquipmentNet" />
    <calculationArc xlink:type="arc" 
                    xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" 
                    xlink:from="ifrs-gp_AssetsTotal" 
                    xlink:to="ifrs-gp_PropertyPlantEquipmentNet" 
                    order="1" weight="1" use="optional" />
    <loc            xlink:type="locator" 
                    xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_InvestmentProperty" 
                    xlink:label="ifrs-gp_InvestmentProperty" />
    <calculationArc xlink:type="arc" 
                    xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" 
                    xlink:from="ifrs-gp_AssetsTotal" 
                    xlink:to="ifrs-gp_InvestmentProperty" 
                    order="2" weight="1" use="optional" />
    <loc            xlink:type="locator" 
                    xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_IntangibleAssetsNet" 
                    xlink:label="ifrs-gp_IntangibleAssetsNet" />
    <calculationArc xlink:type="arc" 
                    xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" 
                    xlink:from="ifrs-gp_AssetsTotal" 
                    xlink:to="ifrs-gp_IntangibleAssetsNet" 
                    order="3" weight="1" use="optional" />
    ...
  <calculationlink>
Natürlich ist XBRL zunächst einmal ein elektronischer Behälter für den Transport von Finanzdaten. Andererseits soll die Möglichkeit bestehen aus einer XBRL Instanz auch einen schriftlichen Report zu generieren. Die bisher erwähnten Konstrukte enthalten aber keine Hinweise auf die Struktur einer solchen Präsentation oder Geschäftsberichtes. Dazu dienen Presentation links. Sie definieren die Darstellungshierarchie der einzelnen Elemente. Hier ein Beispiel wie die Felder "ifrs-gp_PropertyPlantEquipmentNet", "ifrs-gp_InvestmentProperty", "ifrs-gp_IntangibleAssetsNet" (und zwar in genau dieser Reihenfolge (order="1,2,3")) dem Feld "ifrs-gp_AssetsPresentation" und dieses wiederum dem Feld "ifrs-gp_BalanceSheetPresentation" in einer schriftlichen Präsentation untergeordnet würden:

  <presentationlink   xlink:type="extended" 
                      xlink:role="http://xbrl.iasb.org/int/fr/ifrs/gp/role/BalanceSheetLiquidity" 
                      xlink:title="Balance Sheet, Order of Liquidity Format">
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_BalanceSheetPresentation" 
                      xlink:label="ifrs-gp_BalanceSheetPresentation" />
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_AssetsPresentation" 
                      xlink:label="ifrs-gp_AssetsPresentation" />
    <presentationArc  xlink:type="arc" 
                      xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" 
                      xlink:from="ifrs-gp_BalanceSheetPresentation" 
                      xlink:to="ifrs-gp_AssetsPresentation" 
                      order="1" use="optional" />
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_PropertyPlantEquipmentNet" 
                      xlink:label="ifrs-gp_PropertyPlantEquipmentNet" />
    <presentationArc  xlink:type="arc" 
                      xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" 
                      xlink:from="ifrs-gp_AssetsPresentation" 
                      xlink:to="ifrs-gp_PropertyPlantEquipmentNet" 
                      order="1" use="optional" />
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_InvestmentProperty" 
                      xlink:label="ifrs-gp_InvestmentProperty" />
    <presentationArc  xlink:type="arc" 
                      xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" 
                      xlink:from="ifrs-gp_AssetsPresentation" 
                      xlink:to="ifrs-gp_InvestmentProperty" 
                      order="2" use="optional" />
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-gp-2004-06-15.xsd#ifrs-gp_IntangibleAssetsNet" 
                      xlink:label="ifrs-gp_IntangibleAssetsNet" />
    <presentationArc  xlink:type="arc" 
                      xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" 
                      xlink:from="ifrs-gp_AssetsPresentation" 
                      xlink:to="ifrs-gp_IntangibleAssetsNet" 
                      order="3" use="optional" />
    ...
  <presentationlink>
Zuletzt noch ein Wort zu Definition links. Diese dienen der Definition von Verallgemeinerungen und Spezialisierungen innerhalb der deklarierten Elemente. Entsprechend der arcrole ("parent-child" oder "child-parent") existieren wechselseitige Beziehungen zwischen den Feldern:

  <definitionlink     xlink:type="extended">
    <loc              xlink:type="locator" 
                      xlink:href="ifrs-ci-2003-07-15.xsd#ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:label="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:title="ifrs-ci_PropertyPlantEquipmentNet" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_BuildingsNetEndingBalance" 
                      xlink:to="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go up to: BuildingsNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/child-parent" use="optional" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:to="ifrs-ci_BuildingsNetEndingBalance" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go down to: BuildingsNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/parent-child" use="optional" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_FixturesFittingsNetEndingBalance" 
                      xlink:to="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go up to: FixturesFittingsNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/child-parent" use="optional" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:to="ifrs-ci_FixturesFittingsNetEndingBalance" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go down to: FixturesFittingsNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/parent-child" use="optional" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_MotorVehiclesNetEndingBalance" 
                      xlink:to="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go up to: MotorVehiclesNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/child-parent" use="optional" />
    <definitionArc    xlink:type="arc" 
                      xlink:from="ifrs-ci_PropertyPlantEquipmentNet" 
                      xlink:to="ifrs-ci_MotorVehiclesNetEndingBalance" 
                      xlink:show="replace" 
                      xlink:actuate="onRequest" 
                      xlink:title="Go down to: MotorVehiclesNetEndingBalance" 
                      xlink:arcrole="http://www.xbrl.org/linkprops/arc/parent-child" use="optional" />
    ...
  </definitionlink>
Die bisher beschriebenen Strukturen von XBRL müssen natürlich auch durch entsprechende Software implementiert werden. Diejenigen Unternehmen, denen in erster Linie daran gelegen ist die Informationen dem Publikum zur Verfügung zu stellen, könnten eigene Module zu Ihrem bestehenden ERM Systen entwickeln und die XBRL Instanzdokumente direkt aus ihrem Rechnungswesen generieren lassen. Da die zu verifizierenden und und zu beachtenden XBRL Strukturen ziemlich komplex sind, ist dies eine anspruchsvolle Aufgabe. XBRL Software muss den umfangreichen und detaillierten Spezifikationen und Konformitätsanforderungen genügen, wenn sie einen fehlerfreien Betreib gewährleisten soll.

Dies trifft in besonderem Masse auch für eigenständige XBRL Prozessoren zu. Diese bieten über die normale Generierung von Instanzdokument hinaus noch eine Vielzahl von weiteren Funktionalitäten. Dies kann etwa ein Taxonomie Editor sein, der die Erstellung von Taxonomien unterstützt. Zusätzlich kann ein XBRL Repository zur Speicherung von XBRL Dokumenten und Taxonomien enthalten sein, ebenso wie eine Abfrage und Reporting Engine zur Generierung etwa von pdf Dokumenten.