Skip to main content

Defining Hierarchies on Extension Sheet

When creating extension elements or adding new core taxonomy elements to the extension, you must be aware of the three structures into which the element is connected to: the presentation hierarchy, calculation hierarchy and the XBRL table structure. A referenced element row ("/**Ref" in column A) is never included in these hierarchies as it only defines additional information for other rows.

Only the elements which belong to an XBRL table will be connected to one. All elements do not belong to the calculation hierarchy either because they could not be summed up to anything. Every single element belongs to the presentation hierarchy.

 The presentation hierarchy is structured as a financial statement: there are captions (abstract elements) and the last item under the caption typically represents the total. In calculation hierarchy the summation is similar to Clausion chart of accounts. The summation items are multiplied by their weight (1 or -1) and summed up to their parent and the summation goes upwards in the tree.

The hierarchies are separated by linkroles just like in the ESEF Taxonomy. In the extension taxonomy, each linkrole typically represents one financial statement. An exception to this rule is the linkrole listing the mandatory elements which might be a clearly separate statement-like part or its contents could be dispersed across multiple entry sheets.

When creating a new linkrole for the report, first add a row to the Extension sheet table with ItemType "Linkrole". Write the same URI to the ElementName column which is used in the /**Extension literal on the Mapping sheet and after this a slash and a specifier for the linkrole. For example if we are creating a linkrole for the Statement of Financial Position, we could write "http://www.demogroup.com/dg/2022-12-31/StatementOfFinancialPosition" to the ElementName column. We then write the index number and name of the linkrole to the Lang column(s). The content in the Lang=en column could be for example "[1000] Statement of financial position, current/non-current". The purpose of the index number is to tell the order the linkroles. The order should follow the order of the statements in the XHTML report. A good practice is to give index 1000 for the first statement, 2000 for the second, 3000 for the third etc. Count of digits in the index number is not relevant.

The first row which is not empty and not commented on the Extension sheet should always be a Linkrole row. Every element listed after a linkrole definition row will end up in this linkrole unless another linkrole is started or the Extension sheet ends with at least three empty rows.

Each element in a linkrole will end up in the presentation hierarchy except the "/**Ref" rows. The structure of presentation hierarchy should follow the structure of the actual financial statement on the entry sheet. If a certain row is reported only for one year but not the other (e.g. statement of changes in equity) it must be included on the Extension sheet.

Captions in the statements are represented with abstract elements (ItemType Abstract). New abstract elements should never be created as extension elements. The same abstract element may be used only once in the same linkrole. However, the same abstract element can be used multiple times if its occurrences exist in separate linkroles. For example abstract "ifrs-full:OtherComprehensiveIncomeAbstract" could be used both on statement of comprehensive income and statement of changes in equity.

The reportable figures on lines of the financial statement are represented with numeric line item elements (ItemTypes MonetaryPerShareSharesPercentPureIntegerDecimal, and Area). There are also textual line item elements (ItemTypes TextTextBlockDateDuration) which are mostly used in the linkrole for mandatory elements. The rest of the ItemTypes are dimensional elements used in XBRL tables (ItemTypes TableAxisDomain, and Member).

In ClausionESEF Reporting Tool, the presentation, calculation and XBRL table hierarchies will be formed based on three columns on the Extension sheet: ElementNameWeight, and Parent.

In practice there are three ways to define columns Weight and Parent for an element:

  1. Weight is empty and Parent has element which is an abstract (e.g. "ifrs-full:AssetsAbstract")

  2. Weight is given and Parent has an element which is a numeric line item element (e.g. "ifrs-full:Assets")

  3. Weight is empty and Parent has a dimensional parent (e.g. "ifrs-full:StatementOfChangesInEquityAbstract")

In case 1 we have defined an item in the linkrole which does not belong to the calculation hierarchy and its presentation parent is the exact element defined in the Parent column. The element in Parent column is always abstract. This might be for example the case for the ultimate total row of the statement such as ElementName "ifrs-full:Assets" which would have its Parent defined as "ifrs-full:AssetsAbstract". See expanding section An example of the Statement of Financial Position in Extension sheet below.

In case 2 we have defined an item in the linkrole which belongs to the calculation hierarchy and it is summed up to the exact element defined in the Parent column. Its presentation parent is, however, any element with the same element name and ending "Abstract". If there are no similarly named abstract elements, the presentation parent of the calculation parent is used.

For example in case 2, if we have defined Weight "-1" and Parent "ifrs-full:ProfitLossFromOperatingActivities", the calculation relationship is formulated so that item on this row will be subtracted from the sum which should correspond to the value reported for the "ifrs-full:ProfitLossFromOperatingActivities" element. The presentation parent for this item will be resolved as "ifrs-full:ProfitLossFromOperatingActivitiesAbstract" (or "esef_cor:ProfitLossFromOperatingActivitiesAbstract"). An element with extension taxonomy prefix is also checked but there should not be any abstract extension elements defined. The order of this list shows the priority order with the "ifrs-full" prefix being of the highest priority. As there are no abstract element for profit/loss from operating activities, ESEF Reporting Tool will use the first presentation parent it finds by traversing the calculation parents further. Typically in this case the found presentation parent for current row will be "ifrs-full:ProfitLossAbstract" (ifrs-full:ProfitLossFromOperatingActivities → ifrs-full:ProfitLossBeforeTax → ifrs-full:ProfitLoss). See expanding section An example of the Income Statement in Extension sheet below.

Note that before ESEF Reporting Tool 21.12 it was mandatory to define abstract extension elements in certain cases (of case 2) such as on the income statement. It is advised that these rows are now removed. Other changes on the Extension sheet except removing the abstract extension rows is not required.

In case 3 both the element on the row and the Parent are dimensional elements. In a linkrole defining an XBRL table (Statement of Changes in Equity) the parent of Table is always Linkrole, parent of a line item is either Table or an abstract (or in special cases a line item), parent of an abstract is either an abstract or Table, parent of Axis is always Table, parent of Domain is always Axis and parent of Member is either Domain or Member. In other words, line items + abstracts (table rows) and Members (typically table columns) can form hierarchies with each other. See Defining Tables in ESEF Taxonomy.

When the default accounting balance of the element and its parent match (both are debit or both are credit), the weight must be 1 and when they do not match (other is debit, other credit), the weight must be -1. Sometimes there cannot be a balance defined for the line item element and the coefficient must be defined (solely) based on context in the statement.

 The same Abstract cannot be used more than once within the same linkrole.

An example of the Statement of Financial Position in Extension sheet

Example of the Statement of Financial Position in Extension sheet

ElementName

Weight

Parent

http://www.demogroup.com/dg/2022-12-31/StatementOfFinancialPosition

 

 

ifrs-full:StatementOfFinancialPositionAbstract

 

http://www.demogroup.com/dg/2022-12-31/StatementOfFinancialPosition

ifrs-full:AssetsAbstract

 

ifrs-full:StatementOfFinancialPositionAbstract

ifrs-full:NoncurrentAssetsAbstract

 

ifrs-full:AssetsAbstract

ifrs-full:PropertyPlantAndEquipment

1

ifrs-full:NoncurrentAssets

ifrs-full:Goodwill

1

ifrs-full:NoncurrentAssets

ifrs-full:IntangibleAssetsOtherThanGoodwill

1

ifrs-full:NoncurrentAssets

ifrs-full:DeferredTaxAssets

1

ifrs-full:NoncurrentAssets

ifrs-full:NoncurrentAssets

1

ifrs-full:Assets

ifrs-full:Assets

 

ifrs-full:AssetsAbstract

The above rows on Extension sheet will produce following presentation hierarchy:

ifrs-full:StatementOfFinancialPositionAbstract


ifrs-full:AssetsAbstract



ifrs-full:NoncurrentAssetsAbstract




ifrs-full:PropertyPlantAndEquipment




ifrs-full:Goodwill




ifrs-full:IntangibleAssetsOtherThanGoodwill




ifrs-full:DeferredTaxAssets



ifrs-full:NoncurrentAssets



ifrs-full:Assets

The rows will produce following calculation hierarchy:

ifrs-full:Assets =


1 * ifrs-full:NoncurrentAssets =



+ 1 * ifrs-full:PropertyPlantAndEquipment



+ 1 * ifrs-full:Goodwill



+ 1 * ifrs-full:IntangibleAssetsOtherThanGoodwill



+ 1 * ifrs-full:DeferredTaxAssets

An example of the Income Statement in Extension sheet

Note, the element "ifrs-full:StatementOfComprehensiveIncomeAbstract" is used as the root element as the income statement and statement of comprehensive income are reported in one statement. Were the statement really this short and separate from the statement of comprehensive income, the root element "ifrs-full:IncomeStatementAbstract" should be used instead.

Example of the Income Statement in Extension sheet

ElementName

Weight

Parent

http://www.demogroup.com/dg/2022-12-31/IncomeStatement

 

 

ifrs-full:IncomeStatementAbstract

 

http://www.demogroup.com/dg/2022-12-31/IncomeStatement

ifrs-full:ProfitLossAbstract

 

ifrs-full:IncomeStatementAbstract

ifrs-full:Revenue

1

ifrs-full:ProfitLossFromOperatingActivities

ifrs-full:DepreciationAndAmortisationExpense

-1

ifrs-full:ProfitLossFromOperatingActivities

ifrs-full:ProfitLossFromOperatingActivities

1

ifrs-full:ProfitLossBeforeTax

ifrs-full:FinanceIncome

1

ifrs-full:ProfitLossBeforeTax

ifrs-full:FinanceCosts

-1

ifrs-full:ProfitLossBeforeTax

ifrs-full:ProfitLossBeforeTax

1

ifrs-full:ProfitLoss

ifrs-full:IncomeTaxExpenseContinuingOperations

-1

ifrs-full:ProfitLoss

ifrs-full:ProfitLoss

 

ifrs-full:ProfitLossAbstract

The above rows on Extension sheet will produce following presentation hierarchy:

ifrs-full:IncomeStatementAbstract


ifrs-full:ProfitLossAbstract



ifrs-full:Revenue



ifrs-full:DepreciationAndAmortisationExpense



ifrs-full:ProfitLossFromOperatingActivities



ifrs-full:FinanceIncome



ifrs-full:FinanceCosts



ifrs-full:ProfitLossBeforeTax



ifrs-full:IncomeTaxExpenseContinuingOperations



ifrs-full:ProfitLoss

The rows will produce following calculation hierarchy:

ifrs-full:ProfitLoss =


+ 1 * ifrs-full:ProfitLossBeforeTax =



+ 1 * ifrs-full:ProfitLossFromOperatingActivities =




- 1 * ifrs-full:Revenue




- 1 * ifrs-full:DepreciationAndAmortisationExpense



+ 1 * ifrs-full:FinanceIncome



- 1 * ifrs-full:FinanceCosts


- 1 * ifrs-full:IncomeTaxExpenseContinuingOperations

Was this article helpful?

We're sorry to hear that.