European Filing Rules
From XBRLWiki
Revision as of 10:50, 21 May 2013 (edit) Katrin (Talk | contribs) (→Instance syntax rules) ← Previous diff |
Current revision (11:20, 11 June 2015) (edit) Iboixo (Talk | contribs) |
||
Line 1: | Line 1: | ||
<span style="font-size:18pt">'''CEN Workshop Agreement'''</span> | <span style="font-size:18pt">'''CEN Workshop Agreement'''</span> | ||
- | '''Status''': Working Group Working Draft | + | '''Status''': This is a public Working Space. Please refer the official publication at |
+ | [ftp://ftp.cen.eu/CWA/CEN/XBRL/CWA_16744-4_2014.pdf CWA 16744-4:2014] Improving transparency in financial and business reporting - Harmonisation topics - Part 4: European Filing Rules. | ||
'''CEN WS XBRL Experts''': Thierry Declerck (DFKI), Roland Hommes (Rhocon), Katrin Heinze (Deutsche Bundesbank) | '''CEN WS XBRL Experts''': Thierry Declerck (DFKI), Roland Hommes (Rhocon), Katrin Heinze (Deutsche Bundesbank) | ||
Line 23: | Line 24: | ||
=Foreword= | =Foreword= | ||
+ | This document has been prepared by CEN/WS XBRL, under the supervision of the Secretariat of the Netherlands Standardization Institute (NEN). | ||
- | <span style="background-color:#A9D0F5">Some text</span> | + | This document has been officially promulgated in the CEN website [http://www.cen.eu/work/areas/ICT/eBusiness/Pages/WS-XBRL.aspx Improving transparency in financial reporting (WS XBRL) ] |
+ | |||
+ | The direct link is [ftp://ftp.cen.eu/CWA/CEN/XBRL/CWA_16744-4_2014.pdf CWA 16744-4:2014] Improving transparency in financial and business reporting - Harmonisation topics - Part 4: European Filing Rules. | ||
=Introduction= | =Introduction= | ||
- | The eXtensible Business Reporting Language (XBRL) specification provides a high degree of flexibility in the creation of XBRL instance documents. Part of this flexibility stems from the nature of the syntax: XML, and part stems from the XBRL specification itself. This document is providing a guidance for regulators, on the syntax used in XBRL instances, to enable them to make restrictions where they feel they are appropriate. | + | The eXtensible Business Reporting Language (XBRL) specification provides a high degree of flexibility in the creation of XBRL instance documents. In part, this flexibility stems from the nature of the syntax XML, and in part it stems from the XBRL specification itself. This document provides guidance for regulators, relating to the syntax used in XBRL instances, to enable them to make restrictions where they feel it is appropriate to do so. |
Disclaimer:<br/> | Disclaimer:<br/> | ||
- | '''The filing rules represent a collection of recommendations to be seen as an advice to be implemented in the European supervisory reporting process. The rules are also recommended to be adopted by national supervisors for other reporting purposes when they do not contradict their needs, i.e. footnotes are sometimes necessary to explain the content of reported fact. The listed filing rules are influenced by the European Taxonomy Architecture in cases where the instance creation is affected.''' | + | '''The filing rules represent a collection of recommendations to be seen as guidance to be implemented in the European supervisory reporting process. The rules are also recommended to be adopted by national supervisors for other reporting purposes when they do not contradict their needs, e.g., footnotes are sometimes necessary to explain the content of reported facts. The listed filing rules are influenced by the European Taxonomy Architecture in cases where the instance creation is implicated.''' |
- | This document is listing best practices for the benefit of clear guidance on preparation and validation of XBRL instance documents and an increase of interoperability between computer applications that process these instances. | + | This document is a listing of best practices for the benefit of clear guidance on the preparation and validation of XBRL instance documents, and to improve the interoperability among computer applications that process these instances. The consistent use of best practices facilitates the analysis and comparison of XBRL instance documents for both the reporting entities and the receiving entities in the reporting process. The rules are primarily based on regulatory needs. One goal of this document is to minimize the reporting burden on the reporting entities in Europe. However, this goal is subject to the reporting statutes legislatded by National and European regulators. |
- | Consistent use of the best practices facilitates the analysis and comparison of XBRL instance documents for both reporting entities as well as receivers in the reporting process. | + | |
- | One goal of this document is to minimize the reporting burden for reporting entities in Europe. This goal is however subjective to reporting legislation as implemented by National and European regulators. | + | |
- | Notwhitstanding the only authoritative restrictions are respectivelly the XBRL specifications and the regulatory instructions, the following set of rules helps to avoid unnecesary complications by adopting well stablished best practices. | + | Although the only authoritative restrictions are based on the XBRL specifications and the regulatory instructions, the following set of rules helps to avoid unnecessary complications by adopting well established Best Practices. |
- | The grammar used to express some of the best practices is tightly connected to the the environment these practices were developed. I.e. guidelines stemming from [http://www.ifrs.org/XBRL/Resources/Documents/GlobalFilingManual20110419.pdf Global Filing Manual] or [http://www.sec.gov/info/edgar/edmanuals.htm Edgar Filing Manual] are based on [http://www.ietf.org/rfc/rfc2119.txt RFC 2119]. | + | The language used to express some of the best practices is tightly connected to the environment in which these practices were developed. Guidelines stemming from the [http://www.ifrs.org/XBRL/Resources/Documents/GlobalFilingManual20110419.pdf Global Filing Manual] or the [http://www.sec.gov/info/edgar/edmanuals.htm Edgar Filing Manual] are based on [http://www.ietf.org/rfc/rfc2119.txt RFC 2119]. |
- | On the other hand the CEN projects are using the grammar from [http://cen.eurofiling.info/wp-content/upLoads/data/Drafting-CEN-ISO-deliverables-CommonRulesElements.2.0.pdf CEN T/C 123]. | + | On the other hand, the CEN projects are using language from [http://cen.eurofiling.info/wp-content/upLoads/data/Drafting-CEN-ISO-deliverables-CommonRulesElements.2.0.pdf CEN T/C 123]. |
- | The guidance in this document is in the form of notes that will not make any strong texts on rules being a must/shall or should/recommended because it is not this document that has a mandate to put down rules. Only National and European regulators may have such a mandate. They can choose from the guidelines presented here to create their own set of rules. | + | The guidance in this document is in the form of notes, and they will not make any emphasis on rules being a "must/shall" or "should/recommended" because this document does not have a mandate to establish such rules. Only the National and European regulators have such a mandate. The regulators can choose from the guidelines presented here in order to create their own set of rules. |
- | ==Objective== | + | =Objectives= |
- | The primary objective of the CWA1 working group is interoperability, by harmonization and guidance in the XBRL taxonomy creation process as carried out by regulators, supervisory authorities, voluntary supply chains and others. | + | The primary objective of the CWA1 working group is interoperability. This is achieved thanks to the harmonization and guidance relating to the best practices of the XBRL taxonomy creation process, as carried out by regulators, supervisory authorities, voluntary supply chains, and others. The secondary objective is to facilitate adoption of XBRL technology, by maintaining standard technological requirements for the creation of XBRL instance documents ,and by keeping them as simple as possible. The basic use case that is the underlying controlling factor for the following guidelines is the submission, by a reporting entity, of its regulatory filings, and the consumption of those regulatory filings by (several) reporting applications. |
- | + | ||
- | The secondary objective is to facilitate adoption, by maintaining technological requirements when creating XBRL instance documents and keep them as simple as possible. | + | |
- | The fundamental use case that guides the following guidelines is the submission, by a reporting entity, of its regulatory filings, and the consumption of those regulatory filings by (several) reporting applications. | + | The following sections provide guidance on the preparation and validation of instance documents in XBRL format. |
- | + | ||
- | The following texts provides guidance on the preparation and validation of instance documents in XBRL format. | + | |
The guidelines in this document also aim to facilitate the analysis and comparison of reporting data as well as the interoperability of computer applications. | The guidelines in this document also aim to facilitate the analysis and comparison of reporting data as well as the interoperability of computer applications. | ||
- | ==Target Audience== | + | =Target Audience= |
This document is intended for a technical audience and assumes that the reader has a working knowledge of the XBRL 2.1 and the XBRL Dimensions 1.0 Specifications and has a basic understanding of XML, Namespaces, and XML Schema. | This document is intended for a technical audience and assumes that the reader has a working knowledge of the XBRL 2.1 and the XBRL Dimensions 1.0 Specifications and has a basic understanding of XML, Namespaces, and XML Schema. | ||
- | To readers with XML knowledge, many of the guidelines in this document will be familiar however, others originate from features that are XBRL-specific and therefore the reasoning behind them may be less obvious. | + | To readers with XML knowledge, many of the guidelines in this document will be familiar. However, others guidelines originate from features that are XBRL-specific, so the reasoning behind them may be less obvious. |
- | To ease the understanding by software developers implementing these guidelines in their reporting system, an UML model has been created to show the relationships between the different XBRL objects mentioned in this document. | + | To ease the understanding by software developers implementing these guidelines in their reporting system, a UML model has been created to show the relationships between the different XBRL objects mentioned in this document. Some of the filing rules are accompanied by constraints defined in the Object Constraint Language (OCL). OCL is part of the UML and allows adding constraints based on the UML objects of the class model. OCL is not a programming language; it just supports the definition of technical specifications. OCL eases the understanding of the rules by using a formal language to provide an unambiguous and consistent description [Karl12, p. 106]. |
==Relationship to Other Work== | ==Relationship to Other Work== | ||
- | The guidelines in this document pertain to XBRL filings. Parts of this document reiterate for expository clarity certain syntactic and semantic restrictions imposed by XBRL, but this document does not modify XBRL. In the event of any conflicts between this document and XBRL, XBRL prevails. This document does place additional restrictions beyond those prescribed by XBRL. | + | The guidelines in this document pertain to XBRL filings. Parts of this document reiterate documentation, for the clarification of certain syntactic and semantic restrictions imposed by XBRL, but this document does not modify XBRL. In the event of any conflict between this document and XBRL, XBRL prevails. This document does place additional restrictions beyond those prescribed by XBRL. |
=Scope= | =Scope= | ||
- | The guidelines in this document have been created for regulatory filings in the context of European supervisory reporting. | + | The guidelines in this document have been created for regulatory filings in the context of European supervisory reporting. In this document, “regulatory filings” encompasses European reporting standards that are published by a European supervisory authority, accompanied by an XBRL taxonomy as well as extensions of this taxonomy provided by national supervisors. |
- | In this document, “regulatory filings” encompasses European reporting standards that are published by an European supervisory authority and accompanied by an XBRL taxonomy as well as extensions on these taxonomies provided by national supervisors. | + | |
- | + | ||
- | =Normative references= | + | |
- | * [http://www.xbrl.org/specification/xbrl-recommendation-2003-12-31+corrected-errata-2012-01-25.htm XBRL 2.1] | + | |
- | * [http://www.xbrl.org/specification/dimensions/rec-2012-01-25/dimensions-rec-2006-09-18+corrected-errata-2012-01-25-clean.html XBRL Dimensions 1.0] | + | |
- | * [http://www.xbrl.org/Specification/registry/REC-2009-06-22/registry-REC-2009-06-22.html XBRL Registry specification 1.0] | + | |
- | * [http://www.xbrl.org/Specification/formula/REC-2009-06-22/overview/Formula-Overview-REC-2009-06-22.rtf XBRL Formula specification 1.0] | + | |
=Terms and definitions= | =Terms and definitions= | ||
- | ; Applicable taxonomy : An XBRL taxonomy recognised to use as a base for filings in a given filing system. | + | ; Applicable taxonomy : An XBRL taxonomy recognised to be used as a basis for filings in a given filing system. |
- | ; Data point : A <i>data point</i> is an information component that is defined by a supervisory authority to be sent in an instance document. In XBRL a data point is represented by a fact, its value and related dimensional combinations. | + | ; Data point : A <i>data point</i> is an information component that is defined by a supervisory authority and is to be sent in an instance document. In XBRL, a data point is represented by a fact, its value and related dimensional combinations. |
- | ; Dimension : A <i>dimension</i> is an xs:element in the substitutionGroup of xbrldt:dimensionItem; it relates to the ability to express multidimensional information; | + | ; Dimension : A <i>dimension</i> is a xs:element in the substitutionGroup of xbrldt:dimensionItem; it relates to the ability to express multidimensional information; |
; Entrypoint : A schema or linkbase in the applicable taxonomy that represents the filing requirements and gets mentioned in the instance by the reporter. | ; Entrypoint : A schema or linkbase in the applicable taxonomy that represents the filing requirements and gets mentioned in the instance by the reporter. | ||
; Fact : A fact is an occurrence in an instance document of an element with a mandatory contextRef attribute and optional attributes like unitRef, xml:lang or xsi:nil. | ; Fact : A fact is an occurrence in an instance document of an element with a mandatory contextRef attribute and optional attributes like unitRef, xml:lang or xsi:nil. | ||
; Filer : A reporting entity. | ; Filer : A reporting entity. | ||
- | ; Filing : A filing is the fundamental unit of information that is transmitted to a filing system for receipt, validation and acceptance. It is the conveyance of an XBRL instance document or series of XBRL instance documents. | + | ; Filing : A filing is the fundamental unit of information that is transmitted to a filing system for receipt, validation and acceptance. It is the conveyance of a XBRL instance document or series of XBRL instance documents. |
; Filing system : A system in which XBRL instance documents are filed, received, analysed and redistributed. | ; Filing system : A system in which XBRL instance documents are filed, received, analysed and redistributed. | ||
- | ; Footnote : A footnote is used to associate text annotations with particular facts in an XBRL instance document. | + | ; Footnote : A footnote is used to associate text annotations with particular facts in a XBRL instance document. |
- | ; Instance document : An instance document is an XBRL file carrying facts. An instance document originating with a filer can only be sent as part of a filing. A filing comprises of one or more instance documents. | + | ; Instance document : An instance document is a XBRL file carrying facts. An instance document originating with a filer can only be sent as part of a filing. A filing comprises of one or more instance documents. |
- | ; Linkbase : A linkbase is an XML file according to the XBRL 2.1 specification, containing relationships between concepts, resources and concepts and resources providing labels and references. There are different kinds of linkbases. One of them is the formula linkbase containing business rules in the syntax as prescribed by the XBRL Formula Specification. | + | ; Linkbase : A linkbase is a XML file according to the XBRL 2.1 specification, which contains relationships between concepts, resources, and concepts, in addition to resources which provide labels and references. There are different kinds of linkbases. One of them is the formula linkbase containing business rules in the syntax as prescribed by the XBRL Formula Specification. |
; Publisher of the schema : Organisation responsible for publishing a given XBRL taxonomy. | ; Publisher of the schema : Organisation responsible for publishing a given XBRL taxonomy. | ||
- | ; Reporting entity : A reporting entity is a institution or company with an obligation to prepare supervisory reports for national or European supervisory authorities. | + | ; Reporting entity : A reporting entity is an institution or company with an obligation to prepare supervisory reports for national or European supervisory authorities. |
- | ; Taxonomy: In the XBRL context, an electronic dictionary of business reporting elements relevant for reporting business data. A taxonomy is composed of an XML Schema and one or more linkbases directly referenced by that schema. ; Taxonomy creator : see <i>Publisher of the schema</i> | + | ; Taxonomy: In the context of XBRL, a taxonomy is an electronic dictionary of business reporting elements that are relevant for reporting business data. A taxonomy is composed of a XML Schema and one or more linkbases directly referenced by that schema. |
- | ; XBRL specific terms like context, unit, period, entity, s-equal, v-equal see [http://www.xbrl.org/specification/xbrl-recommendation-2003-12-31+corrected-errata-2012-01-25.htm XBRL 2.1] | + | ; Taxonomy creator : See: <i>Publisher of the schema</i> |
+ | ; For XBRL-specific terms like context, unit, period, entity, s-equal, v-equal see [http://www.xbrl.org/specification/xbrl-recommendation-2003-12-31+corrected-errata-2012-01-25.htm Specification XBRL 2.1]. | ||
=Symbols and abbreviations= | =Symbols and abbreviations= | ||
- | ;UML : Unified Modelling Language | + | ;UML : Unified Modeling Language |
;W3C : World Wide Web Consortium | ;W3C : World Wide Web Consortium | ||
;XBRL : eXtensible Business Reporting Language | ;XBRL : eXtensible Business Reporting Language | ||
;XML : eXtensible Markup Language | ;XML : eXtensible Markup Language | ||
- | =Rules= | + | =European Filing Rules= |
==Filing syntax rules== | ==Filing syntax rules== | ||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">1.01 </span> | + | <li><span style="color:blue; font-weight:bold">1.1 </span> |
'''Filing naming''' | '''Filing naming''' | ||
<br/> | <br/> | ||
- | Common practice is to use the extension .xbrl for instance documents, but there is no technical restriction to use anything else. There are no restrictions on filenames posed. Different naming conventions exist around the world, essentially these are conveying some kind of meaning about: the sender, the reported filing and/or the reported period. For software that is storing the file name of the instance in a relational database some restrictions on which characters may be used and the total length of the file name may be appropriate. | + | Common practice is to use the extension .xbrl for instance documents, but there is no technical restriction to use anything else. There are no restrictions on file names posed. Different naming conventions exist around the world; essentially these are conveying some kind of meaning about: the sender, the reported filing and/or the reported period. For software that is storing the file name of the instance in a relational database some restrictions on which characters may be used and the total length of the file name may be appropriate. |
<br/> | <br/> | ||
<span style="color:blue; font-weight:bold">CWA Advice</span>: '''Rules about the file name of an instance document need to be set by the receiver of the reports, if required.''' | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Rules about the file name of an instance document need to be set by the receiver of the reports, if required.''' | ||
</li> | </li> | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.02 </span> | + | <li><span style="color:blue; font-weight:bold">1.2 </span> |
- | '''Taxonomy selection''' | + | '''Taxonomy publication''' |
<br/> | <br/> | ||
- | The reporter needs to be made aware on which taxonomy the instance should be creat-ed. This information is defined by the element link:schemaRef which carries the URL to the respective taxonomy. A listing of all taxonomy files respective modules recog-nised in the filing system should be provided by the publisher of the schema. | + | The reporter needs to be made aware of which taxonomy should be used for the instance creation. This information should be made publicly available in an official web location to facilitate the automated processing by software. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Reporting entities are required to use one of the taxonomies as specified in the filing system as the applicable taxonomy [FRIS04].''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''The publisher of the taxonomy should ensure that each taxonomy file can be localised in the internet.''' |
</li> | </li> | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.03 </span> | + | <li><span style="color:blue; font-weight:bold">1.3 </span> |
+ | '''Taxonomy package''' | ||
+ | <br/> | ||
+ | The publisher of the taxonomy might provide a compressed file enclosing all relevant taxonomy files to facilitate a download for an offline processing. This taxonomy package should only include those files for which the publisher of the taxonomy is responsible becaues, redistributing files under the control of other authorities can lead to interoperability problems if the latest published versions of these files do not match. Referenced files from other parties should be downloaded from the web address of the respective owner. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''A publisher of a schema should only provide taxonomy files for download where he is the owner.''' | ||
+ | </li> | ||
+ | <br/> | ||
+ | <li><span style="color:blue; font-weight:bold">1.4 </span> | ||
'''Character encoding of XBRL instance documents''' | '''Character encoding of XBRL instance documents''' | ||
<br/> | <br/> | ||
- | An XBRL instance document contains characters. Depending on the region in the world a multitude of characters could be interpreted as the (local) standard. If no rules are set arabic, kanji, cyrillic and latin could all be used in a single document. | + | The XML and XBRL specifications place no restrictions on the character encodings that may be used in instance documents. In order to avoid using a character encoding that is not supported by a receiving processor, all instances should use the UTF-8 character encoding. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''"UTF-8" is the recommended required encoding for XBRL instance documents [GFM11, p. 11].''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''"UTF-8" is the recommended encoding for XBRL instance documents.''' [GFM11, p. 11] '''If required, the instance receiver can restrict the set of characters or scripts defined in the Unicode.''' |
</li> | </li> | ||
'''context''' xmlDocument '''inv''': | '''context''' xmlDocument '''inv''': | ||
self.encoding = 'UTF-8' | self.encoding = 'UTF-8' | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.04 </span> | + | <li><span style="color:blue; font-weight:bold">1.5 </span> |
'''Taxonomy entrypoint selection''' | '''Taxonomy entrypoint selection''' | ||
<br/> | <br/> | ||
- | A published taxonomy can be discovered through entrypoints, which are defined by the taxonomy author. If multiple entrypoints are available in a single taxonomy the taxonomy author needs to provide clarification to the reporter, which entrypoint is to be used for which report. If multiple reports are allowed to be reported within a single instance problems may arise upon processing because the reported facts in the instance do not point to the entrypoint used. Data point modelled taxonomies may contain mul-tiple tables but these are not treated as an entrypoint. Only the whole of the taxonomy has a single entrypoint for all tables. Through the 'FilingIndicators' it is communicated which tables are communicated in the instance. | + | A taxonomy is loaded through a reference to one or more URLs, with other files in the taxonomy being included through the process of DTS Discovery. Although technically a user can reference any file in the taxonomy, a taxonomy publisher will typically nominate specific URLs which are intended to be referenced by users of the taxonomy. These URLs are called entrypoints, and allow users to import the correct modules from the taxonomy, with different modules including different templates and different associated validation rules. |
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''The taxonomy publisher should provide a list of available entrypoints in the taxonomy as a list of absolute URLs.''' | ||
+ | </li> | ||
+ | <br/> | ||
+ | <li><span style="color:blue; font-weight:bold">1.6 </span> | ||
+ | '''Missing filing indicators''' | ||
+ | <br/> | ||
+ | Each reported fact in a filing requires to be assigned to a template of a specific reporting domain. Filing indicators are used to hold these template names. They also trigger the taxonomy validation checks. Missing filing indicators can lead to inconsistencies because the unassigned facts are not validated. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to include filing indicators in the XBRL instance to express which templates are represented by the reported facts.''' | ||
+ | </li> | ||
+ | <br/> | ||
+ | <li><span style="color:blue; font-weight:bold">1.7 </span> | ||
+ | '''No facts for indicated templates''' | ||
+ | <br/> | ||
+ | If a filing indicator is given in the XBRL instance, consistency checks are processed by the reporting system. In case no fact appears for an indicated template, the filing could be rejected because the system requires an appropriate set of fact values for the checks. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended not to include filing indicators for templates which are not addressed by the facts reported.''' | ||
+ | </li> | ||
+ | <br/> | ||
+ | <li><span style="color:blue; font-weight:bold">1.8 </span> | ||
+ | '''Correct usage of filing indicators''' | ||
+ | <br/> | ||
+ | As filing indicators play an essential role to ensure the data quality, the receiver of the instance should check that they are correctly set by the reporting entity. | ||
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Reporting entities are required to use only one entrypoint schema, as specified in the applicable taxonomy, per XBRL instance [SBR12, p. 6].''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''The receiver of the instance should implement checks that reveal missing or superfluous filing indicators in an instance document.''' |
</li> | </li> | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.05 </span> | + | <li><span style="color:blue; font-weight:bold">1.9 </span> |
'''Valid XML-XBRL''' | '''Valid XML-XBRL''' | ||
<br/> | <br/> | ||
- | Each XBRL instance in the filing is tested separately for XBRL 2.1 and XDT 1.0 va-lidity. In order to increase the likelihood that instance documents pass validation, filers are encouraged to validate their compliance with the XBRL 2.1 and Dimensional 1.0 specification prior to submission. | + | Each XBRL instance in the filing is tested for XBRL 2.1 and XBRL Dimensions 1.0 validity. In order to increase the likelihood that instance documents pass validation, filers are required to validate their compliance with the XBRL 2.1 and XBRL Dimensions 1.0 specifications prior to submission. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Instance documents are required to be XBRL 2.1 and XBRL Dimensions 1.0 valid [EFM11, p. 6-8].''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Instance documents are required to be XBRL 2.1 and XBRL Dimensions 1.0 valid.''' EFM13, Volume II, p. X-Y] |
</li> | </li> | ||
'''context''' Instance::isXBRLValid() : Boolean | '''context''' Instance::isXBRLValid() : Boolean | ||
'''post''': result = true | '''post''': result = true | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.06 </span> | + | <li><span style="color:blue; font-weight:bold">1.10 </span> |
- | '''Valid XBRL Formulae''' | + | '''Valid according to the defined business rules''' |
<br/> | <br/> | ||
- | Any formula linkbase discovered by the XBRL software from opening the entrypoint can contain tests on the quality of the reported data. The tests that report an error on these data SHOULD be corrected. There MAY be tests that produce only warnings. Solving these warnings depends on the message content and the filer perspective on them. | + | XBRL allows the definition of business rules which can be discovered by XBRL software while opening the respective module referenced in the instance document. These business rules are applied on the content of the instance document to check the data quality. Tests that result in an error need to be corrected by the sending reporting entity. There may be tests that produce warnings. The need to solve these warnings depends on the content of the message and the perspective of the filer. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">XML-XBRL</span>: If the XBRL Formula linkbase is discovered by the XBRL enabled software, and it has the capacity to execute assertions as defined in the XBRL Formula specification, these will result in true/false statements. Whether this points to an error situation in the instance is determined by the formula author, who may clarify the situation found in a message. There are no rules preventing processing of XBRL instances that contain formulae errors. | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to have the XBRL instance document valid with regards to validation technology provided in the applicable taxonomy.''' |
- | <br/> | + | |
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to have the XBRL instance document valid with regards to XBRL Formula as defined in the applicable taxonomy.''' | + | |
</li> | </li> | ||
- | '''context''' Instance::isFormulaValid() : Boolean | + | '''context''' Instance::isValidationValid() : Boolean |
'''post''': result = true | '''post''': result = true | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.07 </span> | + | <li><span style="color:blue; font-weight:bold">1.11 </span> |
'''Taxonomy extensions by reporters''' | '''Taxonomy extensions by reporters''' | ||
<br/> | <br/> | ||
- | XBRL Taxonomies can be extended by anybody with the proper technical knowledge. Filings to European Regulatory Authorities are 'closed form' i.e. all data points allowed by the regulator are in the taxonomy. There can be no extension of the taxonomy by reporters to report more data points to the regulator. However national supervisors may extend European taxonomies. For reporters the combination of base and extension taxonomies are regarded as a single taxonomy. | + | XBRL Taxonomies can be extended by anybody with the proper technical knowledge. Filings to European Regulatory Authorities are 'closed form' i.e. all data points allowed by the regulator are in the taxonomy. There can be no extension of the taxonomy by reporters to report more data points to the regulator. However, national supervisors may extend European taxonomies. For reporters, the combination of base and extension taxonomies is regarded as a single taxonomy. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Reports are required to contain only concepts created by the taxonomy author.''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Reporters are required to reference only the taxonomy entrypoints specified by the relevant authority, and may not provide their own extension taxonomies.''' |
</li> | </li> | ||
'''context''' Taxonomy '''inv''': | '''context''' Taxonomy '''inv''': | ||
Line 171: | Line 193: | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">1.08 </span> | + | <li><span style="color:blue; font-weight:bold">1.12 </span> |
- | '''Completeness of the instance''' | + | '''Completeness of amendment files''' |
<br/> | <br/> | ||
- | In case corrections are needed on filings that already have been sent, it is recommend-ed not to send partial data with just the corrected facts. Non-complete submissions could lead to invalid instance documents (according to either XBRL 2.1, XDT 1.0 or appropriate Formulae) and might raise conflicts with already processed data in the re-porting system of the receiver. | + | In case corrections are needed on filings that already have been submitted, it is recommended that European Regulatory Authorities require the resubmission of the complete filing, rather than allowing partial data with just the corrected facts. It is important to ensure that all amended instances are valid according to XBRL and the business rules defined. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that reporters always send the full applicable dataset for an applicable entrypoint schema in an instance document, unless the receiver indicates otherwise.''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that European Regulatory Authorities require reporters resubmit the full report, in the event of an amendment being required.''' |
</li> | </li> | ||
</ul> | </ul> | ||
Line 183: | Line 205: | ||
==Instance syntax rules== | ==Instance syntax rules== | ||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">2.01 </span> | + | <li><span style="color:blue; font-weight:bold">2.1 </span> |
'''@xml:base''' | '''@xml:base''' | ||
- | XML processors interpret this attribute differently, and there is no semantic need for this attribute. | ||
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">XML-XBRL</span>: '''The attribute xml:base may be inserted in XML documents to specify a base URI other than the base URI of the document or external entity.''' | + | XBRL processors interpret this attribute differently, and there is no semantic need for this attribute. |
+ | XML-XBRL: The attribute xml:base may be inserted in XML documents to specify a base URI other than the base URI of the document or external entity. | ||
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that the attribute @xml:base not appear in any instance document [EFM13, p. 6-7]''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: ''' It is recommended that the attribute @xml:base not appear in any instance document. [EFM13, p. 6-7]''' |
- | </li> | + | </li> |
- | '''context''' xmlDocument '''inv''': | + | '''context'''xmlDocument '''inv''': |
self.element->select(xml:base)->isEmpty() | self.element->select(xml:base)->isEmpty() | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">2.02 </span> | + | <li><span style="color:blue; font-weight:bold">2.2 </span> |
'''xbrli:xbrl/link:schemaRef content''' | '''xbrli:xbrl/link:schemaRef content''' | ||
<br/> | <br/> | ||
- | The version of any report is represented in folder names, not in URI namespaces. To correctly interpret the reported facts the proper entrypoint schema and its taxonomy must be present in the instance by including the full path (including the folder with the version indicator in it) in the link:schemaRef node. | + | The taxonomy which is used by an XBRL report is identified by the URL(s) referenced by link:schemaRef elements. Although it is often convenient to work with local copies of the relevant taxonomies, it is important that link:schemaRef elements resolve to the published entrypoint locations. XBRL software typically provides functionality to “remap” references to URLs of published entrypoints to local copies of the taxonomy. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have the link:schemaRef contain the full URL as published on the internet.''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have the link:schemaRef element resolve to the published entry point URL.''' |
- | <br/> | + | |
- | </li> | + | |
- | <li><span style="color:blue; font-weight:bold">2.03 </span> | + | |
- | '''@xmlversion''' | + | |
- | <br/> | + | |
- | Although version 1.1 exists, the whole of the XBRL specification is based around XML version 1.0. Unexpected results with XML enabled software can occur if the in-stance is based on XML version 1.1, even if no actual XML constructs from this ver-sion are used in the instance document. | + | |
- | <br/> | + | |
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to use @xmlversion=1.0.''' | + | |
- | </li> | + | |
- | '''context''' xmlDocument '''inv''': | + | |
- | self.version = '1.0' | + | |
- | <br/> | + | |
- | <li><span style="color:blue; font-weight:bold">2.04 </span> | + | |
- | '''Use of namespace prefix''' | + | |
- | <br/> | + | |
- | Declaring unused namespaces is uncalled for and clutters the instance document. | + | |
- | <br/> | + | |
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to actually use namespace prefixes once they have been declared in the instance document [FRIS04].''' | + | |
- | </li> | + | |
- | <li><span style="color:blue; font-weight:bold">2.05 </span> | + | |
- | '''Re-use of namespace prefix's''' | + | |
- | <br/> | + | |
- | Most schema authors provide a namespace prefix for their targetNamespace. It is common practice to re-use these prefixes in other XML documents when needed. It may lead to confusion to human readers to see common understood prefixes used on a different namespace. Eg. the prefix 'xs' for the http://xbrl.org/2003/xbrl-instance-2033-12-31 namespace. | + | |
- | <br/> | + | |
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that declaredto use the same namespace prefixes mirror the namespace prefixes as defined by their schema author(s) [FRIS04].''' | + | |
</li> | </li> | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">2.06 </span> | + | <li><span style="color:blue; font-weight:bold">2.3 </span> |
'''xbrli:xbrl/link:schemaRef''' | '''xbrli:xbrl/link:schemaRef''' | ||
<br/> | <br/> | ||
- | The element link:schemaRef can occurs several times in an instance. Nevertheless taxonomy authors will make sure that only a single entrypoint schema needs to be referred to in the instance. This entrypoint will refer all required data points. (See also 1.04) | + | The element link:schemaRef can occur several times in an instance. Nevertheless, taxonomy authors will make sure that only a single entrypoint schema needs to be referenced to in the instance. This entrypoint will include all required data points. (See also 1.04) |
<br/> | <br/> | ||
<span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have only one xbrli:xbrl/link:schemaRef node in any XBRL instance document.''' | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have only one xbrli:xbrl/link:schemaRef node in any XBRL instance document.''' | ||
Line 237: | Line 234: | ||
self.SchemaReference->size() = 1 | self.SchemaReference->size() = 1 | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">2.07 </span> | + | <li><span style="color:blue; font-weight:bold">2.4 </span> |
''' xbrli:xbrl/link:linkbaseRef''' | ''' xbrli:xbrl/link:linkbaseRef''' | ||
<br/> | <br/> | ||
- | Entrypoints will be defined by means of a schema, and considering footnote linkbases are not supported, there is no use for link:linkbaseRef. | + | Entrypoints will be defined by means of a schema. There is no use for link:linkbaseRef. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to refer to the taxonomy from the instance only by means of the link:schemaRef node.''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required that instances reference the taxonomies only by means of the link:schemaRef element.''' |
</li> | </li> | ||
<br/> | <br/> | ||
- | <li><span style="color:blue; font-weight:bold">2.08 </span> | + | <li><span style="color:blue; font-weight:bold">2.5 </span> |
'''XML comment and documentation''' | '''XML comment and documentation''' | ||
<br/> | <br/> | ||
- | Comments inside the instance that do not get reported as a fact will be ig-nored by the receiver. These comments clutter the instance and have no use to the regulator. Some instance creator tools include the software identification as an XML comment. | + | Comments inside the instance that do not get reported as a fact will be ignored by the receiver. These comments clutter the instance and are of no use to the regulator. Some instance creator tools include the software identification as a XML comment. |
<br/> | <br/> | ||
- | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that an instance contains only contexts, units, schemaRefs and facts.''' | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that relevant data is only contained in contexts, units, schemaRefs and facts of an instance.''' |
</li> | </li> | ||
<br/> | <br/> | ||
Line 256: | Line 253: | ||
=== Context related rules === | === Context related rules === | ||
- | <span style="background-color:yellow">[[Talk:European_Filing_Rules#Comment-23|Comment-23]]</span> | ||
- | |||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">2.10 </span> | + | <li><span style="color:blue; font-weight:bold">2.6 </span> |
- | '''It SHOULD be avoided to have duplicates of xbrli:xbrl and xbrli:context elements.''' | + | '''xbrli:xbrl/xbrli:context/@id''' |
- | <span style="color:green; font-weight:bold">{GFM 1.2.7}</span><br/> | + | <br/> |
- | An instance document must not contain equivalent xbrli:context elements.The two sub-elements of xbrl:context xbrli:segment and xbrli:scenario elements are tested for equality of their children without regard to order. Contexts are defined to be equivalent if they have S-equal identifiers, equal dateUnion values for startDate, endDate and instant (respectively), and segment or scenario element children with equal QNames for each explicit dimension. | + | The id attribute is meant as a unique technical key within a XML document. Semantics conveyed in the id attribute will be lost when the XML content is stored in a database (which generally works with database specific subrogated keys). Even though there is no limitation on the length of an id attribute, it is recommended to keep it as short as possible. |
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to refrain from expressing semantics in the xbrli:context/@id node.''' | ||
</li> | </li> | ||
- | '''context''' Context '''inv''': | ||
- | self.allInstances()->forAll(c1, c2| | ||
- | c1 <> c2 '''implies''' (c1.DimensionalContainer.scenario <> c2.DimensionalContainer.scenario | ||
- | '''and''' c1.Identifier.value <> c2.Identifier.value | ||
- | '''and''' c1.Identifier.scheme <> c2.Identifier.scheme | ||
- | '''and'''(c1.Period.start <> c2.Period.start '''and''' c1.Period.end <> c2.Period.end '''or''' c1.Period.instant <> c2.Period.instant) | ||
- | |||
- | <li><span style="color:blue; font-weight:bold">2.11 </span> | ||
- | <span style="color:green; font-weight:bold">'''Id attributes SHOULD represent non semantic relevant content.'''</span> | ||
<br/> | <br/> | ||
- | Even though there is no limitation on the length of an id attribute it is recommended to keep it as short as possible. Id attributes should also be abstract. <span style="color:green; font-weight:bold">Id attributes are used for XML internal pointers only.</span> | + | <li><span style="color:blue; font-weight:bold">2.7 </span> |
- | </li> | + | '''Unused xbrli:xbrl/xbrli:context''' |
- | <li><span style="color:blue; font-weight:bold">2.12 </span> | + | <br/> |
- | '''There MUST NOT be unused xbrli:context.''' | + | Unused contexts (contexts which are not referred to by facts) clutter the instance and add no value to either regulator or reporter [GFM11, p. 12]. |
- | <span style="color:green; font-weight:bold">{GFM 1.2.8}</span><br/> | + | <br/> |
- | Unused contexts (contexts which are not referred to by facts) clutter the instance and add no value. | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that unused xbrli:context nodes are not included in the instance.''' [FRIS04] |
</li> | </li> | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
self.Fact.allInstances()->notEmpty() | self.Fact.allInstances()->notEmpty() | ||
- | <li><span style="color:blue; font-weight:bold">2.13 </span> | + | <br/> |
- | '''xbrli:identifier/@scheme MUST follow the pattern recognised in the filing system.''' | + | <li><span style="color:blue; font-weight:bold">2.8 </span> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.1}</span><br/> | + | '''Identification of the reporting entity''' |
- | It is recommended to use a proprietary national id code with the scheme refering to the corresponding national central bank. <br/> | + | <br/> |
+ | The xbrli:identifier node combined with the @scheme allows the identification of the reporting entity by the receiver. The @scheme provides a URI which uniquely identifies the type of identifier used in the xbrli:identifier node. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to use a scheme that is prescribed by the receiving regulator.''' [GFM11, p. 11] | ||
+ | <br/> | ||
</li> | </li> | ||
Example: <xbrli:identifier scheme="http://www.kredittilsynet.no">NO12345678</xbrli:identifier> | Example: <xbrli:identifier scheme="http://www.kredittilsynet.no">NO12345678</xbrli:identifier> | ||
Line 293: | Line 285: | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
self.Identifier.allInstances()->forAll(scheme = schemeURL) | self.Identifier.allInstances()->forAll(scheme = schemeURL) | ||
- | + | <br/> | |
- | <li><span style="color:blue; font-weight:bold">2.14 </span> | + | <li><span style="color:blue; font-weight:bold">2.9 </span> |
- | '''xbrli:identifier MUST have a number or identifier recognised in the filing system as its content.''' | + | '''One reporter''' |
- | <span style="color:green; font-weight:bold">{GFM 1.2.2}</span><br/> | + | <br/> |
- | See explanation on rule 2.13 | + | In general, an instance will be reported for only one reporter. Even if the content of the instance deals with a group of companies, there is only one entity reporting the instance to the regulator. The DTS author can determine the number of reporters in an instance. |
- | </li> | + | <br/> |
- | <li><span style="color:blue; font-weight:bold">2.15 </span> | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to have all xbrli:identifier content with its corresponding @scheme to be identical.''' [EFM13, p. 6-8] |
- | '''All xbrli:identifier content MUST be identical.''' | + | |
- | <span style="color:green; font-weight:bold">{GFM 1.2.3}</span><br/> | + | |
- | There can only be one reporter of an instance. Even if the content of the instance deals with a group of companies, there is only one entity reporting the instance to the regulator. | + | |
</li> | </li> | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
self.Identifier.allInstances()->forAll(i1, i2| | self.Identifier.allInstances()->forAll(i1, i2| | ||
i1 = i2 '''implies''' i1.value = i2.value) | i1 = i2 '''implies''' i1.value = i2.value) | ||
- | <li><span style="color:blue; font-weight:bold">2.16 </span> | ||
- | '''All xbrli:identifier/@scheme content MUST be identical.''' | ||
<br/> | <br/> | ||
- | The scheme attribute MUST correspond to the identifier of the reporting entity and there can only be one scheme defined for the reporting entity in an instance document. | + | <li><span style="color:blue; font-weight:bold">2.10 </span> |
+ | '''xbrli:xbrl/xbrli:context/xbrli:period/*''' | ||
+ | <br/> | ||
+ | The xbrli:startDate, xbrli:endDate and xbrli:instant elements all have data type which is a union of the xs:date and xs:dateTime types. European regulators will only allow periods to be identified using whole days, specified without a timezone. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required that all the xbrli:period date elements are valid against the xs:date data type, and that they are reported without a timezone.''' [GFM11, p. 16] | ||
</li> | </li> | ||
- | '''context''' Context '''inv''': | + | <br/> |
- | self.Identifier.allInstances()->forAll(i1, i2| | + | <li><span style="color:blue; font-weight:bold">2.11 </span> |
- | i1 = i2 '''implies''' i1.scheme = i2.scheme) | + | '''xbrli:xbrl/xbrli:context/xbrli:period/xbrli:forever''' |
- | <li><span style="color:blue; font-weight:bold">2.17 </span> | + | <br/> |
- | '''All xbrli:xbrl/xbrli:context/xbrli:period date elements MUST have ccyy-mm-dd format.''' | + | The extreme version of duration is 'forever'. The XBRL specification has created this to solve problems with dates starting 'at the beginning' and ending 'never'. E.g., the name of the filer has in general no end date. The regulator is only interested in type of data for the reported time segment that has a defined starting and ending date. |
- | <span style="color:green; font-weight:bold">{GFM 1.2.25}</span><br/> | + | <br/> |
- | The XBRL specification of this element has made it possible to enter a date or a dateTime. European regulators only allow dates. | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is not allowed to use xbrli:forever as a reporting period.''' [GFM11, p. 19] |
- | </li> | + | |
- | <li><span style="color:blue; font-weight:bold">2.18 </span> | + | |
- | '''xbrli:xbrl/xbrli:context/xbrli:period/xbrli:forever MUST NOT exist.''' | + | |
- | <span style="color:green; font-weight:bold">{GFM 1.2.30}</span><br/> | + | |
- | The extreme version of duration is 'forever'. The XBRL specification has created this to solve problems with dates starting 'at the beginning' and ending 'never'. E.g. the name of the filer has in general no end date. The regulator is only interested in type of data for the reported time segment that has a defined starting and ending date. | + | |
</li> | </li> | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
self.Period.forever->isEmpty() | self.Period.forever->isEmpty() | ||
- | <li><span style="color:blue; font-weight:bold">2.19 </span> | + | <br/> |
- | '''xbrli:startDate and xbrli:endDate in the same context MUST NOT have the same date.''' | + | <li><span style="color:blue; font-weight:bold">2.12 </span> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.9}</span><br/> | + | '''Fiscal reporting year''' |
- | Note that XBRL 2.1 interprets a date used as a context start date as “midnight at the beginning of” that day. A date used as an instant or endDate in a context means “midnight at the end of” that day. | + | <br/> |
- | <span style="color:yellow; font-weight:bold">Actually this rule prohibits 24 hour reporting periods. See EFM V22 rule 6.5.9</span></li> | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''Facts reporting information about an historic period shall be reported against the reporting period for the filing.''' |
- | Example: a company reporting at a May 31st, 2009 fiscal year-end will have contexts whose end date-time is | + | |
- | midnight at the end of 2008-05-31 (the prior fiscal year) and contexts whose start date-times are midnight at the | + | |
- | beginning of 2008-06-01 (the current fiscal year). It will not have any contexts with start date-time of midnight | + | |
- | at the beginning of 2008-05-31, and no contexts with end date-time of midnight at the end of 2008-06-01.<br/> | + | |
- | + | ||
- | '''context''' Context '''inv''': | + | |
- | self.Period->select(start < end)->notEmpty() | + | |
- | <li><span style="color:blue; font-weight:bold">2.20 </span> | + | |
- | '''In an instance document reporting a fiscal year, non-numeric facts containing text about any portion of that or a prior year MUST have an @contextRef to an xbrli:context for the reporting period year.''' | + | |
<br/> | <br/> | ||
</li> | </li> | ||
Example: in a fiscal year 2009 report a company describes litigation settled in fiscal year 2007. Nevertheless, | Example: in a fiscal year 2009 report a company describes litigation settled in fiscal year 2007. Nevertheless, | ||
- | the disclosure text should be in a context for fiscal 2009. A reporting period begins at 00:00:00 of its first day | + | the disclosure text should be in a context for fiscal 2009. |
- | and ends at 24:00:00 of its last day, which is the XBRL 2.1 default for periods. Only the date, not the time part | + | |
- | of the ISO 8601 date-times, should be used in contexts. | + | |
- | <li><span style="color:blue; font-weight:bold">2.21 </span> | + | |
- | '''In an instance document reporting a fiscal year-to-date, the non-numeric facts containing text about any portion of the year-to-date or prior year MUST have an @contextRef to an xbrli:context representing the year-to-date.''' | + | |
<br/> | <br/> | ||
- | </li> | + | <li><span style="color:blue; font-weight:bold">2.13 </span> |
- | Example: a company completes an acquisition in its second fiscal quarter. In its 3rd quarter fiscal report, the | + | '''Reporting period consistency''' |
- | Acquisitions note contains text describing that same acquisition. The 3rd quarter text should be in the context | + | |
- | for the first nine months (that is, the year-to-date). | + | |
- | <li><span style="color:blue; font-weight:bold">2.22 </span> | + | |
- | '''In an instance document the periods defined in the contexts SHOULD refer to the same reporting period.''' | + | |
<br/> | <br/> | ||
- | The dates defined in instant or duration should not exceed the first or the last day of the reporting period in a single instance as required by the regulator.<br/> | + | The dates defined in xbrli:instant or xbrli:startDate / xbrli:endDate should not exceed the first or the last day of the reporting period in a single instance, as required by the regulator. |
- | <span style="color:green; font-weight:bold">Example: corrections on previous periods MAY be using a different (version of the) taxonomy to prevent possible conflicts with the receiving regulator</span> | + | <br/> |
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that the periods defined in the contexts refer to the same reporting period.''' | ||
+ | <br/> | ||
+ | Example: corrections on previous periods MAY be using a different (version of the) taxonomy to prevent possible conflicts with the receiving regulator | ||
</li> | </li> | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
Line 364: | Line 337: | ||
p1 = p2 '''implies''' (p1.start = p2.start | p1 = p2 '''implies''' (p1.start = p2.start | ||
'''and''' p1.end = p2.end) '''or''' p1.instant = p2.instant) | '''and''' p1.end = p2.end) '''or''' p1.instant = p2.instant) | ||
- | <li><span style="color:blue; font-weight:bold">2.23 </span> | + | <br/> |
- | '''xbrli:segment MUST NOT be used.''' | + | <li><span style="color:blue; font-weight:bold">2.14 </span> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.4}</span><br/> | + | '''xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:segment and xbrli:xbrl/xbrli:context/xbrli:scenario''' |
- | As xbrli:scenario and xbrli:segment elements are treated as mutually exclusive, using both of them is prohibited. | + | <br/> |
- | <br><span style="color:green; font-weight:bold">For consistency reasons everybody uses the xbrli:scenario container.</span><span style="background-color:yellow">[[Talk:European_Filing_Rules#Comment-25|Comment-25]]</span> | + | The XBRL Dimensions specification allows taxonomies to specify dimensions for use within either the segment or the scenario of the context. For consistency reasons and simplification of processing, European taxonomy authors will only use the xbrli:scenario node. |
- | + | <br/> | |
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended that taxonomy publishers define all dimensions for use on xbrli:scenario.''' | ||
</li> | </li> | ||
'''context''' Context '''inv''': | '''context''' Context '''inv''': | ||
self.DimensionalContainer.segment->isEmpty() | self.DimensionalContainer.segment->isEmpty() | ||
- | <li><span style="color:blue; font-weight:bold">2.24 </span> | + | <br/> |
- | '''If an xbrli:scenario element appears in a context, then its children must be one or more xbrldi:explicitMember and/or xbrldi:typedMember elements.''' | + | <li><span style="color:blue; font-weight:bold">2.15 </span> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.6}</span><br/> | + | '''xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:segment and xbrli:xbrl/xbrli:context/xbrli:scenario''' |
- | The xbrli:scenario element MUST NOT be used for anything other than for explicit or typed members. | + | <br/> |
- | <span style="color:green; font-weight:bold">Custom reporter XML schema content would create problems with the regulatory system.</span> | + | The xbrli:scenario or xbrli:segment element MUST NOT be used for anything other than for explicit or typed members. Custom reporter XML schema content may create problems with the regulatory system. |
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">XML-XBRL</span>: '''The XBRL specification allows xs:any content. This means that all XML schema content can be stored (not just XBRL Dimensions).''' | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''If a xbrli:scenario (or xbrli:segment) element appears in a xbrli:context, then it is required for its children to be one or more xbrldi:explicitMember and/or xbrldi:typedMember elements, and not allowing any reporter custom content.''' [EFM13, p. 6-8] | ||
</li> | </li> | ||
</ul> | </ul> | ||
- | <span style="background-color:yellow">[[Talk:European_Filing_Rules#Comment-17|Comment-17]]</span> | + | <br/> |
=== Fact related rules === | === Fact related rules === | ||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">2.25 </span> | + | <li><span style="color:blue; font-weight:bold">2.16 </span> |
- | '''There MUST NOT be two facts having the same element name, equal contextRef attributes, and if they are present, equal unitRef attributes and xml:lang attributes, respectively.''' | + | '''Duplicate facts'''<br/> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.11}</span><br/> | + | An instance document must not have duplicated fact items. Item X and item Y are duplicates if and only if all the following conditions apply: |
- | An instance document must not have more than one fact having S-Equal element names, equal contextRef attributes, and if they are present V-Equal, unitRef attributes and xml:lang attributes, respectively. | + | <ul> |
- | The values of the id attribute and the text content of the element are not relevant to detection of duplicate facts. Other rules forbidding equivalent xbrli:context and xbrli:unit elements ensure that duplicate values of the contextRef and unitRef attributes can be detected without dereferencing. The predicate V-Equal is as defined in the XBRL 2.1 specification. The V-Equal test is sensitive to the underlying data type, so the decimals attribute of ‘-6’ is V-Equal to decimals ‘-06.0’. In unusual cases the same fact may be presented with different levels of detail, such as “123456 Shares with decimals equal to ‘INF’”, and “120000 Shares with decimals equal to ‘-3’”. | + | <li>1. X is not identical to Y, and </li> |
- | Instead of including both facts in the instance, the instance should contain only the more precise one. | + | <li>2. the element local name of X is S-Equal to the element local name of Y, and </li> |
+ | <li>3. X and Y are defined in the same namespace, and </li> | ||
+ | <li>4. X is P-Equal to Y, and </li> | ||
+ | <li>5. X is C-Equal to Y, and </li> | ||
+ | <li>6. X is U-Equal to Y, and </li> | ||
+ | <li>7. X and Y are dimensionally equivalent (d-equal in all dimensions of each of X and Y), and</li> | ||
+ | <li>8. X and Y have S-Equal xml:lang attributes.</li> | ||
+ | </ul> | ||
+ | <span style="color:blue; font-weight:bold">XML-XBRL</span>: '''Duplicate facts are XML-XBRL syntax valid. However, the semantic meaning may be unclear.''' | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to prohibit duplicated facts.''' [FRIS04],[EFM13, p. 6-10] | ||
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.26 </span> | + | <br/> |
- | '''@precision MUST NOT be used.''' | + | <li><span style="color:blue; font-weight:bold">2.17 </span> |
- | <span style="color:green; font-weight:bold">{GFM 1.2.16}</span><br/> | + | '''@precision''' |
- | The decimal attribute must be used instead as it holds equivalent information. | + | <br/> |
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to use @decimals as the only means for expressing precision on a fact.''' [EFM13, p. 6-12] | ||
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.27 </span> | ||
- | '''@decimals value MUST NOT cause non-zero digits in the fact value to be changed to zero.''' | ||
- | <span style="color:green; font-weight:bold">{GFM 1.2.26}</span><br/> | ||
- | Instance documents must not contain truncations or roundings that result in reductions of the number of significant figures. | ||
- | If the decimals attribute of a numeric fact is not equal to “INF”, then the value is interpreted as if certain digits were zero. | ||
- | Example: The table below illustrates correct and incorrect use: | ||
- | |||
- | {| border="1" cellpadding="2" cellspacing="0" | ||
- | ! scope="col" width="70px" bgcolor="#E6E6E6" | Fact text | ||
- | ! scope="col" width="120px" bgcolor="#E6E6E6" | Decimals value | ||
- | ! scope="col" width="120px" bgcolor="#E6E6E6" | Interpreted value | ||
- | ! scope="col" width="70px" bgcolor="#E6E6E6" | Result | ||
- | |- | ||
- | | -2345.45 || INF || -2,345.45 || | ||
- | |- | ||
- | | -2345.45 || 2 || -2,345.45 || | ||
- | |- | ||
- | | -2345.45 || 0 || -2,345.00 || Error | ||
- | |- | ||
- | | -2345.45 || -2 || -2,300.00 || Error | ||
- | |- | ||
- | | -2345.45 || -3 || -2,000.00 || Error | ||
- | |- | ||
- | | -2345.45 || -6 || 0000.00 || Error | ||
- | |} | ||
- | This rule is valuable when XBRL Formulas are used to evaluate the correctness of the data. | ||
- | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.28 </span> | ||
- | '''The @decimals value MUST correspond to the accuracy of the corresponding amount as reported in the regulatory filing.''' | ||
<br/> | <br/> | ||
- | The decimals attribute influences how numbers are interpreted in XBRL and any value for the decimals attribute other than the value INF implies rounding or truncation. Use the following table to select the correct value of the decimals attribute for a fact so that it corresponds to the value as presented (most often rounded) in instance documents. | + | <li><span style="color:blue; font-weight:bold">2.18 </span> |
- | + | '''@decimals''' | |
- | {| border="1" cellpadding="2" cellspacing="0" | + | |
- | ! scope="col" width="300px" bgcolor="#E6E6E6" | Accuracy of the amount | + | |
- | ! scope="col" width="120px" bgcolor="#E6E6E6" | Value of decimals attribute | + | |
- | |- | + | |
- | | Exact monetary, percentage, basis point or any other amount || INF | + | |
- | |- | + | |
- | | Rounded to billions || -9 | + | |
- | |- | + | |
- | | Rounded to millions || -6 | + | |
- | |- | + | |
- | | Rounded to thousands || -3 | + | |
- | |- | + | |
- | | Rounded to units || 0 | + | |
- | |- | + | |
- | | Rounded to cents || 2 | + | |
- | |- | + | |
- | | Rounded to a whole percentage || 4 | + | |
- | |} | + | |
- | + | ||
<br/> | <br/> | ||
- | Examples: The table below illustrates correct use. | + | The @decimals is about the accuracy of the fact value. A positive value in @decimals means the number of accurate digits to the right of the decimal point. A negative value in @decimals means the number of non-accurate digits to the left of the decimal point. A value of INF in @decimals mean than all the digits are accurate. The XBRL processors use rounding conform to the IEEE Std 754 -2008 (4.3.1) for calculation linkbase and formula validation, which means round half to even. To enable XBRL Formulae calculations to be performed on instance values for validation purposes, no truncations or rounding or any other kind of change should apply to the numeric facts in the instance. See the explanatory RFC at http://www.xbrl.org/RFC/PDU/PWD-2008-10-09/PDU-RFC-PWD-2008-10-09.html. For XBRL Formula there is a function that can perform interval arithmetic if the formula creator desires so. |
- | + | <br/> | |
- | {| border="1" cellpadding="2" cellspacing="0" | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''The accuracy of a numeric fact is required to be expressed using @decimals, with no truncation, rounding or any change in the original fact value.''' |
- | ! scope="col" width="250px" bgcolor="#E6E6E6" | Fact | + | <br/> |
- | ! scope="col" width="50px" bgcolor="#E6E6E6" | Value | + | If the @decimals attribute of a numeric fact is not equal to “INF”, then the numeric fact is interpreted as interval arithmetic of the numeric fact ± 0.5(10 ^ -@decimals ). This rule is valuable when XBRL Formulas are used to validate the numeric facts. |
- | ! scope="col" width="120px" bgcolor="#E6E6E6" | Value of decimals attribute | + | |
- | |- | + | |
- | | A percentage of (exactly) 46% || .46 || INF | + | |
- | |- | + | |
- | | A (rounded) profit margin of 9.3% || .093 || 3 | + | |
- | |- | + | |
- | | A (rounded) amount “in thousands” of 100 || 100000 || -3 | + | |
- | |- | + | |
- | | A (rounded) amount “in thousands” of 100 || 100200 || -2 | + | |
- | |} | + | |
- | + | ||
- | The decimals attribute is not a scale factor. The decimals attribute is not a formatting code; it does not indicate that the digits in the instance must subsequently be presented to a user in any particular way. | + | |
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.29 </span> | ||
- | <span style="color:green; font-weight:bold">'''The @xsi:nil="true" MUST be used if the concept is to be reported but cannot hold the value zero or any reportable value.'''</span> | ||
<br/> | <br/> | ||
- | Data related to white cells could be reported with the according value, as zero or as unknown. The table below shows the different possible solutions: | + | <li><span style="color:blue; font-weight:bold">2.19 </span> |
+ | '''zero value, empty, nil value @xsi:nil''' | ||
+ | <br/> | ||
+ | There is a difference in reporting facts with the value zero, not present or xsi:nil='true'. It is up to the regulator to determine the meaning of the different situations. | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required for the regulator to describe the meaning of the situation @xsi:nil="true", if this is allowed on reported concepts.''' | ||
+ | <br/> | ||
+ | Data related to numeric based white cells could be reported with the according value, as zero or as absent. The table below shows the different possible solutions: | ||
{| border="1" cellpadding="2" cellspacing="0" width="70%" | {| border="1" cellpadding="2" cellspacing="0" width="70%" | ||
Line 477: | Line 411: | ||
| width="60%" | <p-cm-ca:CapitalRequirements decimal="0" unitRef="EUR" contextRef="ctx_1">'''0'''</p-cm-ca:CapitalRequirements> | | width="60%" | <p-cm-ca:CapitalRequirements decimal="0" unitRef="EUR" contextRef="ctx_1">'''0'''</p-cm-ca:CapitalRequirements> | ||
|- valign="top" | |- valign="top" | ||
- | ! scope="row" width="10%" bgcolor="#E6E6E6" | nil value | + | ! scope="row" width="10%" bgcolor="#E6E6E6" | nil |
- | | The value of the fact is not known or can't be received. || <p-cm-ca:CapitalRequirements '''xsi:nil="true"''' unitRef="EUR" contextRef="ctx_1"></p-cm-ca:CapitalRequirements> | + | | The regulator has to stipulate the meaning. || <p-cm-ca:CapitalRequirements '''xsi:nil="true"''' unitRef="EUR" contextRef="ctx_1"></p-cm-ca:CapitalRequirements> |
|- valign="top" | |- valign="top" | ||
- | ! scope="row" width="10%" bgcolor="#E6E6E6" | not applicable information | + | ! scope="row" width="10%" bgcolor="#E6E6E6" | No fact present. |
- | | The value is inapplicable. || The fact doesn't appear in the instance. | + | | The value is unknown or inapplicable. || The fact doesn't appear in the instance. |
|} | |} | ||
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.30 </span> | ||
- | <span style="color:green; font-weight:bold">'''Numeric fact MUST be accurate to the @decimal value.'''</span> | ||
<br/> | <br/> | ||
- | </li> | + | <li><span style="color:blue; font-weight:bold">2.20 </span> |
- | Examples: | + | '''@xml:lang''' |
- | The value “twenty thousand” may appear in a numeric fact as any legal decimal representation of 20,000, such as | + | |
- | 20000, 20000.0, or 020000. It must not appear as “20”. | + | |
- | The value “20%” may appear in a numeric fact as any legal decimal representation of .2, such as 0.2, 0.20, | + | |
- | 000.2000. | + | |
- | The value “20%” must not appear in a numeric fact as “20”, “20/100”, “20%” or any variation of the integer “20”. | + | |
- | <li><span style="color:blue; font-weight:bold">2.31 </span> | + | |
- | '''For non numeric facts: The language used MUST be clearly identified.''' | + | |
<br/> | <br/> | ||
- | The language used on string based facts needs to be identified. This can be done by declaring the @xml:lang on the xbrli:xbrl element just once, or on every string based fact individually. No rules have been set for regulators allowing multiple language reportings (choices are to support all languages in a single instance or to require multiple, language based, instances). | + | The language used on string based facts needs to be identified. This can be done by declaring the @xml:lang on the xbrli:xbrl element just once, or on every string based fact individually. No rules have been set for regulators allowing multiple language reportings (choices are to support all languages in a single instance or to require multiple, language based, instances). The preferred option is to have multiple languages in a single instance. |
- | <span style="color:green; font-weight:bold">The preferred option is to have multiple language in a single instance.</span> | + | |
- | <span style="background-color:yellow">[[Talk:European_Filing_Rules#Comment-24|Comment-24]]</span> | + | |
- | </li> | + | |
- | <li><span style="color:blue; font-weight:bold">2.32 </span> | + | |
- | '''@id on individual facts SHOULD NOT be used.''' | + | |
<br/> | <br/> | ||
- | The @id on individual facts is meant to connect texts in the form of a footnote, which is prohibited. | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have a clear policy to define the language for non numeric facts.''' |
</li> | </li> | ||
</ul> | </ul> | ||
+ | <br/> | ||
=== Unit related rules === | === Unit related rules === | ||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">2.33 </span> | + | <li><span style="color:blue; font-weight:bold">2.21 </span> |
- | '''xbrli:xbrl/xbrli:unit MUST NOT have duplicates.''' | + | '''Unused xbrli:xbrl/xbrli:unit''' |
- | <span style="color:green; font-weight:bold">{GFM 1.2.10}</span><br/> | + | <br/> |
- | Element xbrli:xbrl must not have equivalent child xbrli:unit elements. Units are equivalent if they have equivalent measures or equivalent numerator and denominator. Measures are equivalent if their contents are equivalent QNames. Numerators and Denominators are equivalent if they have a set of equivalent measures. | + | Unused units (units which are not referred to by facts) clutter the instance and add no value to either regulator or reporter. |
- | </li> | + | <br/> |
- | '''context''' Unit '''inv''': | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to prevent unused xbrli:unit nodes to be present in the instance.''' [FRIS04] |
- | self.allInstances()->forAll(u1, u2| | + | |
- | u1 <> u2 '''implies''' (u1.id <> u2.id | + | |
- | '''and''' u1.measure->asOrderedSet() <> u2.measure->asOrderedSet()) | + | |
- | <li><span style="color:blue; font-weight:bold">2.34 </span> | + | |
- | '''There MUST NOT be unused xbrli:xbrl/xbrli:unit.''' | + | |
- | <span style="color:green; font-weight:bold">{GFM 1.2.27}</span><br/> | + | |
- | Unused units (units which are not referred to by facts) clutter the instance and add no value. | + | |
</li> | </li> | ||
'''context''' Unit '''inv''': | '''context''' Unit '''inv''': | ||
self.Fact.allInstances()->notEmpty() | self.Fact.allInstances()->notEmpty() | ||
- | |||
- | <li><span style="color:blue; font-weight:bold">2.35 </span> | ||
- | '''xbrli:xbrl/xbrli:unit declarations SHOULD adhere to XBRL international unit registry content.''' | ||
- | <span style="color:green; font-weight:bold">{GFM 1.2.29}</span><br/> | ||
- | XBRL 2.1 already enforces the requirement that a fact of type xbrli:monetaryItemType must have a unitRef whose xbrli:measure is an ISO standard currency. A standard numeric data type registry is similar but broader: it has a schema with numeric type declarations, and each numeric data type is associated with consistent unit declaration measures, numerators and denominators. | ||
<br/> | <br/> | ||
- | http://www.xbrl.org/utr/utr.xml | + | <li><span style="color:blue; font-weight:bold">2.22 </span> |
+ | '''xbrli:xbrl/xbrli:unit/* content''' | ||
+ | <br/> | ||
+ | XBRL International, Inc. has released a standard numeric data type registry which has a schema with numeric type declarations, and each numeric data type is associated with consistent unit declaration measures, numerators and denominators. Use of this registry that contains all the usual units facilitates implementation in software and simplifies validation. Link: [http://www.xbrl.org/utr/utr.xml XII UTR] National supervisors that use units apart from UTR should apply for an integration of these units in this standardized registry of XBRL International Inc. | ||
<br/> | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended to have the xbrli:unit children referring to the XBRL International Unit Type Registry (UTR).''' [EFM13, p. 6-17] | ||
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.36 </span> | ||
- | <span style="color:green; font-weight:bold">'''xbrli:xbrl/xbrli:unit MUST represent currencies to their physical value.'''</span> | ||
<br/> | <br/> | ||
- | To express amounts in US Dollars, use only xbrli:unit with one xbrli:measure element whose content is the QName iso4217:USD. Do not define units such as “thousands of USD”, “millions of GBP”, or “pence”. | + | <li><span style="color:blue; font-weight:bold">2.23 </span> |
+ | '''One currency''' | ||
+ | <br/> | ||
+ | Dealing with currency conversions in the reporting process increases the complexity of IT systems. | ||
<br/> | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is recommended for national regulators to define one currency to be accepted for monetary values in instance documents.''' | ||
</li> | </li> | ||
- | <li><span style="color:blue; font-weight:bold">2.37 </span> | ||
- | '''An instance document SHOULD contain only a single currency unit.''' | ||
<br/> | <br/> | ||
- | <span>Amounts that a reported should refer to only to one xbrl:unit with a xbrli:measure that content is a QName starting with iso4217. </span> | + | <li><span style="color:blue; font-weight:bold">2.24 </span> |
+ | '''xbrli:xbrl/xbrli:unit/xbrli:measure''' | ||
+ | <br/> | ||
+ | Facts that represent amounts in any currency must be of an item that is derived from xbrli:monetaryItemType, and must thereby follow the restriction in XBRL 2.1, section 4.8.2, regarding monetaryItemType (i.e., unit measure is an ISO 4217 currency designation). Such facts may not have unit measures that express any scaling (which is covered by the @decimals attribute of the fact). | ||
+ | <br/> | ||
+ | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is required to have units representing currencies, to represent the actual physical value of these currencies.''' | ||
</li> | </li> | ||
'''context''' Instance '''inv''': | '''context''' Instance '''inv''': | ||
self.Unit->select(measure.substring(1, 7) = #iso4217)->size()=1 | self.Unit->select(measure.substring(1, 7) = #iso4217)->size()=1 | ||
- | |||
</ul> | </ul> | ||
=== Footnote related rules === | === Footnote related rules === | ||
<ul> | <ul> | ||
- | <li><span style="color:blue; font-weight:bold">2.38 </span> | + | <li><span style="color:blue; font-weight:bold">2.25 </span> |
- | <span style="color:green; font-weight:bold">'''Information eligable for footnotes MUST be included in the appropriate concepts only.'''</span> | + | '''Footnotes''' |
+ | <br/> | ||
+ | Footnotes can contain additional information on the facts reported. In European supervisory taxonomies all data requirements are reflected by data points reflected in concepts. Information contained in footnotes will not be handled by regulators. The usage of footnotes is only allowed for filing indicators. | ||
<br/> | <br/> | ||
- | The tables of the European reporting frameworks consist of white, gray and crisscrossed cells. White cells can be reported if data is available and can be retrieved from the database of the reporting entity. Gray cells could be reported but they are not mandatory because the level of detail is excluded from the reporting. Crisscrossed cells make no sense from an economic point of view. Additional information to white cells outsourced in footnotes are not allowed. | + | <span style="color:blue; font-weight:bold">CWA Advice</span>: '''It is not recommended to communicate reporting related information in footnotes or any other resources.''' |
</li> | </li> | ||
</ul> | </ul> | ||
- | =Bibliography= | + | =Annex= |
- | * [http://www.ifrs.org/XBRL/Resources/Documents/GlobalFilingManual20110419.pdf Global Filing Manual] ''[http://www.ifrs.org/news/xbrl/Pages/ita-updated-gfm.aspx (Interoperable Taxonomy Architecture Project)]'' | + | [[Image:UML-filing-rules.jpg]] |
- | * [http://www.sec.gov/info/edgar/edmanuals.htm EDGAR Filer Manual] ''U.S. Securities and Exchange Commission'' | + | |
- | * [http://www.ifrs.org/XBRL/Resources/Pages/IFRS-Taxonomy-Guide.aspx IFRS Taxonomy Guide] | + | |
+ | =Open discussions= | ||
- | * [https://eiopa.europa.eu/publications/eu-wide-reporting-formats/index.html EIOPA: EU-wide Reporting Formats] | + | The CWA1 is aware of a problem of processing very large XBRL instances by some computer systems. XBRL International has written a specification document [12] on the subject. However, since the ordering of XML nodes and duplication of content are both against the essence of the XML specification, no criteria can be given when an instance is too large and these large instances are the exception, the CWA1 has decided not to create rules enforcing such ordering and duplication. |
- | * [http://eba.europa.eu/ European Banking Authority] | + | |
- | =Annex= | + | For clarification to the reader and for those regulators that are dealing with these very large instances, CWA1 recommends that the regulator in question enforce rules on the instance creation in which the facts, the required context, and unit nodes are put in a sequence directly after one another in order to allow software to stream the instance and thus free up memory after the fact has been validated against the context and unit. For more details on these requirements, we recommend the XBRL International specification on the subject. |
- | [[Image:UML-filing-rules.jpg]] | + | |
+ | =Bibliography= | ||
+ | |||
+ | [1] [GFM11] Global Filing Manual (Interoperable Taxonomy Architecture Project)<br/> | ||
+ | [2] [EFM13] [http://www.sec.gov/info/edgar/edmanuals.htm EDGAR Filer Manual] U.S. Securities and Exchange Commission<br/> | ||
+ | [3] [FRIS04] [http://www.xbrl.org/technical/guidance/FRIS-PWD-2004-11-14.htm Financial Reporting Instance Standards 1.0]<br/> | ||
+ | [4] [Karl12] Karle, Thomas (2012): Kollaborative Softwareentwicklung auf Basis serviceorientierter Architekturen. Karlsruhe: KIT Scientific Publishing<br/> | ||
+ | [5] [SBR13] [http://www.sbr-nl.nl/fileadmin/SBR/documenten/NT_2013/definitief_03122012/NL-FRIS_NT2013_20121210.pdf SBR FRIS rules 2013]<br/> | ||
+ | [6] [https://eiopa.europa.eu/publications/eu-wide-reporting-formats/index.html EIOPA: EU-wide Reporting Formats]<br/> | ||
+ | [7] [http://eba.europa.eu/ European Banking Authority]<br/> | ||
+ | [8] Extensible Business Reporting Language (XBRL) 2.1, available at : http://www.xbrl.org/specification/xbrl-recommendation-2003-12-31+corrected-errata-2012-01-25.htm<br/> | ||
+ | [9] XBRL Dimensions 1.0, available at: http://www.xbrl.org/specification/dimensions/rec-2012-01-25/dimensions-rec-2006-09-18+corrected-errata-2012-01-25-clean.html<br/> | ||
+ | [10] XBRL Registry Specification 1.0, available at: http://www.xbrl.org/Specification/registry/REC-2009-06-22/registry-REC-2009-06-22.html<br/> | ||
+ | [11] XBRL Formula specification 1.0, available at: http://www.xbrl.org/Specification/formula/REC-2009-06-22/overview/Formula-Overview-REC-2009-06-22.rtf<br/> | ||
+ | [12] Notes on the Processing of Large XBRL Instances 1.0 at: http://www.xbrl.org/WGN/large-instance-processing/WGN-2012-10-31/large-instance-processing-WGN-WGN-2012-10-31.html |
Current revision
CEN Workshop Agreement
Status: This is a public Working Space. Please refer the official publication at CWA 16744-4:2014 Improving transparency in financial and business reporting - Harmonisation topics - Part 4: European Filing Rules.
CEN WS XBRL Experts: Thierry Declerck (DFKI), Roland Hommes (Rhocon), Katrin Heinze (Deutsche Bundesbank)
Editing rules
Editorial comments should be highlighted as follows: A comment
Text or rules in discussion (white): Some text
Text or rules already aligned (green): Some text
Text or rules to be deleted (red): Some text
Text to be delivered (blue): Some text
Contents |
Foreword
This document has been prepared by CEN/WS XBRL, under the supervision of the Secretariat of the Netherlands Standardization Institute (NEN).
This document has been officially promulgated in the CEN website Improving transparency in financial reporting (WS XBRL)
The direct link is CWA 16744-4:2014 Improving transparency in financial and business reporting - Harmonisation topics - Part 4: European Filing Rules.
Introduction
The eXtensible Business Reporting Language (XBRL) specification provides a high degree of flexibility in the creation of XBRL instance documents. In part, this flexibility stems from the nature of the syntax XML, and in part it stems from the XBRL specification itself. This document provides guidance for regulators, relating to the syntax used in XBRL instances, to enable them to make restrictions where they feel it is appropriate to do so.
Disclaimer:
The filing rules represent a collection of recommendations to be seen as guidance to be implemented in the European supervisory reporting process. The rules are also recommended to be adopted by national supervisors for other reporting purposes when they do not contradict their needs, e.g., footnotes are sometimes necessary to explain the content of reported facts. The listed filing rules are influenced by the European Taxonomy Architecture in cases where the instance creation is implicated.
This document is a listing of best practices for the benefit of clear guidance on the preparation and validation of XBRL instance documents, and to improve the interoperability among computer applications that process these instances. The consistent use of best practices facilitates the analysis and comparison of XBRL instance documents for both the reporting entities and the receiving entities in the reporting process. The rules are primarily based on regulatory needs. One goal of this document is to minimize the reporting burden on the reporting entities in Europe. However, this goal is subject to the reporting statutes legislatded by National and European regulators.
Although the only authoritative restrictions are based on the XBRL specifications and the regulatory instructions, the following set of rules helps to avoid unnecessary complications by adopting well established Best Practices.
The language used to express some of the best practices is tightly connected to the environment in which these practices were developed. Guidelines stemming from the Global Filing Manual or the Edgar Filing Manual are based on RFC 2119. On the other hand, the CEN projects are using language from CEN T/C 123.
The guidance in this document is in the form of notes, and they will not make any emphasis on rules being a "must/shall" or "should/recommended" because this document does not have a mandate to establish such rules. Only the National and European regulators have such a mandate. The regulators can choose from the guidelines presented here in order to create their own set of rules.
Objectives
The primary objective of the CWA1 working group is interoperability. This is achieved thanks to the harmonization and guidance relating to the best practices of the XBRL taxonomy creation process, as carried out by regulators, supervisory authorities, voluntary supply chains, and others. The secondary objective is to facilitate adoption of XBRL technology, by maintaining standard technological requirements for the creation of XBRL instance documents ,and by keeping them as simple as possible. The basic use case that is the underlying controlling factor for the following guidelines is the submission, by a reporting entity, of its regulatory filings, and the consumption of those regulatory filings by (several) reporting applications.
The following sections provide guidance on the preparation and validation of instance documents in XBRL format.
The guidelines in this document also aim to facilitate the analysis and comparison of reporting data as well as the interoperability of computer applications.
Target Audience
This document is intended for a technical audience and assumes that the reader has a working knowledge of the XBRL 2.1 and the XBRL Dimensions 1.0 Specifications and has a basic understanding of XML, Namespaces, and XML Schema.
To readers with XML knowledge, many of the guidelines in this document will be familiar. However, others guidelines originate from features that are XBRL-specific, so the reasoning behind them may be less obvious.
To ease the understanding by software developers implementing these guidelines in their reporting system, a UML model has been created to show the relationships between the different XBRL objects mentioned in this document. Some of the filing rules are accompanied by constraints defined in the Object Constraint Language (OCL). OCL is part of the UML and allows adding constraints based on the UML objects of the class model. OCL is not a programming language; it just supports the definition of technical specifications. OCL eases the understanding of the rules by using a formal language to provide an unambiguous and consistent description [Karl12, p. 106].
Relationship to Other Work
The guidelines in this document pertain to XBRL filings. Parts of this document reiterate documentation, for the clarification of certain syntactic and semantic restrictions imposed by XBRL, but this document does not modify XBRL. In the event of any conflict between this document and XBRL, XBRL prevails. This document does place additional restrictions beyond those prescribed by XBRL.
Scope
The guidelines in this document have been created for regulatory filings in the context of European supervisory reporting. In this document, “regulatory filings” encompasses European reporting standards that are published by a European supervisory authority, accompanied by an XBRL taxonomy as well as extensions of this taxonomy provided by national supervisors.
Terms and definitions
- Applicable taxonomy
- An XBRL taxonomy recognised to be used as a basis for filings in a given filing system.
- Data point
- A data point is an information component that is defined by a supervisory authority and is to be sent in an instance document. In XBRL, a data point is represented by a fact, its value and related dimensional combinations.
- Dimension
- A dimension is a xs:element in the substitutionGroup of xbrldt:dimensionItem; it relates to the ability to express multidimensional information;
- Entrypoint
- A schema or linkbase in the applicable taxonomy that represents the filing requirements and gets mentioned in the instance by the reporter.
- Fact
- A fact is an occurrence in an instance document of an element with a mandatory contextRef attribute and optional attributes like unitRef, xml:lang or xsi:nil.
- Filer
- A reporting entity.
- Filing
- A filing is the fundamental unit of information that is transmitted to a filing system for receipt, validation and acceptance. It is the conveyance of a XBRL instance document or series of XBRL instance documents.
- Filing system
- A system in which XBRL instance documents are filed, received, analysed and redistributed.
- Footnote
- A footnote is used to associate text annotations with particular facts in a XBRL instance document.
- Instance document
- An instance document is a XBRL file carrying facts. An instance document originating with a filer can only be sent as part of a filing. A filing comprises of one or more instance documents.
- Linkbase
- A linkbase is a XML file according to the XBRL 2.1 specification, which contains relationships between concepts, resources, and concepts, in addition to resources which provide labels and references. There are different kinds of linkbases. One of them is the formula linkbase containing business rules in the syntax as prescribed by the XBRL Formula Specification.
- Publisher of the schema
- Organisation responsible for publishing a given XBRL taxonomy.
- Reporting entity
- A reporting entity is an institution or company with an obligation to prepare supervisory reports for national or European supervisory authorities.
- Taxonomy
- In the context of XBRL, a taxonomy is an electronic dictionary of business reporting elements that are relevant for reporting business data. A taxonomy is composed of a XML Schema and one or more linkbases directly referenced by that schema.
- Taxonomy creator
- See: Publisher of the schema
- For XBRL-specific terms like context, unit, period, entity, s-equal, v-equal see Specification XBRL 2.1.
Symbols and abbreviations
- UML
- Unified Modeling Language
- W3C
- World Wide Web Consortium
- XBRL
- eXtensible Business Reporting Language
- XML
- eXtensible Markup Language
European Filing Rules
Filing syntax rules
- 1.1
Filing naming
Common practice is to use the extension .xbrl for instance documents, but there is no technical restriction to use anything else. There are no restrictions on file names posed. Different naming conventions exist around the world; essentially these are conveying some kind of meaning about: the sender, the reported filing and/or the reported period. For software that is storing the file name of the instance in a relational database some restrictions on which characters may be used and the total length of the file name may be appropriate.
CWA Advice: Rules about the file name of an instance document need to be set by the receiver of the reports, if required. - 1.2
Taxonomy publication
The reporter needs to be made aware of which taxonomy should be used for the instance creation. This information should be made publicly available in an official web location to facilitate the automated processing by software.
CWA Advice: The publisher of the taxonomy should ensure that each taxonomy file can be localised in the internet. - 1.3
Taxonomy package
The publisher of the taxonomy might provide a compressed file enclosing all relevant taxonomy files to facilitate a download for an offline processing. This taxonomy package should only include those files for which the publisher of the taxonomy is responsible becaues, redistributing files under the control of other authorities can lead to interoperability problems if the latest published versions of these files do not match. Referenced files from other parties should be downloaded from the web address of the respective owner.
CWA Advice: A publisher of a schema should only provide taxonomy files for download where he is the owner. - 1.4
Character encoding of XBRL instance documents
The XML and XBRL specifications place no restrictions on the character encodings that may be used in instance documents. In order to avoid using a character encoding that is not supported by a receiving processor, all instances should use the UTF-8 character encoding.
CWA Advice: "UTF-8" is the recommended encoding for XBRL instance documents. [GFM11, p. 11] If required, the instance receiver can restrict the set of characters or scripts defined in the Unicode.
context xmlDocument inv: self.encoding = 'UTF-8'
A taxonomy is loaded through a reference to one or more URLs, with other files in the taxonomy being included through the process of DTS Discovery. Although technically a user can reference any file in the taxonomy, a taxonomy publisher will typically nominate specific URLs which are intended to be referenced by users of the taxonomy. These URLs are called entrypoints, and allow users to import the correct modules from the taxonomy, with different modules including different templates and different associated validation rules.
CWA Advice: The taxonomy publisher should provide a list of available entrypoints in the taxonomy as a list of absolute URLs.
Each reported fact in a filing requires to be assigned to a template of a specific reporting domain. Filing indicators are used to hold these template names. They also trigger the taxonomy validation checks. Missing filing indicators can lead to inconsistencies because the unassigned facts are not validated.
CWA Advice: It is required to include filing indicators in the XBRL instance to express which templates are represented by the reported facts.
If a filing indicator is given in the XBRL instance, consistency checks are processed by the reporting system. In case no fact appears for an indicated template, the filing could be rejected because the system requires an appropriate set of fact values for the checks.
CWA Advice: It is recommended not to include filing indicators for templates which are not addressed by the facts reported.
As filing indicators play an essential role to ensure the data quality, the receiver of the instance should check that they are correctly set by the reporting entity.
CWA Advice: The receiver of the instance should implement checks that reveal missing or superfluous filing indicators in an instance document.
Each XBRL instance in the filing is tested for XBRL 2.1 and XBRL Dimensions 1.0 validity. In order to increase the likelihood that instance documents pass validation, filers are required to validate their compliance with the XBRL 2.1 and XBRL Dimensions 1.0 specifications prior to submission.
CWA Advice: Instance documents are required to be XBRL 2.1 and XBRL Dimensions 1.0 valid. EFM13, Volume II, p. X-Y]
context Instance::isXBRLValid() : Boolean post: result = true
XBRL allows the definition of business rules which can be discovered by XBRL software while opening the respective module referenced in the instance document. These business rules are applied on the content of the instance document to check the data quality. Tests that result in an error need to be corrected by the sending reporting entity. There may be tests that produce warnings. The need to solve these warnings depends on the content of the message and the perspective of the filer.
CWA Advice: It is recommended to have the XBRL instance document valid with regards to validation technology provided in the applicable taxonomy.
context Instance::isValidationValid() : Boolean post: result = true
XBRL Taxonomies can be extended by anybody with the proper technical knowledge. Filings to European Regulatory Authorities are 'closed form' i.e. all data points allowed by the regulator are in the taxonomy. There can be no extension of the taxonomy by reporters to report more data points to the regulator. However, national supervisors may extend European taxonomies. For reporters, the combination of base and extension taxonomies is regarded as a single taxonomy.
CWA Advice: Reporters are required to reference only the taxonomy entrypoints specified by the relevant authority, and may not provide their own extension taxonomies.
context Taxonomy inv: self.owner = ‚European Banking Authority’ or self.owner = ‚European Insurance and Occupational Pensions Authority’
In case corrections are needed on filings that already have been submitted, it is recommended that European Regulatory Authorities require the resubmission of the complete filing, rather than allowing partial data with just the corrected facts. It is important to ensure that all amended instances are valid according to XBRL and the business rules defined.
CWA Advice: It is recommended that European Regulatory Authorities require reporters resubmit the full report, in the event of an amendment being required.
Instance syntax rules
- 2.1
@xml:base
XBRL processors interpret this attribute differently, and there is no semantic need for this attribute. XML-XBRL: The attribute xml:base may be inserted in XML documents to specify a base URI other than the base URI of the document or external entity.
CWA Advice: It is recommended that the attribute @xml:base not appear in any instance document. [EFM13, p. 6-7]
contextxmlDocument inv: self.element->select(xml:base)->isEmpty()
The taxonomy which is used by an XBRL report is identified by the URL(s) referenced by link:schemaRef elements. Although it is often convenient to work with local copies of the relevant taxonomies, it is important that link:schemaRef elements resolve to the published entrypoint locations. XBRL software typically provides functionality to “remap” references to URLs of published entrypoints to local copies of the taxonomy.
CWA Advice: It is required to have the link:schemaRef element resolve to the published entry point URL.
The element link:schemaRef can occur several times in an instance. Nevertheless, taxonomy authors will make sure that only a single entrypoint schema needs to be referenced to in the instance. This entrypoint will include all required data points. (See also 1.04)
CWA Advice: It is required to have only one xbrli:xbrl/link:schemaRef node in any XBRL instance document.
context Instance inv: self.SchemaReference->size() = 1
Entrypoints will be defined by means of a schema. There is no use for link:linkbaseRef.
CWA Advice: It is required that instances reference the taxonomies only by means of the link:schemaRef element.
Comments inside the instance that do not get reported as a fact will be ignored by the receiver. These comments clutter the instance and are of no use to the regulator. Some instance creator tools include the software identification as a XML comment.
CWA Advice: It is recommended that relevant data is only contained in contexts, units, schemaRefs and facts of an instance.
Context related rules
- 2.6
xbrli:xbrl/xbrli:context/@id
The id attribute is meant as a unique technical key within a XML document. Semantics conveyed in the id attribute will be lost when the XML content is stored in a database (which generally works with database specific subrogated keys). Even though there is no limitation on the length of an id attribute, it is recommended to keep it as short as possible.
CWA Advice: It is recommended to refrain from expressing semantics in the xbrli:context/@id node. - 2.7
Unused xbrli:xbrl/xbrli:context
Unused contexts (contexts which are not referred to by facts) clutter the instance and add no value to either regulator or reporter [GFM11, p. 12].
CWA Advice: It is recommended that unused xbrli:context nodes are not included in the instance. [FRIS04]
context Context inv: self.Fact.allInstances()->notEmpty()
The xbrli:identifier node combined with the @scheme allows the identification of the reporting entity by the receiver. The @scheme provides a URI which uniquely identifies the type of identifier used in the xbrli:identifier node.
CWA Advice: It is required to use a scheme that is prescribed by the receiving regulator. [GFM11, p. 11]
Example: <xbrli:identifier scheme="http://www.kredittilsynet.no">NO12345678</xbrli:identifier>
let schemeUrl : String = ‘http://www.kredittilsynet.no’ -- URL to be replaced context Context inv: self.Identifier.allInstances()->forAll(scheme = schemeURL)
In general, an instance will be reported for only one reporter. Even if the content of the instance deals with a group of companies, there is only one entity reporting the instance to the regulator. The DTS author can determine the number of reporters in an instance.
CWA Advice: It is recommended to have all xbrli:identifier content with its corresponding @scheme to be identical. [EFM13, p. 6-8]
context Context inv: self.Identifier.allInstances()->forAll(i1, i2| i1 = i2 implies i1.value = i2.value)
The xbrli:startDate, xbrli:endDate and xbrli:instant elements all have data type which is a union of the xs:date and xs:dateTime types. European regulators will only allow periods to be identified using whole days, specified without a timezone.
CWA Advice: It is required that all the xbrli:period date elements are valid against the xs:date data type, and that they are reported without a timezone. [GFM11, p. 16]
The extreme version of duration is 'forever'. The XBRL specification has created this to solve problems with dates starting 'at the beginning' and ending 'never'. E.g., the name of the filer has in general no end date. The regulator is only interested in type of data for the reported time segment that has a defined starting and ending date.
CWA Advice: It is not allowed to use xbrli:forever as a reporting period. [GFM11, p. 19]
context Context inv: self.Period.forever->isEmpty()
CWA Advice: Facts reporting information about an historic period shall be reported against the reporting period for the filing.
Example: in a fiscal year 2009 report a company describes litigation settled in fiscal year 2007. Nevertheless, the disclosure text should be in a context for fiscal 2009.
The dates defined in xbrli:instant or xbrli:startDate / xbrli:endDate should not exceed the first or the last day of the reporting period in a single instance, as required by the regulator.
CWA Advice: It is recommended that the periods defined in the contexts refer to the same reporting period.
Example: corrections on previous periods MAY be using a different (version of the) taxonomy to prevent possible conflicts with the receiving regulator
context Context inv: self.Period.allInstances()->forAll(p1, p2| p1 = p2 implies (p1.start = p2.start and p1.end = p2.end) or p1.instant = p2.instant)
The XBRL Dimensions specification allows taxonomies to specify dimensions for use within either the segment or the scenario of the context. For consistency reasons and simplification of processing, European taxonomy authors will only use the xbrli:scenario node.
CWA Advice: It is recommended that taxonomy publishers define all dimensions for use on xbrli:scenario.
context Context inv: self.DimensionalContainer.segment->isEmpty()
The xbrli:scenario or xbrli:segment element MUST NOT be used for anything other than for explicit or typed members. Custom reporter XML schema content may create problems with the regulatory system.
XML-XBRL: The XBRL specification allows xs:any content. This means that all XML schema content can be stored (not just XBRL Dimensions).
CWA Advice: If a xbrli:scenario (or xbrli:segment) element appears in a xbrli:context, then it is required for its children to be one or more xbrldi:explicitMember and/or xbrldi:typedMember elements, and not allowing any reporter custom content. [EFM13, p. 6-8]
Fact related rules
- 2.16
Duplicate facts
An instance document must not have duplicated fact items. Item X and item Y are duplicates if and only if all the following conditions apply:- 1. X is not identical to Y, and
- 2. the element local name of X is S-Equal to the element local name of Y, and
- 3. X and Y are defined in the same namespace, and
- 4. X is P-Equal to Y, and
- 5. X is C-Equal to Y, and
- 6. X is U-Equal to Y, and
- 7. X and Y are dimensionally equivalent (d-equal in all dimensions of each of X and Y), and
- 8. X and Y have S-Equal xml:lang attributes.
XML-XBRL: Duplicate facts are XML-XBRL syntax valid. However, the semantic meaning may be unclear.
CWA Advice: It is required to prohibit duplicated facts. [FRIS04],[EFM13, p. 6-10] - 2.17
@precision
CWA Advice: It is required to use @decimals as the only means for expressing precision on a fact. [EFM13, p. 6-12] - 2.18
@decimals
The @decimals is about the accuracy of the fact value. A positive value in @decimals means the number of accurate digits to the right of the decimal point. A negative value in @decimals means the number of non-accurate digits to the left of the decimal point. A value of INF in @decimals mean than all the digits are accurate. The XBRL processors use rounding conform to the IEEE Std 754 -2008 (4.3.1) for calculation linkbase and formula validation, which means round half to even. To enable XBRL Formulae calculations to be performed on instance values for validation purposes, no truncations or rounding or any other kind of change should apply to the numeric facts in the instance. See the explanatory RFC at http://www.xbrl.org/RFC/PDU/PWD-2008-10-09/PDU-RFC-PWD-2008-10-09.html. For XBRL Formula there is a function that can perform interval arithmetic if the formula creator desires so.
CWA Advice: The accuracy of a numeric fact is required to be expressed using @decimals, with no truncation, rounding or any change in the original fact value.
If the @decimals attribute of a numeric fact is not equal to “INF”, then the numeric fact is interpreted as interval arithmetic of the numeric fact ± 0.5(10 ^ -@decimals ). This rule is valuable when XBRL Formulas are used to validate the numeric facts. - 2.19
zero value, empty, nil value @xsi:nil
There is a difference in reporting facts with the value zero, not present or xsi:nil='true'. It is up to the regulator to determine the meaning of the different situations.
CWA Advice: It is required for the regulator to describe the meaning of the situation @xsi:nil="true", if this is allowed on reported concepts.
Data related to numeric based white cells could be reported with the according value, as zero or as absent. The table below shows the different possible solutions:zero value The value of the fact is "0". <p-cm-ca:CapitalRequirements decimal="0" unitRef="EUR" contextRef="ctx_1">0</p-cm-ca:CapitalRequirements> nil The regulator has to stipulate the meaning. <p-cm-ca:CapitalRequirements xsi:nil="true" unitRef="EUR" contextRef="ctx_1"></p-cm-ca:CapitalRequirements> No fact present. The value is unknown or inapplicable. The fact doesn't appear in the instance. - 2.20
@xml:lang
The language used on string based facts needs to be identified. This can be done by declaring the @xml:lang on the xbrli:xbrl element just once, or on every string based fact individually. No rules have been set for regulators allowing multiple language reportings (choices are to support all languages in a single instance or to require multiple, language based, instances). The preferred option is to have multiple languages in a single instance.
CWA Advice: It is required to have a clear policy to define the language for non numeric facts.
Unit related rules
- 2.21
Unused xbrli:xbrl/xbrli:unit
Unused units (units which are not referred to by facts) clutter the instance and add no value to either regulator or reporter.
CWA Advice: It is recommended to prevent unused xbrli:unit nodes to be present in the instance. [FRIS04]
context Unit inv: self.Fact.allInstances()->notEmpty()
XBRL International, Inc. has released a standard numeric data type registry which has a schema with numeric type declarations, and each numeric data type is associated with consistent unit declaration measures, numerators and denominators. Use of this registry that contains all the usual units facilitates implementation in software and simplifies validation. Link: XII UTR National supervisors that use units apart from UTR should apply for an integration of these units in this standardized registry of XBRL International Inc.
CWA Advice: It is recommended to have the xbrli:unit children referring to the XBRL International Unit Type Registry (UTR). [EFM13, p. 6-17]
Dealing with currency conversions in the reporting process increases the complexity of IT systems.
CWA Advice: It is recommended for national regulators to define one currency to be accepted for monetary values in instance documents.
Facts that represent amounts in any currency must be of an item that is derived from xbrli:monetaryItemType, and must thereby follow the restriction in XBRL 2.1, section 4.8.2, regarding monetaryItemType (i.e., unit measure is an ISO 4217 currency designation). Such facts may not have unit measures that express any scaling (which is covered by the @decimals attribute of the fact).
CWA Advice: It is required to have units representing currencies, to represent the actual physical value of these currencies.
context Instance inv: self.Unit->select(measure.substring(1, 7) = #iso4217)->size()=1
Footnote related rules
- 2.25
Footnotes
Footnotes can contain additional information on the facts reported. In European supervisory taxonomies all data requirements are reflected by data points reflected in concepts. Information contained in footnotes will not be handled by regulators. The usage of footnotes is only allowed for filing indicators.
CWA Advice: It is not recommended to communicate reporting related information in footnotes or any other resources.
Annex
Open discussions
The CWA1 is aware of a problem of processing very large XBRL instances by some computer systems. XBRL International has written a specification document [12] on the subject. However, since the ordering of XML nodes and duplication of content are both against the essence of the XML specification, no criteria can be given when an instance is too large and these large instances are the exception, the CWA1 has decided not to create rules enforcing such ordering and duplication.
For clarification to the reader and for those regulators that are dealing with these very large instances, CWA1 recommends that the regulator in question enforce rules on the instance creation in which the facts, the required context, and unit nodes are put in a sequence directly after one another in order to allow software to stream the instance and thus free up memory after the fact has been validated against the context and unit. For more details on these requirements, we recommend the XBRL International specification on the subject.
Bibliography
[1] [GFM11] Global Filing Manual (Interoperable Taxonomy Architecture Project)
[2] [EFM13] EDGAR Filer Manual U.S. Securities and Exchange Commission
[3] [FRIS04] Financial Reporting Instance Standards 1.0
[4] [Karl12] Karle, Thomas (2012): Kollaborative Softwareentwicklung auf Basis serviceorientierter Architekturen. Karlsruhe: KIT Scientific Publishing
[5] [SBR13] SBR FRIS rules 2013
[6] EIOPA: EU-wide Reporting Formats
[7] European Banking Authority
[8] Extensible Business Reporting Language (XBRL) 2.1, available at : http://www.xbrl.org/specification/xbrl-recommendation-2003-12-31+corrected-errata-2012-01-25.htm
[9] XBRL Dimensions 1.0, available at: http://www.xbrl.org/specification/dimensions/rec-2012-01-25/dimensions-rec-2006-09-18+corrected-errata-2012-01-25-clean.html
[10] XBRL Registry Specification 1.0, available at: http://www.xbrl.org/Specification/registry/REC-2009-06-22/registry-REC-2009-06-22.html
[11] XBRL Formula specification 1.0, available at: http://www.xbrl.org/Specification/formula/REC-2009-06-22/overview/Formula-Overview-REC-2009-06-22.rtf
[12] Notes on the Processing of Large XBRL Instances 1.0 at: http://www.xbrl.org/WGN/large-instance-processing/WGN-2012-10-31/large-instance-processing-WGN-WGN-2012-10-31.html