Learning about XBRL and XBRL-based Digital Financial Reporting
If one were to think about it, I believe that one would quickly realize that XBRL has to exist in order to deal with the realities of financial reporting and business reporting today. XBRL will likely be part of your future, perhaps sooner than you may think and in ways you perhaps never imagined.
For example, eventually legal liability will be associated with SEC XBRL filings and the accountants responsible for creating SEC XBRL financial reports and managers reviewing them will be held more accountable for their quality. Eventually, the HTML filings will go away and only XBRL will be submitted because it is too costly to reconcile two versions of the same information.
If you believe that XBRL is important to you, you will make the investment you need to understanding and using this new financial reporting tool. This is particularly true for accountants, internal auditors, external auditors, and other accounting professionals.
Here are some of the best resources I know for obtaining an understanding of XBRL and how it will be used for digital financial reporting:
- Artificial Intelligence and Knowledge Engineering in a Nutshell: To grasp digital financial reporting you have to shift your thinking away from past paradigms and think in some new ways. This document helps you make this shift.
- XBRL for Dummies: Provides a high level overview, the big picture, of business information exchange. Shows the moving parts and how the parts fit together. Don't be fooled by the name, this book is not for dummies.
- How XBRL Works: Popular 6 minute video which explains how XBRL works.
- Financial Report Semantics and Dynamics Theory: Helps accountants understand the semantic model of digital financial reporting in terms that a business user can grasp.
- Conceptual Overview of an XBRL-based, Structured Digital Financial Report: Provides the big picture and enough details to help you understand how XBRL-based digital financial reporting works.
- Intelligent XBRL-based Digital Financial Reporting: This 700+ page tome provides all the details you need to understand pretty much any aspect of digital financial reporting.
- Becoming an XBRL Master Craftsman: To get the most current information follow this blog category. I try to make sure the best information is posted to this category. Eventually all information will be synthasized, reorganized, and make its way into the Intelligent XBRL-based Digital Financial Reporting book (see above).
The above information is an evolution and will be improved as better software becomes available, as more is learned, and as it becomes easier to explain digital financial reporting to business users such as accountants. Digital financial is still very much maturing and evolving. Harnessing this new tool is a process.
High Quality Samples/Examples
Here are collections of high quality samples and examples of XBRL which I have put together. Each set has different characteristics and utility which is explained. Each example/sample has been validated using multiple software applications and are interoperable in quality XBRL processors:
- Hello world ultra basic with creation tool: Very, very basic example of XBRL. Contains Excel code to create XBRL instance and XBRL taxonomy. This example contains no linkbases.
- Hello world (with linkbases): Very basic example, with presentation, calculation, definition, and label linkbases.
- Accounting equation example: Represents the accounting equation using XBRL.
- FASB SFAC 6 Elements of Financial Statement example: Represents the 10 elements of a financial statement defined by SFAC 6 within XBRL.
- Common elements of a financial report: This is a small example that expands on the 10 elements of a financial statements and builds a shell of the four core financial statements, shows the interrelations between the statements, and tests mathematical relations between common elements of a financial statement.
- Proof example: This is a small example that combines each of the concept arrangement patterns into one document to make sure each concept arrangement pattern properly interacts with every other concept arrangment pattern.
- Journal entries: Represents general journal entries using XBRL, shows how you can drilldown from the primary financial statements to the origional journal entries.
- Trial balance example: Represents a trial balance using XBRL.
- Internal report: Internal report represented using XBRL.
- Lorem Ipsum example: This is a small yet very comprehensive example of XBRL that is not related to financial reporting in any way.
- Accounting Process Automation: This example is small yet very comprehensive and there is a lot of documentation that walks you through what is trying to be achieved. Also helpful to understanding this example is this Guide to Implementing Robotic Finance.
- Concept Arrangement Patterns (was metapatterns): The ten patterns of how Concepts are arranged within a set of [Line Items]. For example: roll up, roll forward, hierarchy, etc. Small examples. (This is what I used to refer to as metapatterns or information models.)
- Member Arrangement Patterns (was member aggregation model): Examples of the different ways that a set of [Member]s which make up a domain of an [Axis] can be represented. (This was called member aggregation patterns.)
- Business use cases: (old version) A set of about 30 specific business use cases showing how to model the specific information in XBRL.
- Fragment Arrangement Patterns: (old version, was flow model): Examples of the different ways that the relationship between report fragments can be expressed to achieve the appropriate ordering or sequencing of those report fragments.
- XASB Profile, Comprehensive example and Reference Implementation: (old comprehensive example) Combines the 30 specific business use cases into one larger report allowing for testing the interaction between the specific business use cases. This is a very sophisticated example, but simple enough, reducing the amount of noise you have to endure to get to meaningful information about how to get XBRL to really work to meet your needs. Further, this is a reference implementation of a profile that I created called the XASB Profile.
- Reference Implementation of US GAAP SEC Filing: (old reference implementation of SEC filing) The reference implementation of an XBRL-based public company filing to the SEC builds on the accounting concept arrangement patterns, member arrangement patterns, report component arrangement patterns, business use cases, comprehensive example, and reporting templates. It is like the comprehensive example in that the reference implementation puts all business use cases together to be sure they interact with one another correctly. The reference implementation endeavours to create a digital financial report which adheres to the filing rules specified by the SEC within the Edgar Filer Manual (EFM).
- US GAAP Reporting Templates/Exemplars:(older version of templates) An exemplar is a specimen that exemplifies the ideal qualities of a class. This is a set of approximately 75 high-quality US GAAP reporting templates that provide very good examples that exemplify good financial disclosures.
- Comparison: This includes the reference implementation and two copies of the reference implementation. This is very good for testing comparibility between SEC filings. (ABC Company, XYZ Company, and QQQ Company)
- Reference implementation (IFRS): (Work in progress) This is a reference implementation of an IFRS-based financial report.
- SEC XBRL financial filings: Thousands of SEC XBRL financial filings provided by XBRL Cloud on their EDGAR Dashboard. Tool which allows business users to browse many, many SEC XBRL financial filings.
- 5,734 US GAAP XBRL Filings to SEC: Set of 5,734 filings to the SEC in US GAAP.
- 406 IFRS XBRL Filings to SEC: Set of 406 filings to the SEC in IFRS.
- Sophistocated Set of Validtion Rules: This is a sophistocated, comprehensive set of validation rules written using XBRL definition relations. This documentation explains the validation rules.
- Core: This demonstrates the "core" or "key stone" relations within a financial report. All files are local. (ZIP archive | Documentation | Human readable validation information | ZIP archive containing validation information | Roll Up Relations Validation | Other Mathematical Computations Validation)
- RSS Feed With Lots of Examples: This is an RSS feed that has many of the above examples and other examples. These are all guaranteed to be high-quality examples, all have been validated using five different XBRL processors.
- Digital Financial Reporting Conformance Suite: This is a set of both positive and negative examples that are used for testing.
Prototypes
Over the years I have put together a number of prototypes to help me understand digital financial reporting and to explain it to others. Many of these are older prototypes, but helpful none-the-less. Here are a number of prototypes which can help you understand XBRL, understand how XBRL is going to change how financial reports are created in the future, and otherwise wrap your head around XBRL and digital financial reporting:
- Financial Report Research Utility Prototype: (2014) Prototype tool for making use of digital financial reports in the process of creating financial reports.
- Financial Report Component Viewer: (2014) Prototype tool for viewing the pieces within a financial report.
- Basic comparison, SEC XBRL filings: (2010) What amounts to three basic examples, great for testing analysis software and understanding what makes information comparable and what gets in the way of comparability.
- Comparison example: (2010) This is three comprehensive examples which can be used to test the analytical capabilities of software.
- Comparison of SEC XBRL filings: (2010) A set of three SEC XBRL filings which are useful in understanding issues related to comparability of filings. Try these in XBRL viewer software.
- XBRL Techniques and Trends: (2011) This prototype is explained on this blog post and this blog post. Basically, imagine the AICPA's Accounting Trends and Techniques not for 600 companies, rather for ever SEC filer, querying how things are reported by industry, by type of entity, etc.
- Exemplars: (2011) Exemplars are specific examples. Click on the "Show Exemplars" link in the left side pane of this prototype to go see a number of exemplars. Exemplars are explained in this blog post.
- SEC Financial Filing Recap/Examination Utility: (2011) This working prototype helps you see the types of validation or verification reports one might use to help ensure their SEC XBRL financial filings where created correctly. This blog post talks about the characteristics of a quality filing. These reports are intended to help you meet those characteristics.
- Web service prototype: (2012) Web service of EDGAR information
- Web Service of US GAAP Taxonomy Information: (2012) It is hard to demonstrate a web service which is intended for one computer application to communicate with another, but this prototype tries to show that. You can get HTML renderings and XML information from this sample web service. Click on the XML link and then "view source" of the web page returned. What you will see is an easy to read (both humans and computers) of information from the US GAAP Taxonomy. Here are a few more ways to get to this information.
- Dow Jones Industrials: (2012) This is an automatically generated summary of total assets and net cash flows of the 30 companies which make up the Dow Jones Industrials. Information comes from the SEC XBRL information files.
- Core Financial Integrity Analyzer: (2012) Excel prototype which checks core financial integrity of an SEC XBRL financial filing. This has lots of nice sample code.
- Excel-based Taxonomy Explorer: (2013) Excel-based taxonomy explorer. This has lots of nice sample code.
- Reporting styles viewer: (2015) Reporting styles viewer.
- Disclosures viewer: (2015) View disclosure information, improved.
- Disclosures viewer: (2015) View disclosure information, improved again.
- Disclosures viewer: (2015) View disclosure information, and improved again.
- Disclosures viewer: (2015) View disclosure information, and improved yet again.
- Disclosures viewer: (2018) View disclosure information, using tab view.
- Disclosures viewer by topic: (2015) Another take on viewing disclosures.
- Disclosure comparison prototype: (2015) Another take.
- Comparing Income Tax Notes of Companies: (2018) Compares the income tax note of 5,734 publc companies.
- Compare Fiscal Period Policy of Companies: (2018) Compares the fiscal period policy disclosure of all 5,734 public companies.
- Compare Basis of Reporting Disclosure: (2018) Compares the basis of reporting disclosure of all 5,734 public companies.
- Compares Nature of Business Disclosure: (2018) Compares the nature of business disclosure of all 5,734 public companies.
- Comparing 123 Different Disclosures of Public Companies: (2018) Comparing numerous disclosures
- Disclosure Best Practices, US GAAP: (2018) Compares disclosures of public companies that file with the SEC using US GAAP.
- Disclosure Best Practices, IFRS: (2018) Compares disclosures of foreign issuers that file with the SEC using IFRS.
- Get Reporting Style Code by Name of Entity: (2018) Allows you to get the reporting style code by entering the name of the entity.
- IFRS Disclosure Viewer: (2018) Allows you to compare and contrast IFRS financial disclosures. About 12,000 examples for about 320 different disclosues. Microsoft Access database application.
Peeking into the Future
XBRL is a new medium. There will be an evolution from the old medium of paper or electronic representations of paper such as HTML or PDF to this new medium. That transition will take some time, but it will occur. This section helps you peek into that future, the modern finance platform.
- Financial report today: (2010) This is what a financial report looks like today. It is two dimensional (i.e. flat, like paper), it is fixed (i.e. it cannot be reconfigured like a pivot table), it is created using tools which know nothing about financial reports (i.e. like Microsoft Word), it is unstructured.
- Prototype of financial report of the future: (2010) (You have to use your imagination here because I am not a programmer and therefore cannot create this myself.) This is a one rendering of one XBRL instance and supporting XBRL taxonomy. If you look close, you can see the pieces.
- First Generation Digital Financial Reporting Applications: There are two digital financial reporting applications I can point to. The first is the Firefox XBRL Viewer Add on. While that application does not format information very well, it does provide the ability to pivot information. The second is the SEC XBRL Interactive Data viewer. That tool formats information pretty well, but it is not interactive, you cannot pivot the information. Imagine a tool which does both pivoting and formats information as you would expect.
- Commercially available dashboard of XBRL-based public company financial reports: Commercially available dashboard that lets you view US GAAP and IFRS based reports submitted to the U.S. Securities and Exchange Commission.
- Commercially available digital financial report viewing application: This is the best commercially available digital financial reporting tool which I am aware of at this point and which I can freely link to in order to provide an example of such software. This digital financial report viewer was created by XBRL Cloud. It shows a model/reference prototype of an SEC XBRL financial report which I have created.
- Pesseract: Working proof of concept of an expert system for creating financial reports. You can download and experiment with the software for free. Requires Microsoft Windows 7.0 or higher. This is a work in progress so check back periodically for updated software.
Are you ready for the future of financial reporting? Here is a path into your future, Mastering XBRL. The path is not that easy today, but it will get easier. Being an early adopter has its advantages.
Understanding what XBRL is and what XBRL is not?
Getting your head around XBRL can be challenging. Much of this challenge is similar to trying to teach someone about algebra or calculus if they do not understand how to count or do not understand the mathematical operators of addition, subtraction, multiplication, and division. In summary:
XBRL is:
- A freely available, market driven, open, global standard technical syntax for expressing and exchanging business information.
- An XML language.
- A global consortium of more than 600 members
- A means of modeling business information in a form understandable by both computer applications and humans.
- A knowledge media.
XBRL is not:
- XBRL is NOT a standard chart of accounts. In fact, it is the opposite because XBRL is extensible.
- XBRL does NOT require companies to disclose additional information.
- XBRL is NOT just about financial or regulatory reporting.
Many people tend to try and dumb down the definition of what XBRL is in order to explain it. This occurs for two reasons. First, they think it makes it easier to explain XBRL, but the common result is a poor communication of what XBRL truly is. Second, the person trying to explain XBRL may not truly understand XBRL themselves.
In my view, the best definition of XBRL can be found on Wikipedia. That definition is:
XBRL (eXtensible Business Reporting Language) is an open standard which supports information modeling and the expression of semantic meaning commonly required in business reporting.
A key term here is the "information modeling".
Business professionals don't generally grasp the true meaning of terms such as "syntax", "semantics", "meta data", "business rules" or the difference between "structured" and "unstructured" information. Yet, these terms are critical to the understanding of what XBRL really is and why it is important. This is why the information in the document Computer Empathy is helpful.
Technical people tend to think that XBRL is just another form of XML. That is a big mistake. Technical people tend to confuse the term "extensible" and think that the way XML uses the word and the way XBRL uses the word is the same. It is not. For a good explanation of what XBRL really is, see The XBRL Book: Simple, Technical, Precise.
Deep Dive
Like the details? Here you go. These are in order by date that I was working on these things. This is an accumulation miscellaneous stuff used to figure out the best approaches to using XBRL in general and for SEC XBRL filings:
- Really Early Stuff. 2005-12-31
- Early Stuff. 2007-01-01
- XBRLS Era. 2008-04-15
- Differences Between XBRL, RDF, XML, iXBRL, XHTML. 2010-01-15
- Business Reporting Logical Model. 2010-08-01
- Business Reporting Logical Model applied to SEC XBRL Financial Filings. 2010-09-30
- Semantic Model on top of Business Reporting Logical Model. 2011-04-11
There are two other summaries of earlier information (focus on XBRL syntax). The FRUX book and XBRL for Dummies.
Technical
And for the REALLY technical people, these are useful links to hundreds of specific examples from the conformance suites provided by XBRL International:
- XBRL Conformance Suite
- XBRL Dimensions Conformance Suite
- XBRL Formulas Conformance Suite
- XBRL Formulas Function Registry
- XBRL Units Registry
- XBRL Link Role Registry
- Taxonomy Package Specification (essentially, how to using a ZIP format for exchanging XBRL instances and XBRL taxonomies)
- All of the XBRL Specifications
- XBRL International