Software to Create XBRL Instance Documents Thanks to Dr. Maureen Mascha, Marquette University, Dr. Rajendra Srivastava, University of Kansas, Dr. Clifton White, University of Delaware, Ernst & Young, LLP, Greg Buttery (Iowa State University), Breanne Kruger (Iowa State University), Leslie Pease (Iowa State University) and XBRL.org for assistance with material preparation.
Outline Definition and Value of XBRL Current and Future Reporting Process XBRL Consortium and Evolution of XBRL Technical Details – XML and XBRL XBRL Framework – Instance Documents & Taxonomy XBRL Progress & Challenges
Graph of Cash Flows for Cigna for Ten Years
Comparison of Cash Flows for Two Companies
XBRL Definition* XBRL is the specification for the eXtensible Business Reporting Language. XBRL allows software vendors, programmers and end users to enhance the creation, exchange, and comparison of business reporting information. Business reporting includes, but is not limited to, financial statements, financial information, non-financial information and regulatory filings such as annual and quarterly financial statements. XBRL defines a syntax in which a fact can be reported as the value of a well defined reporting concept within a particular context. The syntax enables software to efficiently and reliably find, extract and interpret those facts. The XBRL framework splits business reporting information into two components: XBRL instances and taxonomies. * The above definition is provided by XBRL.org in “Extensible Business Reporting Language (XBRL) 2.1 RECOMMENDATION - 2003-12-31 + Corrected Errata - 2005-04-25.”
Key Terms Standard Taxonomy Extension Taxonomy Instance Document Dictionary of XBRL tags adopted by regulatory body Extension Taxonomy XBRL tags developed by financial statement provider to extend standard taxonomy Instance Document Financial statements with XBRL tags; can be read by XBRL/XML rendering (reader) software
Value of XBRL Processing, analyzing, and disseminating information become much more efficient and effective (Better, Faster & Cheaper) Improves effectiveness by eliminating the need for re-entering data for processing Improves efficiency by removing redundancies Disseminates information independent of platform Transparency of information Makes it easy to use automated analytical tools
Browsing the Web (Content – without Context) 4,350 hits for IBM’s property plant and equipment
Current Reporting Process Rework and Delays Ad hoc and non repeatable Processes Printed Financials Internal Reports Regulatory Filings Accounting System Web Site Explanatory Text Tax Return Third Party Information Trade Filings
XBRL Reporting Process Reduces redundancies & discrepancies Repeatable processes using tools Printed Financials XBRL Documents Internal Reports Regulatory Filings Accounting System Web Site Explanatory Text Tax Return Third Party Information Trade Filings
Accounting Corporate HQ Primary Use Cases Operating Divisions Information Accounting Corporate HQ Regulators Regulator Filings Financial Statements Earnings Releases Sharing Lenders Easily Investors More Specific Uses -External Auditors -Data Intermediaries -Others Tagging can occur
XBRL Information Chain XBRL GL and XBRL for Business Processes XBRL for Financial Statements XBRL for Regulatory Filings Internal External Investment Business Operation Financial Financial and Lending Reporting Reporting Analysis Business Processes XBRL for Audit XBRL for Schedules Tax Filings Financial Publishers Companies Investors Participants Participants and Data Aggregators Trading Management Auditors Regulators Partners Accountants Software Vendors
The XBRL Organization: XBRL Consortium (www.xbrl.org) XBRL International A not-for-profit organization consisting of more than 300 members at the present time. Organizational Structure Comprised of local jurisdictions which represent countries, regions or international bodies and focus on the progress of XBRL in their areas as well as contributing to international development.
Evolution of XBRL: A Historical Perspective April 1998: Charles Hoffman, CPA, investigated the use of eXtensible Markup Language (XML) for the electronic reporting of financial information in the USA for the first time. October 1998: AICPA decided to fund a project aimed at creating a prototype set of financial statements in XML. January 1999: Based on the prototype financial statements, the AICPA was convinced that XML was important to the accounting profession. July 1999: The project to develop eXtensible Financial Reporting Markup Language (XFRML) was funded by The AICPA Board of Directors This marks the conception of XBRL XFRML is a predecessor of XBRL XFRML focused on just reporting of financial information, where as XBRL focused on reporting all business relevant information
Evolution of XBRL: A Historical Perspective August 1999: 12 companies, (besides the AICPA), including ‘Big 5’ joined the project as members of the XFRML Steering Committee. October 1999: First meeting of the XFRML Steering Committee. April 2000: XFRML Steering Committee was officially changed to XBRL Steering Committee. July 2000: First specification of the XBRL Taxonomy for Financial Statements for the commercial and industrial U.S. companies. November 2001: The second specification of the XBRL was released for public comment (see at http://www.xbrl.org for details). April 2002: International Accounting Standards Board (IASB) released a core taxonomy of XBRL for Financial Statements (IASC 2001). December 2003: XBRL Specification 2.1 was approved and released by International Steering Committee of XBRL International.
Evolution of XBRL: A Historical Perspective April 2004: Revised XBRL Specification 2.1 was released by International Steering Committee of XBRL International. April 2005: SEC XBRL Voluntary Financial Reporting Program (VFRP) January 2006: SEC announces expedited reviews for XBRL filers September 2007: SEC signs contract for $5 million with XBRL US to develop US GAAP Taxonomies with financial notes and $45 to replace EDGAR with IDEA March 2008: XBRL US releases US GAAP Taxonomies with financial notes August 2008: SEC announces IDEA December 2008: SEC approves XBRL mandate
XBRL First Adopters: ‘Mega’ Users of Company Financial Data Types of Entities Regulators (e.g. FDIC, APRA, CSSF,..) Global Financial Services (e.g. Deutsche Bank, B of A) Market Analysts (e.g. MS) Stock Exchanges (e.g. NASDAQ,Tokyo, ..) Data Intermediaries (e.g. EOL, Reuters, ..) Australian Prudential Regulatory Authority (APRA) Usage/Motivation Internal - Reduce Costs, Improve Effectiveness Internal & External External - Create/Expand Revenue Stream External - Expand Revenue Stream Collect financial statements from more than 12,000 Super Funds
HTML, XML, and XBRL HTML stands for Hyper Text Markup Language. XML stands for EXtensible Markup Language. HTML was designed to display data and to focus on how data looks on the Web. XML was designed to describe and structure data, and to focus on what data is, i.e., XML is about describing information. XBRL is an XML Derivative. It is a global e-business language for supply chain management and business and financial reporting.
Technical Specification of HTML HTML has fixed number of predefined tags related to how text and other elements are to be displayed on the Web Names and Contents of Tags in HTML Names are encased in angle brackets such as: <b> for bold The contents are usually written between the opening tag such as “<b>”and the correspond closing tag </b> The data displayed are stored inside the HTML document Examples: <b>This is bold</b>, <i>This is italics</i> The web Browser will display as: This is bold This is italics
Names and Contents of XML Tags In XML, data can be stored in separate XML files. Thus, the same data file can be used for displaying in different formats XML tags are not predefined. Users define them For example: <name>Cy Clone</name> “name” enclosed between “<“ and “>” is the tag for name and represents the opening tag and “</name>” represents the corresponding closing tag. The content of the element <name> is “Cy Clone”, which is enclosed between the opening tag and closing tag
XML Name Restrictions for Elements Names must starts with a letter or a underscore “_”. Names can contain any combination of letters, numbers, underscores “_”, dashes “-”, or periods “.” Names must not contain any other characters. Names must not start with letters xml (or XML or Xml ..). Names cannot contain spaces. All elements names (tags) are case sensitive, e.g., <name> and <Name> are two different elements (tags).
XML Example of a customer list <?xml version = “1.0”?> <customerList> <name>Cy Clone</name> <street>525 Lincoln Way</street> <city>Ames</city> <state>Iowa</state> <zip>50014</zip> <country>USA</country> </customerList>
XML Syntax The first line <?xml version = “1.0”?> in the document is the XML declaration. It defines the XML version of the document. The next line <customerList> describes the root element of the document. There can be only one root element in an XML document. An element may contain other elements, e.g., The element <customerList> contains other elements such as <name>, <street>, etc.
XML Syntax If an element has no content, say <zip>, then it can be expressed as: either <zip></zip> Or <zip/> All tags must be properly nested. Elements are related as parent/child and siblings. <customerList> is parent of <name>, <street>, and other elements <name>, <street>, <city> are siblings.
XML Syntax - Attributes Elements may have additional information associated with them. This additional information can be expressed as attributes of the element Attributes must be included next to the name of the element in the opening tag. An element can have multiple attributes written one after the other with no significance attached to the order. The value of the attribute is written within quotes, using either single or double quotes. Instead of using attribute one can create a new element and use that to create the XML document. For example, the above information can be put in the following ways without using attributes: <customerList> <name>Joe Curious</name> <sex>male</sex> <customer_id>55</customer_id> <street>525 Station Road</street> <city>Lawrence</city> <state>Kansas</state> <zip>66047</zip> <country>USA</country> </customerList>
XML Attributes – An Example <customerList> <name sex=“male” customer_id=“55”> Cy Clone</name> <street>525 Lincoln Way</street> <city>Ames</city> <state>Iowa</state> <zip>50014</zip> <country>USA</country> </customerList>
An Alternative to Attribute <customerList> <name>Cy Clone</name> <sex>male</sex> <customer_id>55</customer_id> <street>525 Lincoln Way</street> <city>Ames</city> <state>Iowa</state> <zip>50014</zip> <country>USA</country> </customerList> Instead of using attribute one can create a new element and use that to create the XML document. For example, the previous information can be put in the form as given in the above slide.
XML Schema XBRL uses XML Schema to define elements, attributes, and the type of content (value) of an element allowed in the document XML Schema defines the elements, their attributes, relationships, and the type of contents XML Schema describes the vocabulary of an XML document A single XML document may use multiple XML Schemas, i.e., multiple vocabularies Technically, A Schema is the organization or structure of a database described by a controlled vocabulary. I is made up of 2 basic parts: Data-types and Structures. There are two distinct types of markup in a schema: Definitions and Declarations.
XML Namespaces Namespaces are used to distinguish between two or more distinct XML Schemas (XML Vocabularies) Why use namespaces? It allows one to use more than one vocabulary in a single XML document. Example Vocabulary 1 (one XML Schema): <name sex=“male” customer_id=“55”>Cy Clone</name> <street>525 Lincoln Way</street> <city>Ames</city> <state>Iowa</state> <zip>50014</zip> <country>USA</country> Vocabulary 2 (another XML Schema): <name sex=“female” customer_id=“56”>Jo Clone</name> <address>325 Duff Avenue, Ames, IA, 50014, USA</address>
XML Namespaces Namespaces are declared as special namespace attributes, e.g., xmlns:prefix=“namespace name”. Prefix is used as short form of the namespace name in an XML document Traditionally a namespace name is expressed as: xmlns:prefix=“http://www.somename.com/xyz1” Example <customerList xmlns:v1=“http://www.Cyberry.com/schema1” xmlns:v2=“http://www.Cyberry.com/schema2”> <v1:name sex=“male” customer_id=“55”>Cy Clone</v1:name> <v1:street>525 Lincoln Way</v1:street> <v1:city>Ames</v1:city> <v1:state>Iowa</v1:state> <v1:zip>50014</v1;zip> <v1:country>USA</v1:country> <v1:name sex=“female” customer_id=“56”>Jo Clone</v1:name> <v2:address>325 Duff Avenue, Ames, IA, 50014, USA</v2:address> </customerList>
Anatomy of an XBRL Taxonomy XBRL Framework Schema.xsd Linkbases.xml Label Reference Presentation Calculation Footnote Footnote Definition
Anatomy of an XBRL Taxonomy-Schema According to XBRL 2.1 Specification released by XBRL International: “A taxonomy is defined as an XML Schema and the set of directly referenced extended links and any extended links that are nested within the XML Schema.” In other words: A Taxonomy is made up of a group of interrelated XML files: XML Schema File (.xds file) and Linkbase Files (.xml files) XML Schema The XBRL taxonomy schema file defines the actual concepts (elements) that form the basis of a taxonomy. It stores their names, data types, period type, how they can be utilized, etc. The properties of schema elements are defined in the XBRL 2.1 Specification.
Anatomy of an XBRL Taxonomy - Linkbase Files An XBRL linkbase file contains the explicit relationship definitions between the concepts defined in the XBRL schema. In general there are six linkbase types defined by the XBRL version 2.1 specification: The label linkbase allows the user to attach labels with different roles and languages to a given concept. The reference linkbase allows the user to attach external information (authoritative sources) to concepts. The presentation linkbase defines how concepts are nested and ordered. The calculation linkbase defines how values of concepts should, for example, sum up from one to another. The definition linkbase allows the user to define additional semantics and relationships. The footnote linkbase allows the user to relate a footnote description to a concept Added MFS
Naming Taxonomy Element XBRL naming conventions follow XML convention. Names must start with a letter or a underscore “_”. Names can contain any combination of letters, numbers, underscores “_”, dashes “-”, or periods “.” Names must not contain any other characters. Names must not start with letters xml (or XML or Xml ..). Names cannot contain spaces. Names (tags) are case sensitive. Each name within a taxonomy must be unique and must start with an alpha character or the underscore character. Element names should not be interpreted as containing a "hierarchical" structure Taxonomy structure is expressed in the XBRL linkbases
US Financial Reporting Taxonomy Structure Commercial & Industrial (us-gaap-ci) Primary Terms Relationships (usfr-ptr) Management Report (usfr-mr) Accountants Report (usfr-ar) SEC Certification (usfr-seccert) Financial Service Terms Relationships (usfr-fstr) Banking and Savings Institutions (us-gaap-basi) Insurance Entities (us-gaap-ins) Investment Management (us-gaap-im) Company Extension Instance Document MD&A (usfr-mda) Primary Terms Elements (usfr-pte) Financial Service Terms Elements (usfr-fste) Investment Management Elements (usfr-ime) MFS - Current USGAAP Taxonomy Framework US GAAP CI: over 1,500 unique, individually identified pieces of information, and IAS-PFS has over 800 such items.
Anatomy of an XBRL Taxonomy - XBRL Schema Element, Attributes, and Linkbase Examples There are several basic attributes of an XBRL element that provide the detail about them. In the example below, “CashCashEquivalents” has a unique element name which also identifies its source taxonomy, a data type (monetary), balance type (debit), and a period type (instant) which defines how it is reported at a given instant or duration. Attribute Example Usfr-pte:CashCashEquivalents Monetary/String, etc. Debit/Credit Instant/Duration XBRL Name Data Type Balance Type Period Type Basic Element Attributes Added MFS
Anatomy of an XBRL Taxonomy - XBRL Schema Element, Attributes, and Linkbase Examples In addition to the basic attributes, each element has a set of defined relationships with the taxonomy linkbases. In the example below, “CashCashEquivalents” has a human readable label, a reference to authoritative literature (SEC), a presentation hierarchy and a calculation summation. Name : SEC Regulation S-X Rule Number : 7 Chapter : 3 Paragraph : 2 Relationships To O ther Elements & Information (Linkbases) Calculation Presentation Reference Total Current Assets = Cash and Cash Equivalents + Accounts Receivable Trade, Net + Inventories, Net + … Cash and Cash Equivalent Accounts Receivable Trade, Net Inventories, Net Total Current Assets Label e.g., “Cash and Cash Equivalents” Linkbase Example Added MFS
Anatomy of an XBRL Instance Document Tagged Value: The main function of the instance document is to store financial data tagged with elements from a referenced taxonomy (containing element definitions and Meta data) for reporting. Instance Component Tagged Value Cash and cash Equivalents : US$ 575,000,000 (1) Example XBRL Name, i.e., Tag Usfr-pte:CashCashEquivalents Added MFS Unit: An instance document contains a unit for each type of measured data tagged. Currencies and shares are the most common examples of Units of measure in Financial Reporting. ID USD Measure $ , Shares etc. UNIT Example Attribute
Anatomy of an XBRL Instance Document Precision or Decimal are used on numeric values. In this example, a Precision of 9 is given. This means that the first 9 digits, counting from the left, starting at the first non-zero digit of the value are known to be trustworthy for the purposes of computations to be performed using that numeric fact. A Decimal of 2 would indicate that the value of the numeric fact is known to be correct to 2 decimal places. Precision Or Decimal: Precision = 9, Decimal = 2 Example Contexts: Every piece of financial data in an instance document must be associated with a context. A context provides additional meta data, particularly the period it is reported in. In addition, each context can also provide Segment (Ex. Business Unit or Revenue Center) and Scenario (Additional information Ex. Restated, Unaudited, etc.) information. Added MFS Contexts Scenario Segment Period Audited, Pro-forma, Restated Financial Printing, Outsourcing etc. Instant: As of 31-12-2004 Attribute Example
Anatomy of an XBRL Instance Document: Footnotes Footnote Link: Footnote Links allow for the creation of structured text annotations between facts. Footnote Link: Example (1) Cash and Cash Equivalents-All highly liquid investments with original maturities of three months or less at date of purchase are carried at cost plus accrued interest, which approximates fair value, and are considered to be cash equivalents. All other investments not considered to be cash equivalents are separately categorized as investments.
Anatomy of XBRL - Extending a taxonomy One of the most powerful and versatile aspects of XBRL is taxonomy extensibility. This allows a taxonomy to reference other taxonomies and define its own set of relationships and information (presentation, calculation, labels, etc.) around those taxonomies, in addition to adding new unique elements in the extension schema itself. The underlying or referenced taxonomies remain unaltered; the entity extending the taxonomy simply provides its own views of the taxonomy information in order to personalize the data; while the referenced taxonomy elements remain the same, the labels, presentation hierarchy and calculation summations are extended to meet an entities needs. For example, an entity may wish to add an element not found in the referenced taxonomy that is unique to that entity. Or, they may wish to extend the label of a referenced element to meet their own particular financial reporting needs. This powerful feature ensures user defined flexibility while maintaining comparability.
Anatomy of XBRL - Consuming an XBRL Instance Document Using XBRL enabled software a user accesses an entity’s Instance Document through the internet. The Instance Document references the entity’s Extension Taxonomy which contains information and relationships specific to that entity. Once an XBRL Instance Document and Extension Taxonomy are created, they can then be securely located on the internet or an intranet for consumption. In the example below, an end user accesses the Instance Document via the internet. Once the Instance Document is loaded in the XBRL enabled software, the information will be analyzed, compared and rendered using a variety of methods. The entity Extension Taxonomy references a Public Taxonomy and extends it. The Entity Instance Document, Extension Taxonomy and Public Taxonomy reference the XBRL Technical Specification Schema for compliance with the 2.1 specification.
Balance Sheet: Taxonomy Element and Instance Data Reporting period December 31 2004 2003 ASSETS US$000,000 Current Assets: Cash and Cash Equivalents (1) $634 $575 Accounts receivable, less allowance for doubtful accounts of $88 and $80 2,101 1,804 Inventories 1,515 1,374 Total current assets $4,250 $3,753 Unit of Measure Taxonomy Element Taxonomy Schema Snippet <element id="usfr-pte_CashCashEquivalents" name="Cash and Cash Equivalent" type="xbrl:monetaryItemType" substitutionGroup="xbrli:Item" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" /> Instance Document Snippet <usfr-pte:CashCashEquivalents contextRef=“Y-2003" unitRef="U-Monetary“ decimals="0"> 575000000 </usfr-pte:CashCashEquivalents> Instance value
Steps to Create Instance Document Start with Excel spreadsheet Create entity profile (company name, default taxonomy, etc.) Create calendar period Tag financial items Validate tags, export to XBRL instance document
Stand alone XBRL Software Dragon Tag - Rivet XWand - Fujutsu Spider Monkey – Core Filing True North – Decision Soft Intelligent Financial Systems – Core Filing FRx 6.7 - Microsoft UB Matrix – UB Matrix
Dragon Tag Set-up Dragon Tag is an add-in product that directly interfaces with MS Office products ("drag-and-tag"). Preparer interface Most of the work takes place within the Profile Pane. Installation If preparers have both the .NET Framework 1.1 and .NET Framework 2.0 installed on their computers, they need to download and manually patch the software before operating Dragon Tag 1.5. Financial statement interface Balance Sheet and Income Statement elements were added in the same pane, giving better continuity for preparers. Inputting repetitive data Dragon Tag does not require preparer to create repetitive entries. Instead, a "hopper" entry is created and used throughout the tagging process. Taxonomy interface Dragon Tag allows preparers to create taxonomy directly without specifying setting types if appropriate. Interface to tag values Drag and drop process of tagging values. Selecting standard taxonomy To find tags in selected taxonomy, preparer clicks through several categories. Categories are fairly unique. Target market Dragon Tag appears to be product for smaller firms who prepare their financial statements from smaller accounting packages and export them into Word or Excel format.
XWand Requires Sun Java to work. Standalone product Set-up Requires Sun Java to work. Standalone product Preparer interface Uses several panes with somewhat similar (and therefore confusing) functionality Installation No issues noted Financial statement interface Balance Sheet and Income Statement elements were added separately; a repetitive and tedious task Inputting repetitive data Repetitive data has to be added into multiple filed (i.e. calculation link, presentation link, etc.) Taxonomy interface Detailed settings available Interface to tag values Each value to be tagged must be manually inputted Selecting standard taxonomy To find tags in selected taxonomy, preparer clicks through several categories. Categories are fairly unique. Target market More rich JAVA product that can be packaged with a larger erp system
Spider Monkey – Core Filing Set-up Written in JAVA and can be used on most common systems Preparer interface Most of the work takes place in two panes Installation No installation issues noted Financial statement interface Does not produce financial statements – needs Intelligent Financial Statement to generate financial statement user interface Inputting repetitive data Repetitive data has into multiple fields Taxonomony interface Creates taxonomy directly without specifying setting types if appropriate Interface to tag values Each value to be tagged needs to be manually inputted. Selecting standard taxonomy User can write taxonomies and download and modify existing taxonomies Target market Gives ability for users to modify and work on taxonomy simultaneously. Needs True North for validation function
FRx Connects with most GL software for tagging accounts One pane Set-up Connects with most GL software for tagging accounts Preparer interface One pane Installation Need NET framework 1.1 Service Pack form Microsoft to install Financial statement interface Allows user to either manually or via Report Wizard generate software Inputting repetitive data Eliminated repetitive data entry Taxonomony interface Uses user defined accounts types Interface to tag values Drag and drop process of tagging values. Selecting standard taxonomy To find tags in selected taxonomy, preparer clicks through several categories. Categories are fairly unique. Target market Goes beyond being an XBRL writer
Major Vendors Implementing XBRL Capabilities Oracle Hyperion SAP PeopleSoft JD Edwards Cartesis
Oracle Oracle GL supports the XBRL standard. Oracle GL’s Financial Statement Generator is responsible for loading taxonomy files, as well as creating instance documents/tagging financial statements in the XBRL format.
Hyperion Hyperion has a built in module called “XBRL Manager.” It can create XBRL output directly from Hyperion Financial Management & Hyperion Planning and Hyperion Essbase XTD. Hyperion will be able to create XBRL tagged financial statements as well as create instance documents natively without the help of another piece of ‘enabler’ software.
SAP SAP has a built in XBRL tool that was developed by SAP. Tool gathers the data directly from the SAP databases (“data warehouse”) and converts them directly into instance documents using various taxonomies. Capable of creating single/individuals financial statements or consolidated statements based on the selected taxonomy. The SAP tool has the capability of preparing the statements in a format that is readily publishable to a investor relations website/webportal.
Peoplesoft Peoplesoft General Ledger has the capability built in it for producing instance documents/tagging balance sheet and income statements that conform to the XBRL standard.
JD Edwards Has XBRL capabilities similar to those that are available in Oracle/Peoplesoft for creating instance documents/tagging BS&IS with XBRL tags.
Cartesis Cartesis Finance has built in XBRL technology within it called the Cartesis XBRL Publishing module. Cartesis has the capability to load a given taxonomy into it, and create instance documents/tag financial statements with the XBRL standard.
Challenges to Implementation Availability of software to create XBRL instance documents Availability of software to read XBRL instance documents Use of standard taxonomy vs industry or company specific taxonomy Need for regulatory support
Progress XBRL – business reporting language Provides financial information across platforms Reduces re-entering data for processing Makes it easy to use automated analytical tools SEC voluntary filing program now exists SEC December 17, 2008 mandate
SEC December 2008 Mandate SEC rule proposal May 30, 2008 Adopted by SEC on December 17, 2008 Basics of the rule: Required primary financial statements (PFS) and footnotes for all issuers using US GAAP/IFRS for periods ending June 15, 2009 or later Year 1 – all companies $5 billion + worldwide float Year 2 – all other accelerated filers Year 3 – all others First year PFS plus block tag footnotes 2nd year include detailed tag footnotes 30 day grace period for first filing of PFS and detailed footnotes