XBRL (Extensible Business Reporting Language) is a freely available global framework for exchanging business information. XBRL allows the expression of semantics commonly required in business reporting. The standard was originally based on XML, but now supports reports in JSON and CSV formats in addition to the original XML-based syntax. XBRL is also increasingly used in its Inline XBRL variant, which embeds XBRL tags into an HTML document. One common use of XBRL is the exchange of financial information, such as in a company's annual financial report. The XBRL standard is developed and published by XBRL International, Inc. (XII).
XBRL is a standards-based way to communicate and exchange business information between business systems. These communications are defined by metadata set out in taxonomies, which capture the definition of individual reporting concepts as well as the relationships between concepts and other semantic meaning. Information being communicated or exchanged is provided within an XBRL instance.
Early users of XBRL included regulators such as the U.S. Federal Deposit Insurance Corporation and the Committee of European Banking Supervisors (CEBS). Common functions in many countries that make use of XBRL include regulators of stock exchanges and securities, banking regulators, business registrars, revenue reporting and tax-filing agencies, and national statistical agencies.
A list of known XBRL projects is published by XBRL International. Starting in the late 2000s, agencies such as the Securities and Exchange Commission (SEC), the United Kingdom's HM Revenue and Customs (HMRC), and Singapore's Accounting and Corporate Regulatory Authority (ACRA), began to require companies to use it, and other regulators followed suit. Development of the SEC's initial US GAAP Taxonomy was led by XBRL US and was accepted and deployed for use by public companies in 2008 in phases, with the largest filers going first: foreign companies which use International Financial Reporting Standards (IFRS) are expected to submit their financial returns to the SEC using XBRL once the IFRS taxonomy has been accepted by the SEC. In the UK in 2011, both HMRC and Companies House accepted XBRL in the iXBRL format. XBRL was adopted by the Ministry of Corporate Affairs (MCA) of India for filing financial and costing information with the Central Government.
Specification
The current version of the base XBRL specification is 2.1, with errata corrections.
The current version of the Inline XBRL specification is 1.1
Conformance suites are available to test processors of XBRL and Inline XBRL documents.
XBRL document structure
In typical usage, XBRL consists of an XBRL instance, 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.
XBRL Instance
The XBRL instance begins with the <xbrl> root element. There may be more than one XBRL instance embedded in a larger XML document. Xbrl Instance is also known as XBRL file. The XBRL instance 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 XBRL 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 International Financial Reporting Standards (IFRS) statement instance file :
<syntaxhighlight lang="xml">
<?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:href="http://www.org.com/xbrl/taxonomy" 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>
</syntaxhighlight>
XBRL Taxonomy
An XBRL Taxonomy is a collection of taxonomy schemas and linkbases. A taxonomy schema is an XML schema document (file). Linkbases are XML documents (file) which follow the XLink specification. 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.
- 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
- Reference Linkbase
- Calculation Linkbase
- Definition Linkbase
- Presentation Linkbase
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.
XBRL aims to become a worldwide standard for electronic business reporting. This requires taxonomies to present business data in many different languages. Therefore, it is important to be able to create an element that is assigned with labels for different languages. There may also be different labels for different purposes. All labels are stored and linked to the elements in a label linkbase.
Elements defined in a schema are built to convey accounting meaning to computers. In order to make it easier for computers to process their names, they have to obey some rules. For example, the use of spaces is not allowed so 'Cash and Cash Equivalents' would be named 'CashAndCashEquivalents' . Additionally, big taxonomies such as IFRS obey specific rules of naming and labelling to ensure consistency within the schema. For example, there could be a list of words that are excluded from the names, e.g., :and:, "of" ..., or words that appear only in a particular order (i.e., 'Net' or 'Total' at the end of the label after a comma).
In the label linkbase, elements are connected to human readable labels using "concept-label" arcrole.
As mentioned above, elements can be assigned to labels in different languages. An example that describes definitions of labels of the IFRS element AssetsTotal in English, German and Polish is provided below.
<syntaxhighlight lang="xml">
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/label"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="en">Assets, Total</label>
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/label"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="de">Vermögenswerte, Gesamt</label>
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/label"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="pl">Aktywa, Razem</label>
</syntaxhighlight>
To distinguish between languages, XBRL uses the XML attribute lang. Taxonomy creators may also define different labels for one element. One of the ideas of XBRL is that the information about the period and currency for which the element is reported is not contained within an element definition but is described by a context in instance documents. In financial reporting on the other hand, many terms express the date for which they are being reported, for instance Property, Plant and Equipment at the beginning of year and Property, Plant and Equipment at the end of year. XBRL allows the creation of different labels depending on the context in which an element will be used.
<syntaxhighlight lang="xml">
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/label"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="en">Property, Plant and Equipment, Net</label>
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/periodStartLabel"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="en">Property, Plant and Equipment, Net, Beginning Balance</label>
<label xlink:type="resource"
xlink:role="http://www.xbrl.org/2003/role/periodEndLabel"
xlink:label="ifrs_AssetsTotal_lbl"
xml:lang="en">Property, Plant and Equipment, Net, Ending Balance</label>
</syntaxhighlight>
The example above shows how three different labels are assigned to one element by applying different role attributes on labels.
Reference Linkbase
This linkbase associates concepts with citations of some body of authoritative literature.
Financial concepts appearing on business reports more often than not stem from regulatory documents issued by authorities. For example, the IFRS Taxonomy describes financial reports prepared based on IFRSs (Bound Volume).
Elements defined by this taxonomy refer to the specific terms and concepts explained in the standards. For this reason, a taxonomy is often provided with a reference linkbase that presents relationships between elements and external regulations or standards (the other solution is to enclose documentation in label linkbase). This helps instance creators and users understand the intended meaning of each element and provides support for its inclusion in the taxonomy.
The reference layer does not contain the full text of the regulations. Instead, it points to source documents by identifying their name and indicating the relevant paragraphs and clauses. This connection is created using "concept-reference" arcrole.
There are several types of references that could be provided for each element.
<syntaxhighlight lang="xml">
- Inline XBRL (or iXBRL) – This module achieved Recommendation status 20 April 2010. The Inline XBRL Specification defines how XBRL metadata can be embedded within well-formed HTML or XHTML documents, so that data and associated rendering information can be encapsulated within a single document.
- XBRL Versioning – This module achieved Recommendation status 27 February 2013. 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. The Table Linkbase is well-suited to handling large, highly-dimensional reporting templates such as those used for Solvency II reporting to EIOPA, and COREP and FINREP reporting to the EBA.
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.
- 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").
iXBRL
iXBRL (Inline XBRL)
In the UK, HM Revenue and Customs requires businesses to submit their report and accounts and tax computations in iXBRL format when making their Corporation Tax return. Businesses and their agents can use HMRC's Online Filing software to prepare their report and accounts and tax computations in iXBRL format or they can prepare the iXBRL files themselves and submit them to HMRC.
HMRC's Online Filing software is an example of a program which generates iXBRL from source data. This uses a series of forms in which the key data (which will appear in XBRL tags) are entered in data entry fields. Additional data (the rest of the report and accounts) are entered in text boxes. The program generates the iXBRL report and accounts in a standard sequence of sections and a standard format. All other formatting of material is lost. While the resulting report and accounts meets HMRC's requirements, it is not an attractive document to view or read.
iXBRL is mandated for corporate filings by government agencies in Japan, Denmark and the United Kingdom. In the United Kingdom, Companies House also accepts iXBRL. Although iXBRL is not mandated by Companies House, it makes up the majority of the filings received each year.
Since June 2016, the SEC started allowing firms to file using iXBRL in the required HTML filings. In June 2018, the SEC announced plans to move to iXBRL, removing the requirement to file separate HTML and XBRL documents.
Since January 2021, all EU listed companies that prepare annual financial reports under IFRS have been required to publish these reports in Inline XBRL format, as part of the European Single Electronic Format (ESEF) initiative.
History
XBRL's beginning, in 1998, can be traced to the initial efforts of one person, Charles Hoffman, a Certified Public Accountant from Tacoma, Washington. The American Institute of Certified Public Accountants (AICPA) was also instrumental in pulling together what eventually became XBRL International.
The specification went through several versions prior to XBRL v2.1 which was published in 2003.
- 1.0 – Published on July 31, 2000, 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 – Published December 14, 2001, 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 – Published December 31, 2003,
Lack of accuracy
In April 2009, a study of the North Carolina State University Department of Accounting College of Management evaluated the accuracy of XBRL filings for 22 companies participating in the SEC's voluntary filing program in 2006. Results of a comparison of XBRL filings to Forms 10-K revealed multiple errors in signage, amounts, labeling, and classification. The study considers that these errors are serious, since XBRL data are computer-readable and users will not visually recognize the errors, especially when using XBRL analysis software.
A different conclusion was reached by Du et al., 2013 who argued that companies are going through a learning curve and are steadily improving.
In December 2017, Charlie Hoffman stated that there is a 10.2% chance that an XBRL-based public company financial report has errors in its primary financial statements. Hoffman predicts that per the current number of errors and the pace errors are being corrected, within about five years the information quality of XBRL-based public company financial reports will be very good.
Impact of XBRL
An evaluation by Debreceny, Roger S., et al. 2005, of the impact of Financial Reporting in XBRL on the SEC's EDGAR System.
A tool for converting the consolidated balance sheet, income statement, and statement of cash flows into XBRL‐tagged format.
Corporate governance is significantly and positively associated with a firm's decision to be an early and voluntary filer of financial information in XBRL format.
Impact on financial reporting in the European Union
On 18 December 2017, the European Securities and Markets Authority published the final draft Regulatory Technical Standards (RTS) setting out the new European Single Electronic Format (ESEF). Under the draft regulation, starting in 2020, financial reports containing IFRS consolidated financial statements shall be labelled with XBRL tags.
See also
- XBRL assurance
References
External links
- The XBRL Specification subsite - information for developers, with direct access to specifications, conformance suites and FAQ
- - the US jurisdiction of XBRL International, the national consortium for standardized business reporting, creator of the initial XBRL US GAAP Taxonomy, under contract with the U.S. Securities and Exchange Commission.
- United Kingdom companies accounts search, full access to all Inline XBRL accounts filed at Companies House in the UK
- XBRLS: how a simpler XBRL can make a better XBRL
