620 likes | 720 Views
Software to Create XBRL Instance Documents
E N D
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
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 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 –withoutContext) 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 Documents XBRL Reporting Process • Reduces redundancies & discrepancies • Repeatable processes using tools Printed Financials Internal Reports Regulatory Filings Accounting System Web Site Explanatory Text Tax Return Third Party Information Trade Filings
Tagging can occur Primary Use Cases Operating Divisions Information Accounting Corporate HQ Regulators Regulator Filings Financial Statements Earnings Releases Sharing Lenders Investors Easily More Specific Uses -External Auditors -Data Intermediaries -Others
XBRL Information Chain XBRL for XBRL GL and XBRL for Business Processes XBRL for Financial Statements 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
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 - 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 XBRL First Adopters:‘Mega’ Users of Company Financial Data
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. Itis 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.
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>
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
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 TaxonomyXBRL Framework Schema.xsd Linkbases.xml Reference Label Footnote Definition Presentation Calculation Footnote
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
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
Primary Terms Elements(usfr-pte) Financial Service Terms Elements (usfr-fste) SEC Certification(usfr-seccert) Management Report(usfr-mr) Primary Terms Relationships(usfr-ptr) Financial Service Terms Relationships(usfr-fstr) AccountantsReport(usfr-ar) MD&A (usfr-mda) Investment Management Elements (usfr-ime) Investment Management (us-gaap-im) Insurance Entities (us-gaap-ins) Banking and Savings Institutions (us-gaap-basi) Commercial & Industrial (us-gaap-ci) Company Extension Instance Document US Financial Reporting Taxonomy Structure
Example Attribute Usfr-pte:CashCashEquivalents XBRL Name Basic Element Attributes Data Type Monetary/String, etc. Debit/Credit Balance Type Period Type Instant/Duration 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.
Linkbase Example Label e.g., “Cash and Cash Equivalents” Name : SEC Regulation S-X Rule Number : 7 Chapter : 3 Paragraph : 2 Reference Relationships To O ther Elements & Cash and Cash Equivalent Accounts Receivable Trade, Net Inventories, Net Total Current Assets Information Presentation (Linkbases) Total Current Assets = Calculation Cash and Cash Equivalents + Accounts Receivable Trade, Net + Inventories, Net + … Anatomy of an XBRL Taxonomy - XBRL SchemaElement, 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.
Instance Component Example Tagged Value Cash and cash Equivalents: US$ 575,000,000 (1) XBRL Name, i.e., Tag Usfr-pte:CashCashEquivalents Attribute Example ID USD UNIT $ Measure , Shares etc. 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. 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.
Example Attribute Period Instant: As of 31-12-2004 Contexts Segment Financial Printing, Outsourcing etc. Scenario Audited, Pro-forma, Restated Example Precision Or Decimal: Precision = 9, Decimal = 2 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. 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.
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. Footnote Link: Anatomy of an XBRL Instance Document: Footnotes Footnote Link: Footnote Links allow for the creation of structured text annotations between facts.
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.
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. • 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 InstanceData Reporting period Unit of Measure Taxonomy Element 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