• No results found

Here I would like to summarise textually and graphically the basic concepts used in this document.

N/A
N/A
Protected

Academic year: 2021

Share "Here I would like to summarise textually and graphically the basic concepts used in this document."

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Linking XBRL Contexts to manage Financial Reports

Massimo Coletti Version 2 - 29 August 2005 Copyright 2005, Massimo Coletti

Introduction

A complete financial report expressed using XBRL requires in many cases different

contexts in order to organize all the required information:

• a different context for every significant instant (period end, period start, previous

periods, etc.);

• one or more “duration” contexts; • one context for facts valid “forever”.

Moreover, XBRL standard doesn't constrain the context id, that can be freely coded by the instance creator.

When I need to load different instances, each of the eventually containing multiple contexts, in a single repository, and I want to process them obtaining a complete financial report, I find the problem of identifying the relevant context needed to build the correct report for the required period.

In this short note I try to describe some approaches to the problem.

Domain concepts

Here I would like to summarise textually and graphically the basic concepts used in this document.

The Financial Report conceptual model

Let's start with a description of the model that I have in mind:

• a Company issues one or more Financial Reports;

• a Company financial facts are related to a single Accounting Year, and a single

Reporting Period;

• a Accounting Year, for a given Company, can be divided in several reporting

periods, using different time frames (year half, quarter, month, decade, etc.);

• for a given reporting period, there may be one (and one only) previous period of

the same type;

• a financial Report issued by a Company reports fact related to one or more

different period;

(2)

• a Company may belong to a Group;

• a Group issues a consolidated Financial report;

• a Consolidated financial report is obtained by the aggregation of several Financial

reports issued by Companies belonging to the group.

This simple diagram summarises the scenario of Financial Reports production :

Keep in mind that, in this analysis, a Financial Report is not a “printed report”, but a simple disclosure of fact (identified within a single XBRL taxonomy schema) related to a single period. A printed report may mix those numbers with numbers from different period of the same (or different) year.

cd Conceptual Model «concept» Company «concept» Financial Report + version: «concept» Accounting Year «concept» Accounting Period + type: PeriodType + number: + start: date + end: date «enumeration» PeriodType + half-year: + year: + quarter: «concept» Group «concept»

Consolidated Financial Report

Name: Conceptual Model Author: M. Coletti Version: 1.0 Created: 24/08/2005 16.58.18 Updated: 24/08/2005 19.32.48 1 issues 1..* 1..*

{period is the same for all components} consolidation 1..* +component 1..* 1.. includes +period 1..* +year for Year 1 1..* 1 issues 1..* previous period

(3)

The XBRL Context element

The conceptual structure of an XBRL Concept is the following:

The problem

My problem is to find a standard way to link several XBRL instances required to have all the information for a Financial Report.

Additionally, I want to store all of those instances on a single repository, and keep track of the actual XBRL instances files from where each context was taken.

I would like to be able to say: “I must compute the Financial Statement for FY 2005, year-end facts come from context X, opening balances come from context Y, previous year closing balances from context Z, period movements from context K....”.

An example

As an example, consider the published figures from Reuters, at:

http://about.reuters.com/investors/results/archive/documents/xbrl_2005_interim_resu lts/reuters-2005-interims-xbrl.xml

In this XBRL Instance, reporting 1st half of 2005, we find context describing several

periods, and several kind of durations:

Year Period Start End Instant Context id

2004 H2 2004/07/01 2004/12/31 priorYear_H2 2004 Y 2004/01/01 priorYear_AsOfStart 2004 Y 2004/01/01 2004/12/31 priorYear cd Contects xbrl-instance-2003-12-31::context + «XSDattribute» id: ID xbrl-instance-2003-12-31:: contextPeriodType + instant: dateUnion + forever: forever xbrl-instance-2003-12-31:: contextEntityType + identifier: identifier xbrl-instance-2003-12-31:: contextScenarioType xbrl-instance-2003-12-31:: segment 1 +period 1 +entity 0..1 +scenario 0..1 +segment

(4)

Year Period Start End Instant Context id 2004 H1 2004/01/01 2004/06/30 priorPeriod 2004 H1 2004/06/30 priorPeriod_AsOfEnd 2004 Y 2004/12/31 priorYear_AsOfEnd 2005 Y 2005/01/01 currentYear_AsOfStart 2005 H1 2005/06/30 currentPeriod_AsOfEnd 2005 H1 2005/01/01 2005/06/30 currentPeriod

Ideas for an approach

My idea is to use the <scenario> element within the <context> element to store all the relevant information about the report.

Furthermore, i need to store the information describing the accounting periods of the Company, and keeps links between different, subsequent periods.

The context specification schema

The following diagram represent the logical schema of the elements required – at single context level – to describe the accounting period to which the context is related:

The diagram shows a top-level element (to be included in the <scenario> element, which

cd ContextData AccountingYear + yearURI: anyURI PeriodType + typeId: string Period + number: integer ContextSpecification + version: string

This schema includes only the minimum necessary set of attributes required to identify the accounting period to which the context is referred.

Links among different years and periods, as well as relationships among reporting entities are described outside this schema.

Name: ContextData Author: M. Coletti Version: 1.0

Created: 29/08/2005 16.00.50 Updated: 29/08/2005 16.37.52

(5)

is composed from an identifier of the accounting year and the specification of the accounting period.

A platform specific model – XML schema – was obtained from this logical diagram:

Representing the financial Year and periods

The first step is to have a representation of all the parameters defining a Financial/Accounting Year for the Company.

This representation could be an XML file, with an element for each year, and sub-elements with year start, year end, etc.

Also the sub-periods (quarter, half, etc.) relevant for the reporting purpose should be defined in the same file.

Maybe in the file, there should be a company identification using the same schema used in the <context> element of the XBRL instance.

Example

The following XML fragment is an example of the XBRL instance document from Reuters cited above, with one context element modified according to the proposed schema:

<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rtr="http://www.reuters.com/xbrl/reuters-2005-07-26" xmlns:caps="http://www.mcoletti.net/xbrl/2005/context-specification" xmlns:ifrs-gp="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15" xmlns:iso4217="http://www.xbrl.org/2003/iso4217"> <link:schemaRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="http://about.reuters.com/investors/results/archive/documents/xbrl_20 05_interim_results/reuters-2005-07-26.xsd"/> <link:schemaRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/restatedLabel.xsd"/> <link:schemaRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href=" http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-roles-cd XSD «XSDcomplexType» AccountingYear + yearURI: anyURI «XSDcomplexType» ContextSpecification + version: string «XSDcomplexType» Period

+ number: integer «XSDcomplexType»PeriodType + typeId: anyURI

(6)

2005-05-15.xsd"/> <xbrli:context id="currentPeriod"> <xbrli:entity> <xbrli:identifier scheme="http://www.londonstockexchange.com">RTR</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2005-01-01</xbrli:startDate> <xbrli:endDate>2005-06-30</xbrli:endDate> </xbrli:period> <xbrli:scenario> <caps:ContextSpecification version="3"> <caps:AccountingYear yearURI="http://www.reuters.com/example/accountingYears/2005"/> <caps:Period number="1"> <caps:periodType typeId="http://www.reuters.com/example/accounting-period-types/half"/> </caps:Period> </caps:ContextSpecification> </xbrli:scenario> </xbrli:context> </xbrli:xbrl>

In the example, the parts in red were added with respect to the original instance document.

We can see that the context “currentPeriod”, is related to the first period of type “half”, for the accounting year identified by “.../2005/”.

An external XML document could provide additional information, as an example that the previous period is identified by “..../2004”; in this way, a report generator could easily retrieve figures for the other relevant contexts.

Alternative solutions

Another approach would be to include the <ContextSpecification> element in the taxonomy, and include in the <scenario> element only an href to the id of the <ContextSpecification> element.

This solution appears to have some disadvantages:

– you should modify the taxonomy;

– the issues described below are not solved.

Open points

Redundant data

With the described architecture, at least two contexts exist for the same period:

• one with ”duration” period; • one with “instant” period.

According to this proposal, it is necessary to repeat the <ContextSpecification> element with the same information, for the two contexts.

(7)

Versioning

Some additional work is required around the “version” attribute:

• defining an ordering relationships, allowing the instance reader to understand

that version “3” supersedes version “2”;

• maybe additional information, such as the release date for the instance data.

Different contexts for the same period

Nothing allow us to understand that a context for instant 01-01-2005 is related to “beginning-of-accounting-period” while 30-06-2005 is related to “end-of-accounting-period”.

It is possible to add this information within <ContextSpecification> or in the external XML file describing accounting periods relationships.

Conclusions

This paper describes the problem of a standardization of context data in XBRL instances, for the purpose of describing the accounting periods of the reporting entity.

This paper suggest a possible approach, that is compliant to XBRL 2.1 and FRTA, and could be applied to existing taxonomies without the need of extensions.

The solution outlined in this papers allow the creation of a repository of XBRL instance data, where the contexts could be meaningfully linked together, in order to:

• find relevant contexts for consolidation; • find the contexts required for report building.

Copyright

This document is Copyright of Massimo Coletti, because it is a draft version. The final revision will be published under an open license.

Reuters and the Reuters sphere logo are registered trademarks or trademarks of the Reuters group of companies around the world.

XBRL™ is a trademark of the American Institute of Certified Public Accountants (“AICPA”)

References

Related documents