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 July 1, 2011 - July 31, 2011
An Integrator's Guide to Inline XBRL
An Integrator's Guide to Inline XBRL is a helpful resource for learning about and working with Inline XBRL. Included with this tutorial is a sample 10-K for Massive Dynamic company.




Two Data Modeling Resources from OpenFiling
The folks at OpenFilinghave made a couple of very useful resources available for those who are serious about learning how to model business information using XBRL.
The first is a video which shows, in detail, an approach used by FINREP to modeling information. The video titled FINREP 2012 taxonomy and the Data Modeler - ExcelXbrlGen (Excel add in) is 1 hour and 26 minutes long, but there are some good nuggets of information. It is worth the time for those who are serious.
The second is the Excel add in discussed in the video, Data Modeler: ExcelXbrlGen (Excel add in). The Excel add in appears to be written in .Net, is open source, and is described as follows:
Developed in order to facilitate creation of taxonomies according to the draft Eurofiling architecture out of the Data Points Model (DPM) in MS Excel format automatic creation of primary items, dimensions, domains (structures of members) taxonomies consisting of schema files and linkbases (label and definition) out of the Excel DPM interface for definition and output of tables linkbase (according to Eurofiling draft rendering schema and algorithms)
While you may not need to create taxonomies according to the Eurofiling architecture, this is a great reverse-engineering opportunity and it helps you see an approach used by others in working with XBRL.




Reference Model for Digital Financial Reporting
I have used the term logical model. Others have used the term conceptual model. And still others use the term reference model. Call it what you like, but to make digital financial reporting effective and efficient for business, another layer is needed above the complex XBRL technical syntax documented by the complex and technical XBRL Specification.
Evidence that such a model is necessary are things like the matrix schema created by the Bank of Italy, the logical model created by the US GAAP Taxonomy Architecture, the Business Reporting Logical Modeland Financial Reporting Logical Model which I worked on with the XBRL International Taxonomy Architecture Working Group for many months, and the comparison framework created by the Interoperable Taxonomy Architecture Group.
So what exactly is a reference model or conceptual model or logical model. Wikipedia describes a reference model as having the following characteristics (paraphrasing):
Abstract: a reference model is abstract. The things described by a reference model are not actual things, but an abstract representation of things.
Entities and Relationships: A reference model contains both entities (things that exist) and relationships (how they interact with one another).
Within an environment: A reference model is used to clarify "things within an environment" or a problem space.
Technology Agnostic: A reference model is not useful if it makes assumptions about the technology or platforms in place in a particular computing environment. A reference model is a mechanism for understanding the problems faced, not the solutions involved, and as such, must be independent of the selected solutions in order to provide value to the practitioner.
I am not saying that what I have created in terms of an SEC XBRL financial filing logical model, clearly defining the report elements (i.e. entities) and relations between the report elements (i.e. relationships) is a reference model. But I think it might help show the utility of such a reference model and provides clues as to what such a model looks like.
What is clear to me though is that some reference model, logical model, conceptual model or whatever you want to call it; some additional layer is beneficial. Why else would so many different folks be approaching some sort of issue from such a variety of angles?




XBRL Analytics on an iPad
This is a great demo of XBRL analytics on an iPad. Created by UBmatrix/Edgar Online partner SQL Power Consultingleveraging the capabilities of MicroStrategy, the leading Business Intelligence tool, they built what they call XBRL Analytics which is:
a pre-built, near-Real-Time Business Intelligence Solution for XBRL Reporting, Dashboards & Analysis
You can view the demo below and get additional information about the solution SQL Power Consulting created here.




SEC XBRL Financial Reporting Metapatterns
Over the years in trying to build XBRL taxonomies and testing XBRL I have bounced around between having about 30 different "patterns" that business reports followed to a point where I believed that I have distilled those 30 down into 3 unique metapatterns.
Well, I have settled on 9 metapatterns. I have documented those metapatterns, provided examples for each one, reconciled them to the terms used by the US GAAP/SEC XBRL financial reporting logical model, and here they are:
- Hierarchy: A hierarchy information model denotes a hierarchy of concepts with no numeric relations. If no numeric relations exist, then the information model of the component is a hierarchy. Basically, anything can be modelled as a hierarchy. It is the addition of additional relations, typically computations, which turns a hierarchy into some other metapattern.
- Roll Up: A roll up information model computes a total from a set of other concepts. This information model is commonly referred to a "roll up", or the equation A + B = C. All concepts involved in this information model have the same set of characteristics and all must be numeric.
- Roll Forward: A roll forward information model reconciles the balance of a concept between two points in time. This information model is commonly referred to a "roll forward" or "movement analysis" or the equation: beginning balance + changes = ending balance. In this equation period [Axis] is as of two different points in time and the changes occur during the period between those two points in time.
- Compound Fact: A compound fact information model is characterized by the fact that some set of other concepts or some other information model exists for a set of characteristics expressed by one or more [Axis]. For example, the salary information for the directors of an entity is a compound fact. The salary information is made up of salary, bonuses, director fees which roll up into total salary and this set of compound facts can be expressed for any number of directors, the director being the characteristic or axis of the compound fact.
- Adjustment: An adjustment information model reconciles an originally stated balance to a restated balance, the adjustment being the total change, between two different report dates. An adjustment is similar to a roll forward in that it is a reconciliation, however rather than the period [Axis] changing; it is the Report Date [Axis] which changes: originally reported balance + adjustment = restated balance.
- Variance: A variance information model reconciles some reporting scenario with another reporting scenario, the variance between reporting scenarios being the variance or changes. For example, a sales analysis which reconciles the concept sales for the reporting scenarios of actual and budgeted is a variance. The equation is: actual - budget = variance.
- Complex Computation: A complex computation information model can be thought of as a hierarchy plus a set of commutations between different concepts within that hierarchy which are challenging to model as the parent/child relations of a graph. The type of computations can vary significantly, thus the challenging in modelling. For example, the computation of earnings per share is a complex computation.
- Text Block: A text block information model is an information model which contains, by definition, only one concept and that concept expresses what amounts to a narrative or prose as escaped HTML within that one concept. For example, the narrative associated with a set of accounting policies expressed as a list or a table presentation format is a text block. As there is only one concept, there can be no relations within the information model.
- Grid: A grid information model is a pseudo metapattern which uses the presentation characteristics of the columns and rows of a table to model information. Because the grid models presentation information and not business semantics, it cannot be considered a metapattern. However, the grid is included in this list because the US GAAP Taxonomy uses a grid information model to model the statement of changes in equity.
These 9 metapatterns are hard to dispute. Each is unique and each models some business oriented characteristic of a business report. There may be more yet undiscovered metapatterns. Fine, they can be added.
But these metapatterns are basic, fundamental building blocks which every business user should know. If you can understand the differences between these metapatterns, that information will take you a long way.



