SEC XBRL Financial Report Component Model Structure Comparison Tools (Prototype)
Saturday, October 20, 2012 at 09:32AM
Charlie in Demonstrations of Using XBRL

I created a little SEC XBRL financial report component model stucture comparison tool prototype.

If you are an accountant, I would really like to hear from you to see if you think a tool like this has value.  The reason is that I am trying to get software vendors to build stuff like this.  Keep in mind that THIS IS A PROTOTYPE! Clearly there are a lot of other useful features such as filtering companies by industry/activity and it would be great if EVERY financial report component and EVERY reporting entity was available for comparison; however, my programming skills are limited.


This second tool allows you to look at all the SEC XBRL financial filings within the set of 291 which have the component you select, letting you compare how each of the SEC filers modeled that component. (This is another version of the second tool, less stable but has more components.)

The comparison tool works off of a database of 291 SEC XBRL 10-K financial reports which I created earlier in the year.  The idea is pretty basic: compare things.  Here I am showing a comparison of the XBRL model structure.  You could also compare the actual renderings.

Because neither the US GAAP Taxonomy nor the SEC has a defined notion of what a "component" is nor do they actually define names for these components, I had to map from the networks and tables within a submission to the components I know exist within a financial report.  A component is something like document information section, balance sheet, income statement, cash flow statement, significant accounting policies, long-term debt maturities, pension disclosure, and so forth.

Now, does it have to be the case that these components have to be individually identified so that users can actually easily do comparisons such as this? No, the FASB and/or SEC could define the notion of a component, what makes up a component, how to construct them, and even give them names so users of the information can query against the component information.

Keep in mind the difference between financial disclosure information and how that financial disclosure information is organized in the form of notes within a financial statement.  Financial disclosures are far more consistent that how filers organize those financial disclosures within a financial statement.

All this can be sorted out manually and then computers can do lots of useful things.  However, that organization is expensive.  It is far less expensive than having to go through all the HTML filings to pull out this information.

Fiddle with the comparison tool, it is useful for understanding SEC XBRL financial reports.  For example,

  1. Why do these two filings construct the document information model differently, one using a [Table] and the other not using a [Table]?
  2. Why does company A in this example use the document information [Axis], company B use the legal entity [Axis], and company A above does not use ANY [Axis]?
  3. Here both Company A and Company B both use the document information [Axis].
  4. Here you have Company A using a class of stock [Axis]; yet I would ask two question: First, don't most of those filers have classes of stock and why don't they use that [Axis]? Second, does the entity name and CIK number facts actually have a class of stock characteristic?

While the document information section of a financial report is actually one of the more consistently created components, it does help point out issues which exist with other SEC XBRL financial report components.

Thank you to XBRL Cloud who has made the XML infosets of these SEC XBRL financial filings available to me which allowed me to fairly easily create the renderings of the model structure and in mapping the networks to the components used in this comparison.


Article originally appeared on Intelligent XBRL-based structured digital financial reporting using US GAAP and IFRS (
See website for complete article licensing information.