Working With the IFRS for SME Taxonomy

The following message just came in to the Gepsio Facebook page:

Hello, I am a student and I am writing a simple XBRL application for my thesis. I am new at XBRL and I have some questions and I thought maybe you could help me.

I want to create an XBRL instance document using IFRS SME taxonomy. My first question is – do I have to create my own XBRL schema or can I just connect my instance document with the official IFRS taxonomy file? If so how does it connect to calculation and presentation linkbases? I don’t see any references in IFRS .xsd file. In the example provided by the organisation they created schema for the example, as well as presentation/calculation/definition/label xml files. Do I have to do the same? What is the point of using the official taxonomy If I have to create everything myself? I thought that I create my own files only when I want to extend the existing taxonomy.

And when I finally create my own xbrl file can I validate it with gepsio? Or does it only allow me to parse the XBRL file and get all it’s elements but later I have to validate it myself?

Thank you very much for any help. If you don’t have time to answer me maybe you can point me to someone/some place where I can find answers. I am trying to find answers in the internet but for someone who is just starting with XBRL it is very confusing.

Let’s start with a quick review of a couple of terms before answering the questions.

IFRS stands for International Financial Reporting Standards.  The IFRS Foundation is an independent, not-for-profit organization working in the public interest. Their primary mission is to develop a single set of high quality, understandable, enforceable and globally accepted International Financial Reporting Standards (IFRS) based upon clearly articulated principles. The organization maintains a Web site here.

SME stands for Small and Medium-Sized Entities. SMEs do not need to worry about certain reporting concepts, such as earnings per share, interim financial reporting, and segment reporting. SMEs also do not typically need an option to revalue property, equipment, or intangibles. The IFRS believes that about 95% of the companies around the world fall into this category. The IFRS maintains a Web site for SMEs here.

Back to the questions:

do I have to create my own XBRL schema or can I just connect my instance document with the official IFRS taxonomy file?

You will probably want to create your own schema file (a standard XSD file) and import the IFRS for SME schema into your schema file. The IFRS publishes the IFRS for SME schema at http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs_for_smes_entry_point_2014-03-05.xsd, and recommends a namespace of ifrs-smes. You should be able to import it from within your own project’s schema. Your project’s schema will look something like this:

<xsd:schema ... xmlns:ifrs-smes="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-smes">
    <xsd:import
        namespace="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-smes"
        schemaLocation="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs_for_smes_entry_point_2014-03-05.xsd" />
    ...
</xsd:schema>

Your XBRL instance could import the IFRS for SME schema directly, but creating your own schema file gives you a place to import additional schemas, should your project need to do so later on. Your XBRL instance will reference your schema, which will import the IFRS for SME schema as shown above.

If so how does it connect to calculation and presentation linkbases?

The linkbases are referenced in a schema as well. If you will be creating your own schema, as recommended above, then you already have a place to put these additional references. Linkbase references of any kind are placed in the <appinfo> section of a schema file and are referenced with a <linkbaseRef> element. Here is a real-world example:

<xsd:schema
    targetNamespace="http://www.aigcorporate.com/20130630"
    attributeFormDefault="unqualified"
    elementFormDefault="qualified"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:aig="http://www.aigcorporate.com/20130630"
    xmlns:us-gaap="http://fasb.org/us-gaap/2012-01-31"
    xmlns:us-roles="http://fasb.org/us-roles/2012-01-31"
    xmlns:ref="http://www.xbrl.org/2006/ref"
    xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
    xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric"
    xmlns:xl="http://www.xbrl.org/2003/XLink"
    xmlns:us-gaap-att="http://xbrl.us/us-gaap/attributes"
    xmlns:currency="http://xbrl.sec.gov/currency/2012-01-31"
    xmlns:link="http://www.xbrl.org/2003/linkbase"
    xmlns:invest="http://xbrl.sec.gov/invest/2012-01-31"
    xmlns:num="http://www.xbrl.org/dtr/type/numeric"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:country="http://xbrl.sec.gov/country/2012-01-31"
    xmlns:us-types="http://fasb.org/us-types/2012-01-31"
    xmlns:negated="http://www.xbrl.org/2009/role/negated"
    xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31"
    xmlns:attributeFormDefault="unqualified"
    xmlns:dei="http://xbrl.sec.gov/dei/2012-01-31"
    xmlns:xbrli="http://www.xbrl.org/2003/instance"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
    <xsd:annotation>
        <xsd:appinfo>
            <link:linkbaseRef
                xlink:type="simple"
                xlink:href="aig-20130630_pre.xml"
                xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"
                xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"
            />
            <link:linkbaseRef
                xlink:type="simple"
                xlink:href="aig-20130630_cal.xml"
                xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"
                xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"
            />
            <link:linkbaseRef
                xlink:type="simple"
                xlink:href="aig-20130630_def.xml"
                xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef"
                xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"
            />
            <link:linkbaseRef
                xlink:type="simple"
                xlink:href="aig-20130630_lab.xml"
                xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
                xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"
            />

Combining this answer with the previous answer, you should create a schema that will reference any linkbases you might want and will import the IFRS for SME schema, like this:

<xsd:schema ... xmlns:ifrs-smes="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-smes" ...>
    <xsd:annotation>
        <xsd:appinfo>
            <!-- linkbase references go here -->
        </xsd:appinfo>
    </xsd:annotation>
    <xsd:import
        namespace="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-smes"
        schemaLocation="http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs_for_smes_entry_point_2014-03-05.xsd" />
    ...
</xsd:schema>

Do I have to do the same? What is the point of using the official taxonomy If I have to create everything myself? I thought that I create my own files only when I want to extend the existing taxonomy.

You’re not creating your own schema to rebuild everything from scratch. You’re creating your own schema to pull all of these references together into a single package. Your schema simply becomes a “container” for all of these import statements and references. You don’t need to go through the work of redefining everything that these documents already define; instead, you can simply reference the work that has already been done by others. Your schema imports these items to leverage the existing work.

And when I finally create my own xbrl file can I validate it with gepsio? Or does it only allow me to parse the XBRL file and get all it’s elements but later I have to validate it myself?

Gepsio reads, and validates, XBRL. It reads the XBRL in as standard XML, and then applies all of the semantic rules defined by XBRL to ensure that what was imported is valid, not only according to XML standards, but also to all of the semantics defined by the XBRL specification. No, you won’t have to validate the XBRL yourself. Gepsio does all of that and reports on any validation errors that it finds.

Advertisements