In this chapter, we look at XBRL reports. As before, the focus is on what can be done, not how it is done.
The report (instance document) contains facts and refers to a taxonomy to give facts a meaning:
Facts can be simple (item) or compound (tuple). All simple facts in a report have context, ex. fiscal year or the beginning of the reporting period. All used contexts are contained in the report itself.
Schematically, the composition of the report can be represented as follows:
In the following sections, we will look at the components of the report in more detail.
xbrl
The report contains various types of data:
A common container for all components of a report is the mandatory element xbrl
.
The report may contain some links to external resources.
The facts in the report are useless data without a taxonomy giving them meaning. Each report must refer to at least one taxonomy. The link should point to a taxonomy scheme.
The author of the report can add links to the base of links, which together taxonomy (or taxonomies) become part of the DTS (linked set of taxonomies, we discussed it earlier). Examples include additional definitions or references to concepts, their own versions of presentations or tags. The way a link is specified in a report is identical to that in the taxonomy.
The report may contain footnotes to the facts. If they use their own roles or arc roles, they should also be referenced.
To understand the facts presented in the report, they must have a context. The context presented in XBRL must contain the originator of the report, the reporting period and, if necessary, the script. The context must have an id
attribute that is used to reference it from the report elements.
The company, government agency or individual reporting entity; described in the context of the entity
attribute.
The report author must have a unique identifier that uniquely identifies it. This is provided by defining the schema and token , which is a valid identifier in the namespace referenced by the schema. An example is the stock tickers .
Optionally, the preparer may also have a segment
element for additional detail, for example. business unit within a large company or a territorial unit of a state organization. The specification does not give any guidance as to exactly how this element should be used - this is any XML expression that does not use XBRL syntax.
The period can be of two types - on the date (instant) and actually for the period (duration). In the second case, you can either explicitly set the beginning and end of the period, or specify all time (forever).
Note: The end date always follows the start date. If the date is specified without time, it is automatically set to midnight. For the beginning of the period it will be the beginning of the specified day, and for the end of the period - the end of the specified day (but technically it will be midnight of the next day).
The report may optionally define in the context of a scenario indicating the type of reporting data, for example. planned, actual, or corrected. The script describes the circumstances of the calculation of the reporting data.
The specification does not give any guidance as to exactly how this element should be used - this is any XML expression that does not use XBRL syntax.
Numeric values should have a unit of measure that provides the ability to interpret them. Each unit of measurement used in the report must be defined by a separate element inside the root element xbrl
.
A unit of measurement contains a single unit, a product, or a ratio of units, for example. RUB, kilogram or square meter.
Each unit of measure must have an id
attribute used to refer to it within the report.
A fact (item) is a separate value that is transmitted as reporting data. A fact cannot contain other facts; for such cases, tuples of facts are used (see below).
The fact value can be either numeric or non-numeric. In addition to the value itself, the fact also contains additional data.
Each fact in the report should refer to the context by specifying its id
. The type of the reporting period used in calculating the fact must match the type of the reporting period in the context:
startDate
(beginning of the period) and endDate
(end of the period) attributes, or have the value forever
(for all time).Numeric facts should refer to the unit of measurement by specifying its id
.
Numeric facts must contain either precision ( precision
) or decimal digits ( decimals
). This is important when comparing values, as well as when performing calculations, especially when rounding and truncation.
The precision
attribute indicates the number of significant characters of a fact (up to the decimal separator). The decimals
attribute indicates the precision of the value in the number of characters after the decimal separator. These attributes are mutually exclusive, i.e. It is unacceptable to use both of them in the same fact.
Theprecision
attribute is determined automatically when thedecimals
attribute isdecimals
. The XBRL specification gives the exact rules for this definition. She also gives examples of how to read these attributes.
Most facts exist independently of each other. They are defined by individual elements under the root element xbrl
. When the meaning of facts is revealed only in view of their interconnection, tuples are used to combine facts into connected sets. An example is the name and position of a manager.
Tuples combine facts, and both facts and other tuples can be used as elements of a tuple. The tuple itself cannot refer to a context or unit of measure. Also, it cannot have attributes like period type ( periodType
) and balance ( balance
).
Facts are transmitted independently; tuples allow collecting facts into a related structure. Other, less structured links between facts and additional data to them can be identified using footnotes.
Footnotes are additional data to facts and links to them that exist only within the report. Footnotes are used to reference footnotes
. The footnote itself contains the text and must have a language label.
To compare facts or facts tuples, several forms of equality can matter:
The XBRL specification contains a large table that defines exactly how each form of equality should apply to different types of arguments, such as nodes, attributes, report writers, etc.
Source: https://habr.com/ru/post/333896/