XBRL

From Wikipedia, the free encyclopedia

Jump to: navigation, search
File:xbrl-logo.png
Filename extension .xbrl, .xml
Internet media type application/xml
Developed by XBRL International
Type of format Markup language
Extended from XML
Standard(s) XBRL 2.1 Specifications


XBRL (eXtensible Business Reporting Language) is an open standard which supports information modeling and the expression of semantic meaning commonly required in business reporting. XBRL is XML-based. It uses the XML syntax and related XML technologies such as XML Schema, XLink, XPath, and Namespaces to articulate this semantic meaning. One use of XBRL is to define and exchange financial information, such as a financial statement. The XBRL Specification is developed and published by XBRL International, Inc. (XII).

XBRL is a standards-based way to communicate business and financial information. These communications are defined by metadata set out in taxonomies. Taxonomies capture the definition of individual reporting concepts as well as the relationships between concepts and other semantic meaning.

XBRLS is a simplified form of this standard intended to enable the non-XBRL expert to create both XBRL metadata and XBRL reports in a simple and convenient manner. At the same time, it seeks to improve the usability of XBRL, the interoperability among XBRL-based solutions and to reduce software development costs.

A wiki repository of XBRL projects can be found at Worldwide XBRL Projects, to be freely explored and updated.

Contents

[edit] Specification

The current (2008) version of XBRL is 2.1, with errata corrections. The normative version of all the XML Schemas is provided in the specification documents, not in separate files. A conformance suite is available to test processors of XBRL documents.

[edit] Document structure

In typical usage, XBRL consists of an instance document, containing primarily the business facts being reported, and a collection of taxonomies (called a Discoverable Taxonomy Set (DTS)), which define metadata about these facts, such as what the facts mean and how they relate to one another. XBRL uses XML Schema, XLink, and XPointer standards.

[edit] Instance document

The instance document begins with the <xbrl> root element. There may be more than one XBRL instance embedded in a larger XML document. The XBRL instance document itself holds the following information:

  • Business Facts - facts can be divided into two categories
    • Items are facts holding a single value. They are represented by a single XML element with the value as its content.
    • Tuples are facts holding multiple values. They are represented by a single XML element containing nested Items or Tuples.

In the design of XBRL, all Item facts must be assigned a context.

  • Contexts define the entity (e.g. company or individual) to which the fact applies, the period of time the fact is relevant, and an optional scenario. Date and time information appearing in the period element must conform to ISO 8601. Scenarios provide further contextual information about the facts, such as whether the business values reported are actual, projected, or budgeted.
  • Units define the units used by numeric or fractional facts within the document, such as USD, shares. XBRL allows more complex units to be defined if necessary. Facts of a monetary nature must use a unit from the ISO 4217 namespace.
  • Footnotes use XLink to associate one or more facts with some content.
  • References to taxonomies, typically through schema references. It is also possible to link directly to a linkbase.

This is an example of a fictitious Dutch company's IFRS statement instance file :

<?xml version="1.0" encoding="UTF-8"?>
 
<xbrli:xbrl
xmlns:ifrs-gp="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:xbrll="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink">
 
    <xbrll:schemaRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"
    xlink:type="simple"/>
    <ifrs-gp:OtherOperatingIncomeTotalFinancialInstitutions contextRef="J2004" decimals="0" unitRef="EUR">38679000000</ifrs-gp:OtherOperatingIncomeTotalFinancialInstitutions>
    <ifrs-gp:OtherAdministrativeExpenses contextRef="J2004" decimals="0" unitRef="EUR">35996000000</ifrs-gp:OtherAdministrativeExpenses>
    <ifrs-gp:OtherOperatingExpenses contextRef="J2004" decimals="0" unitRef="EUR">870000000</ifrs-gp:OtherOperatingExpenses>
    ...
    <ifrs-gp:OtherOperatingIncomeTotalByNature contextRef="J2004" decimals="0" unitRef="EUR">10430000000</ifrs-gp:OtherOperatingIncomeTotalByNature>
    <xbrli:context id="BJ2004">
        <xbrli:entity>
            <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier>
        </xbrli:entity>
        <xbrli:period>
            <xbrli:instant>2004-01-01</xbrli:instant>
        </xbrli:period>
    </xbrli:context>
    <xbrli:context id="EJ2004">
        <xbrli:entity>
            <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier>
        </xbrli:entity>
        <xbrli:period>
            <xbrli:instant>2004-12-31</xbrli:instant>
        </xbrli:period>
    </xbrli:context>
    <xbrli:context id="J2004">
        <xbrli:entity>
            <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier>
        </xbrli:entity>
        <xbrli:period>
            <xbrli:startDate>2004-01-01</xbrli:startDate>
            <xbrli:endDate>2004-12-31</xbrli:endDate>
        </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="EUR">
        <xbrli:measure>iso4217:EUR</xbrli:measure>
    </xbrli:unit>
</xbrli:xbrl>

[edit] Taxonomies

Taxonomies are a collection of XML schema documents and XML documents called linkbases by virtue of their use of XLink. The schema must ultimately extend the XBRL instance schema document and typically extend other published XBRL schemas on the xbrl.org website.

  • Schemas define Item and Tuple "concepts" using <xsd:element> elements. Concepts provide names for the fact and indicate whether or not it's a tuple or an item, the data type (such as monetary, numeric, fractional, or textual), and potentially more metadata. Items and Tuples can be regarded as "implementations" of concepts, or specific instances of a concept. A good analogy for those familiar with object oriented programming would be that Concepts are the classes and Items and Tuples are Object instances of those classes. This is the source of the use of the "instance document" terminology. In addition to defining concepts, Schemas reference linkbase documents. Tuples instances are 1..n relationships with their parents; their metadata is simply the collection of their attributes.
  • Linkbases are a collection of Links, which themselves are a collection of locators, arcs, and potentially resources. Locators are elements that essentially reference a concept and provide an arbitrary label for it. In turn, arcs are elements indicating that a concept links to another concept by referencing the labels defined by the locators. Some arcs link concepts to other concepts. Other arcs link concepts to resources, the most common of which are human-readable labels for the concepts. The XBRL 2.1 specification defines five different kinds of linkbases.
    • Label Linkbase - This linkbase provides human readable strings for concepts. Using the label linkbase, multiple languages can be supported, as well as multiple strings within each language.
    • Reference Linkbase - This linkbase associates concepts with citations of some body of authoritative literature.
    • Calculation Linkbase - This linkbase associates concepts with other concepts so that values appearing in an instance document may be checked for consistency.
    • Definition Linkbase - This linkbase associates concepts with other concepts using a variety of arc roles to express relations such as is-a, whole-part, etc.
    • Presentation Linkbase - This linkbase associates concepts with other concepts so that the resulting relations can guide the creation of a user interface, rendering, or visualisation.


This is the taxonomy schema of the above shown instance file:

<?xml version="1.0" encoding="utf-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ifrs-gp="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15"
xmlns:ifrs-gp-rol="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/roles"
xmlns:samp="http://www.iqinfo.com/xbrl/taxonomy"
targetNamespace="http://www.iqinfo.com/xbrl/taxonomy"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
 
    <annotation>
        <appinfo>
            <link:linkbaseRef xlink:type='simple' 
            xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-pre-bs-liquidity-2005-05-15.xml'
            xlink:role='http://www.xbrl.org/2003/role/presentationLinkbaseRef'
            xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' />
 
            <link:linkbaseRef xlink:type='simple' 
            xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-pre-is-byNature-2005-05-15.xml' 
            xlink:role='http://www.xbrl.org/2003/role/presentationLinkbaseRef'
            xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' />
 
            <link:linkbaseRef xlink:type='simple' 
            xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-cal-bs-liquidity-2005-05-15.xml'
            xlink:role='http://www.xbrl.org/2003/role/calculationLinkbaseRef'
            xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' />
 
            <link:linkbaseRef xlink:type='simple' 
            xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-cal-is-byNature-2005-05-15.xml'
            xlink:role='http://www.xbrl.org/2003/role/calculationLinkbaseRef' 
            xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' />
        </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" 
    schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15" 
    schemaLocation="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-2005-05-15.xsd" />
</schema>

XBRL's Global Ledger Framework (XBRL GL) is the only set of taxonomies that is developed and recommended by XII.

[edit] XBRL Modules

XBRL International has issued and reissued a stability pledge in relation to the core XBRL 2.1 specification. In addition to the core 2.1 spec, work continues on the development of several new modules of XBRL that define new, compatible functionality.

  • XBRL Dimensions 1.0 - This module has achieved the Public Recommendation status. It supports the use of XBRL taxonomies to define additional, structured contextual information for business facts. Each piece of contextual information is referred to as a "dimension." The base XBRL specification essentially defines three dimensions: reporting period, reporting entity (i.e. a company or a division thereof), and a loosely-defined reporting scenario, originally intended to distinguish between actual vs. projected facts. Taxonomies using XBRL Dimensions can define new dimensions, specify the valid values ("domains") for dimensions, designate which dimensions apply to which business concepts through mechanisms called "hypercubes", and relate other taxonomy metadata (labels, presentation information, etc.) to dimensions.
  • XBRL Formula - This module is a public working draft. This module will support the creation of expressions (using XPath) that can be applied to XBRL instance to calculate new XBRL facts in a new instance.
  • XBRL Rendering - This module has two deliverables. One is "Inline XBRL", a specification for embedding XBRL inside XHTML. The other is a Rendering Linkbase specification. The Rendering Linkbase will leverage the label and presentation linkbases to provide a facility for more comprehensive report definition. For example, the label linkbase can tell you that the English name for the ifrs-gp:assets concept is "Assets", and the presentaton linkbase can tell you that ifrs-gp:assets is the first concept in the hierarchy named "Balance Sheet". The Rendering Linkbase would add the metadata that "Balance Sheet" usually runs the labels (in presentation order) down the leftmost column, and then shows the two most recent periods in the next columns, in a particular order.
  • XBRL Versioning - This module will support the creation of a standard versioning report, which will document the differences between two versions of the same taxonomy. Many large taxonomies (such as the IFRS taxonomy) change every year.

[edit] Extensibility

Besides the creation of additional modules, XBRL International supports several methods for continuing expansion of shared XBRL functionality.

  • Link Role Registry - This registry, hosted at xbrl.org, collects link roles and arc roles to promote reuse across taxonomies.
  • Functions Registry - This registry collects XPath functions for reuse in formula linkbases.
  • Format Registry - This registry collects common numeric formats for reuse in Inline XBRL applications.
  • Best Practice RFCs - These documents will share common practices among community members to improve interoperability of design.

[edit] History

XBRL can be traced to the efforts of one person, Charlie Hoffman . The specification has gone through several versions, all of which are still available.

  • 1.0 - This version was based on DTDs. It expressed the difference between data exchange in instance documents and metadata exchange in taxonomy documents. Taxonomies were expressed as XML Schema files, but these were not used for instance validation.
  • 2.0 - This version introduced use of XML Schema substitution groups as a way of allowing schema validation of instances. Concept relations were broken out into separate XLink based linkbases. Context data in the instance was collected into a separate element.
  • 2.1 - This version tightened the definition of terms significantly, allowing for the introduction of a conformance suite.
  • XBRLS - In 2008 Charlie Hoffman and Rene van Egmond proposed a simplified more user friendly XBRL dialect that should meet the needs of most business users, business communities, regulators and independent software vendors.
  • SBR - In 2003 the Dutch government started Dutch national Taxonomy Project (NTP) to create a multi agency taxonomy and communication infrastructure. The Dutch government now collaborates with Australian and New Zealand in Standard Business Reporting (SBR) programs. The key objectives of SBR include reduced time and effort spent preparing and filing reports for government by businesses.

[edit] XBRL Software Tools

Instance Document Creation

  • Altova XMLSpy
  • Altova MapForce
  • Bowne Tagger
  • CoreFiling
  • Cross Tag (Rivet Software)
  • Dragon Tag (Rivet Software)
  • EDGARizer
  • Fujitsu XWand
  • I-Metrix
  • Simplex Data Technologies
  • UBmatrix

Taxonomy Creation

XBRL Validation

XBRL Mapping

XBRL Rendering

[edit] See also

[edit] External links

  • The official XBRL web site - source for the XBRL specification, a repository for financial reporting taxonomies, the Global Ledger taxonomy, and adoption resources
Personal tools