BLOG:  Digital Financial Reporting

This is a blog for information relating to digital financial reporting.  This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting.  This is my brain storming platform.  This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.

Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.

Entries from September 26, 2010 - October 2, 2010

Basic Example of SEC XBRL Filing

Continuing on with my endeavor to better understand XBRL as used in financial reporting, I have put together a Basic Example of an SEC XBRL Filingwhich is both compliant with the SEC XBRL rules and leverages the Business Reporting Logical Model.

What I am working toward is creating a Comprehensive Example-type modelof an SEC XBRL filing.

The truth is that the US GAAP Taxonomy inspired a lot of what went into the Business Reporting Logical Model. The Basic Example contains Hierarchy, Roll Up, Roll Forward, and a Compound Fact information models. Each of these information models is quite common in the US GAAP Taxonomy.  It is not surprising that the information models in the Business Reporting Logical Model map to the US GAAP Taxonomy; they actually come from the US GAAP Taxonomy.

If you are interested in taking a look at the Basic Example of an SEC XBRL Filing, follow the link above and just work from the top of the page to the bottom.

Why would you be interested in this Basic Example of an SEC XBRL Filing?

  • To help you get good renderings in the SEC previewer and in the interactive data rendering in the EDGAR system.
  • To help you train business users to create proper XBRL.  The Basic Example condenses the entire US GAAP Taxonomy into a hand full of meta patterns.  These meta patterns help hide the complexities of the XBRL syntax from business users. The example is simple, but it covers 90+ percent of what you would ever run up against in creating SEC XBRL filings.  If you can create this example, you can move to the next "level" of XBRL expertise.  If you cannot create this Basic Example, your foundation is not solid.  This example helps build the right foundation.
  • This example is a great use case to test software.  The example is small enough to be able to be created in a short period of time, yet it has enough complexity to exercise software applications. Rather than use a software vendor's canned demos, ask software vendors to model this basic information in an XBRL taxonomy and XBRL instance.  It will help you see how that software will work.
  • For professors teaching XBRL in their accounting classes, this is a good, solid example which will help your students get their heads around XBRL.

The meta patterns, business use cases, comprehensive example, and comparison exampleare coming for US GAAP Taxonomy and SEC XBRL filings. While the Business Reporting Logical Model Examples are quite useful, many people cannot make the leap from those examples to how the same ideas can be applied to using the US GAAP Taxonomy and creating SEC XBRL filings.

Awesome Tool for Analyzing SEC XBRL Taxonomies

Web Filingshas released a free tool for having a look at XBRL taxonomies used for SEC XBRL filings.  You can find the tool here.

Here are two screen shots of the tool in action. I am using it to compare how different filers build their company extension taxonomies.

  • Comparison of balance sheets 1: This PNG shows a comparison of the concept "Assets" on the balance sheets of six SEC XBRL filers.  Notice how each of the six companies used the same concept to organize their balance sheet.
  • Comparison of balance sheets 2: This PNG shows a comparison of the [Axis] used on the balance sheet for six SEC XBRL filers. All six used the Legal Entity [Axis] on the balance sheet.

There are other things you can do with the tool such as browse the released version of the US GAAP Taxonomy and search for concepts.

Nice work Web Filings!  I look forward to other tools like this becoming available to help business users get the most out of what XBRL has to offer.  Imagine being able to compare the actual filings themselves in this manner.

If you become aware of a good tool, please make me aware of it.

Achieving Disciplined Extensions in SEC XBRL Filings

The US GAAP Taxonomy Architecture (and the current draft) has a term called a Compact Pattern Declaration (CPD).

Section 1.3 (Logical Model) of the US GAAP Taxonomy Architecture states:

Disciplined Extensions– The architecture internally enforces design rules to ensure that the base taxonomy from which others will need to extend is internally consistent. It is beyond the scope of the architecture to create a formal expression of extension rules to facilitate "disciplined" or "channeled" or "managed" extensions within systems that use it. We encourage systems that make use of the architecture to build such formal expressions for use within their systems. The Compact Patterns Declarations (CPD) is an example of such formalized expressions for the purpose of managing extension by filers.

Section 3.4 (Consistency and Comparability) of the US GAAP Taxonomy Architecture states (the emphasis is mine):

Systems which implement version 1.0 are expected to provide mechanisms for providing discipline around the extension of the base taxonomies. One example of providing such discipline or "channeling" or "management" of extensions is the compact pattern declaration (CPD). The CPD is a formal XML representation of a pattern [PATTERNS] that allows software to help a user follow exactly the same pattern and rules that were used to construct version 1.0 itself.

The US GAAP Taxonomy Architecture refers to two documents above and in Section 7 (References) in the architecture: UGT Compact Patterns Declarations (CPD) Module and [Patterns] or the UGT Patterns Guide (also called the USFRTF Patterns Guide).  These documents explain the patterns within the US GAAP Taxonomy.

There are two other places which show the sorts of things systems which implement the US GAAP Taxonomy are expected to do.  Section 4.5 of the US GAAP Taxonomy Architecture, Implementation of Tables, explains the [Table] is constructed within the US GAAP Taxonomy and how systems which use the US GAAP Taxonomy are expected to extend the taxonomy, such as SEC XBRL filings.

Another place to see how this can be implemented is by what XBRL Cloud.  You can see these rules here on this page and you can see the validation of these rules, as suggested by the US GAAP Taxonomy Architecture, here on XBRL Cloud's EDGAR Dashboard.  XBRL Cloud calls this an information model, rather than a Compact Pattern Declaration.  But it is the same thing.

The Business Reporting Logical Model also uses the term information model.  That logical model was basically created using ideas first created by the architects of the US GAAP Taxonomy. Those ideas were expanded on by the ITA Interoperable Taxonomy Architecture Group which was made up of the US SEC, IASCF, Japan FSA, and European Commission.

For years I had worked to build sample XBRL taxonomies and XBRL instances, I called these "patterns". You can see the history of that work here. I ultimately realized, partly from participation on the US GAAP Taxonomy Architecture Working Group, of which I was a member, that the patterns needed to be further condensed, this is what the Compact Pattern Declarations which expressed an information model were.  Now I refer to these as meta patterns.

For years I had been making a mistake about how I looked at those patterns or meta patterns and the information models they expressed. I realized this mistake when the FINREP taxonomy released their taxonomy without a presentation linkbase.

Business information is not random, it has patterns. There is not an infinite number of patterns within business information, there is some fininte amount. Here are some patterns which are hard to dispute, most of these are instantiated within the US GAAP Taxonomy:

  • Hierarchy: A Hierarchy is an information model where there are relations between facts but the relations do not involve computations.  For example, accounting policies is a Hierarchy.
  • Roll Up: A Roll Up is an information model which expresses relations where there is a simple computation between concepts. A Roll Up relation is basically A = B + C + n; where "n" is any number of concepts.
  • Roll Forward: A Roll Forward is an information model which expresses a relation where a BASE (beginning + additions - subtractions = ending) type of relation exists.  Basically, a Roll Forward is a reconciliation between two instants in time. An example of a Roll Forward is the cash flow statement or a movement analysis for property, plant and equipment.
  • Adjustment: An Adjustment is an information model which is similar to a Roll Forward in that it is a reconciliation; however the dimension or axis which is moving in the relation is the financial report's report date. An example of an Adjustment is the reconciliation of an originally stated balance to a restated balance for an accounting prior period adjustment.
  • Variance: A Variance is an information model which is a computation between two different reporting scenarios such as actual and budget.  For example, the difference between the actual and budgeted values for the concept Sales.
  • Other Relation: An Other Relations is an information model and is what amounts to a Hierarchy with business rules attached to the concept within the Hierarchy. An example would be the computation of weighted average common shares and earnings per share. These are computations too complicated for XBRL calculations to handle, but they are computations which exist.

The point here is that it is not XBRL which all of a sudden introduced the ideas of the information model.  Information models have always existed but we, as humans, understood what those were and we never really communicated at that level; it is pretty basic and we business users get those relations. But computers are dumb.  We need to break down business reporting so that we can explain the moving pieces to a computer application.  That is what meta patterns and an information model does.

The US GAAP Taxonomy and the filers who use the US GAAP Taxonomy for SEC XBRL filings don't have different information models for "Roll Up" or "Roll Forward", or whatever.  They are the same.  So, the US GAAP Taxonomy and the SEC filers who extend that taxonomy should be using the same information models.

Finally, the information model is not defined by the XBRL presentation linkbase, it is explained by the model itself, what the XBRL looks like.  A computer application can figure this out.  You can help a human understand that information model by articulating it within the XBRL presentation linkbase, like the US GAAP Taxonomy does, for example recall section 4.5 Implementation of Tables as discussed above.  But if you do express it in the presentation linkbase, you need to keep it consistent with the other underlying XBRL which really is what describes the real information model.  Eventually, perhaps the US GAAP Taxonomy will do like FINREP and not even provide a presentation linkbase because a computer can auto generate it based on the underlying information model.  But today, the US GAAP Taxonomy and the SEC require the presentation linkbase, therefore you need to keep it consistent with the underlying XBRL information model which is used to express your business information.