Difference between revisions of "XBRL"

From Open Risk Manual
(Extensibility)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Definition ==
 
== Definition ==
'''XBRL''' (''eXtensible Business Reporting Language'') is an open standard for exchanging business information.  XBRL provides a semantic framework to encode the information usually communicated in [[Business Reporting]]. Business data submitted as XBRL filings, that is, where information is annotated according to a predefined schema can be processed programmatically by computers. Extensibility is a very important aspect of the standard as the nature of business reporting requires is open ended. The XBRL Specification is developed and published by XBRL International.  
+
'''XBRL''' (''eXtensible Business Reporting Language'') is an open standard for exchanging [[Business Information]].  XBRL provides a semantic framework to encode the information usually communicated in [[Business Reporting]].  
 +
 
 +
== Motivation ==
 +
Business data submitted as XBRL filings, that is, where information is annotated according to a predefined schema can be processed programmatically by computers. Extensibility is a very important aspect of the standard as the nature of business reporting requires is open ended.  
  
 
== Technology and Specifications ==
 
== Technology and Specifications ==
XBRL is primarily based on XML and associated technologies: XML Schema, XLink and XPoint.  XML is a very general format, XBRL is actually a very constrained version.
+
The XBRL Specification is developed and published by XBRL International. The first XBRL specification was published in 2000.
 +
 
 +
XBRL is primarily based on XML and associated technologies: XML Schema, XLink and XPointer.  XML is a very general format, XBRL is actually a very constrained version.
 
* The Base XBRL Specification is 2.1
 
* The Base XBRL Specification is 2.1
 
* The Inline XBRL Specification is 1.1  
 
* The Inline XBRL Specification is 1.1  
  
  
iXBRL (Inline XBRL) is a development of XBRL in which the XBRL metadata are embedded in an HTML document, e.g., a published report and accounts. It requires the HTML document to be well-formed but does not otherwise specify the required XML format.  Typically, iXBRL is implemented within HTML documents, which are displayed or printed by web browsers without revealing the XBRL metadata inside the document.  The specification does, however, provide a normative schema which requires that any schema-valid iXBRL document should be in XHTML format.
+
'''iXBRL''' ([[Inline XBRL]]) is a development of XBRL in which the XBRL metadata are embedded in an HTML document, e.g., a published report and accounts.
  
== Terminology  ==
+
== Core Features ==
* An [[XBRL Instance]] (or XBRL File) contains the business facts being reported. An instance along with a taxonomy forms a complete submission (report or filling).
+
The core features of XBRL are:
* An XBRL Taxonomy defines metadata about what the facts mean and how they related to each other. It is the analog of a class specification in OOP, whereas an instance is a concrete object conforming to that taxonomy. A taxonomy may include formulae and validation rules.
+
* Taxonomies - the meta data describing reporting rules
* An Business Concept (also Business Element) is any abstract notion that describes an aspect of a business entity (e.g., an asset)
+
* Instance documents - the physical report in XBRL format
* A Business Fact is a literal value that is tagged in a given XBRL Context: Minimally, a Fact is a concrete instance of a Business Concept (aspect).  It concerns a concrete Business Entity, a given time point or Period and is expressed in a given Unit.
 
* XBRL Context. Entity and report-specific information (reporting period, segment information, and so forth) required by XBRL that allows tagged data to be understood in relation to other information. More aspects can be created and provided along a fact to provide further context.
 
* A Conformance suite is a set of tests
 
* A processor  is an application that can parse an instance.
 
* An XBRL Document contains one or more XBRL Instances
 
* Qname (Qualified Name) is the unique XML name of each accounting definition
 
 
 
=== XBRL Dimensions or Axes ===
 
An axis differentiates facts and each axis represents a way that the facts may be classified. For example, Revenue for a period might be reported along a business unit axis, a country axis, a product axis, and so forth. The base XBRL specification essentially defines three dimensions (axes):
 
* reporting period
 
* reporting entity (i.e.; a company or a division thereof), and
 
* a reporting scenario
 
  
 +
== Extensibility ==
 +
The XBRL specification provides a high degree of flexibility in the creation of XBRL instance documents. Part of this flexibility stems from the use of XML as the underlying format. Part of it stems from the XBRL specification itself. Besides the creation of additional modules, XBRL International supports several methods for continuing expansion of shared XBRL functionality.
  
Additional dimensions can be  developed using the Dimensions Module
+
* Link Role Registry: This registry, hosted at xbrl.org, collects link roles and [[XBRL Arcrole | arc roles]] to promote reuse across taxonomies.
 +
* Functions Registry: This registry collects [[XPath]] functions for reuse in formula linkbases.
 +
* Transformation Rules Registry: This registry collects common transforms used to convert human-readable data in Inline XBRL documents (e.g. "1st January 2016") into the formats required by XBRL ("2016-01-01").
  
== Glossary ==
 
* Abstract.  An attribute of an element to indicate that the element is only used in a hierarchy to group related elements together. An abstract element cannot be used to tag data in an instance document
 
* Attribute. A property of an element such as its name, balance, data type, and whether the element is abstract.
 
* Balance.  An attribute of a monetary item type designated as debit, credit, or neither; a designation, if any, should be the natural or most expected balance of the element - credit or debit - and thus indicates how calculation relationships involving the element may be assigned a weight attribute (-1 or +1)
 
* Calculation relationships. Additive relationships between numeric items expressed as parent-child hierarchies
 
* Axis Default Relationship. The dimensional relationship indicating that the table axis has a default domain member
 
* Axis Domain Relationship. The dimensional relationship indicating that the table axis has members drawn from a domain
 
* Decimal. Fact attribute used to express the number of decimal places to which numbers have been rounded
 
* Domain. An element that represents an entire set of other elements; the domain and its members are used to classify facts along the axis of a table.
 
 
=== XBR Period ===
 
Determines the validity period of a busines fact
 
* Instant Period (Time Point)
 
* Duration Period (Time Interval)
 
 
=== XBRL Entity ===
 
It this the business entity that is reporting business facts. It need not be a [[Legal Entity]]. An XBRL instance does not have a legal scope.
 
 
=== XBRL 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.
 
 
=== XBRL Units ===
 
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.
 
 
=== XBRL Footnotes ===
 
Footnotes use XLink to associate one or more facts with some content.
 
References to XBRL taxonomies, typically through schema references. It is also possible to link directly to a linkbase.
 
 
=== XBRL Instance Structure ===
 
* Business Item Facts
 
** Items: facts holding a single value. Represented by a single XML element with the value as its content.
 
** Tuples: facts holding multiple values. Represented by a single XML element containing nested Items or Tuples.
 
 
=== XBRL Datatypes ===
 
* Monetary
 
* Numerica
 
* Fractional
 
* Textual
 
 
=== XBRL Taxonomy ===
 
An XBRL Taxonomy is a collection of taxonomy schemas and linkbases. 
 
 
=== Taxonomy Schema ===
 
A taxonomy schema is an XML schema document (file).
 
The schema must ultimately extend the XBRL instance schema document and typically extend other published XBRL schemas on the xbrl.org website.
 
 
Taxonomy schemas define Item and Tuple "concepts" using <xsd:element> elements.
 
 
Concepts provide names for the fact and indicate whether or not it is 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 "XBRL instance" terminology. In addition to defining concepts, taxonomy schemas reference linkbase documents. Tuples instances are 1..n relationships with their parents; their metadata is simply the collection of their attributes.
 
 
 
=== 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 XBRL 2.1 specification, work continues on the development of XBRL modules that define new, compatible functionality.
 
 
* XBRL Dimensions is Specification that enriches the rules and procedures for constructing dimensional taxonomies and instance documents. It supports the use of XBRL taxonomy linkbases 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. The Formula Specification 1.0 supports the creation of expressions (using XPath) that can be applied to XBRL instances to validate its information or to calculate new XBRL facts in a new instance.
 
* Inline XBRL  The Inline XBRL Specification defines how XBRL metadata can be embedded within HTML or XHTML documents, so that data and associated rendering information can be encapsulated within a single document.
 
* XBRL Versioning This specification enables creation of Versioning Report which can be used by the authors of XBRL taxonomies to provide documentation of the changes between two taxonomies. Many large taxonomies (such as the IFRS taxonomy) change every year.
 
* XBRL Table Linkbase This module allows taxonomy authors to define tabular reporting templates.  The Table Linkbase can be used for presentation of XBRL data, and also for data entry, by allowing software to present a template for completion by the user.
 
 
== 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.
+
Regulatory filing rules and taxonomies represent collections of ''additional'' rules and guidance specifically applicable to remittance of XBRL instances for regulatory filings. These rules constrain the full flexibility of XBRL to enable effective interaction between transmitter and consumer of regulatory reports.
* Functions Registry This registry collects XPath functions for reuse in formula linkbases.
 
* Transformation Rules Registry This registry collects common transforms used to convert human-readable data in Inline XBRL documents (e.g. "1st January 2016") into the formats required by XBRL ("2016-01-01").
 
  
 
== Issues and Challenges ==
 
== Issues and Challenges ==
 
* Collisions (multiple values for the same concept)
 
* Collisions (multiple values for the same concept)
 +
* Diverse regulatory filling rules and taxonomies may not be compatible and/or consistent
  
 
== See Also ==
 
== See Also ==
 
* [[SDMX]]
 
* [[SDMX]]
 +
* [[SWIFT]]
 +
* [[FPML]]
  
 
== References ==
 
== References ==
Line 109: Line 43:
 
* ESEF Reporting Manual, Preparation of Annual Financial Reports in Inline XBRL
 
* ESEF Reporting Manual, Preparation of Annual Financial Reports in Inline XBRL
 
* [[wikipedia:xbrl | Wikipedia]]
 
* [[wikipedia:xbrl | Wikipedia]]
 +
* [https://xbrlus.github.io/docs/tdh.html XBRL Taxonomy Development Handbook]
  
  

Latest revision as of 17:28, 10 August 2022

Definition

XBRL (eXtensible Business Reporting Language) is an open standard for exchanging Business Information. XBRL provides a semantic framework to encode the information usually communicated in Business Reporting.

Motivation

Business data submitted as XBRL filings, that is, where information is annotated according to a predefined schema can be processed programmatically by computers. Extensibility is a very important aspect of the standard as the nature of business reporting requires is open ended.

Technology and Specifications

The XBRL Specification is developed and published by XBRL International. The first XBRL specification was published in 2000.

XBRL is primarily based on XML and associated technologies: XML Schema, XLink and XPointer. XML is a very general format, XBRL is actually a very constrained version.

  • The Base XBRL Specification is 2.1
  • The Inline XBRL Specification is 1.1


iXBRL (Inline XBRL) is a development of XBRL in which the XBRL metadata are embedded in an HTML document, e.g., a published report and accounts.

Core Features

The core features of XBRL are:

  • Taxonomies - the meta data describing reporting rules
  • Instance documents - the physical report in XBRL format

Extensibility

The XBRL specification provides a high degree of flexibility in the creation of XBRL instance documents. Part of this flexibility stems from the use of XML as the underlying format. Part of it stems from the XBRL specification itself. 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.
  • Transformation Rules Registry: This registry collects common transforms used to convert human-readable data in Inline XBRL documents (e.g. "1st January 2016") into the formats required by XBRL ("2016-01-01").


Regulatory filing rules and taxonomies represent collections of additional rules and guidance specifically applicable to remittance of XBRL instances for regulatory filings. These rules constrain the full flexibility of XBRL to enable effective interaction between transmitter and consumer of regulatory reports.

Issues and Challenges

  • Collisions (multiple values for the same concept)
  • Diverse regulatory filling rules and taxonomies may not be compatible and/or consistent

See Also

References