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 in XBRL architecture (2)

Top Ten Ideas to Get the Most from your XBRL Architecture

The following is a list of the top ten (or so) ideas for getting the most from your XBRL architecture.  These ideas are based on assessing how well a number of different well-thought-out XBRL architectures seem to be working. Also, as part of the XBRL International Taxonomy Architecture Working Group where these sorts of things are discussed, I believe these ideas can help improve any implementation of XBRL.

While these ideas are good to consider for any system which implements XBRL, the ideas are particularly important for systems which allow for the extension of XBRL taxonomies.

  1. Create a clear, unambiguous, formally documented information model. One of the biggest problems XBRL taxonomies have is inconsistent information models.  An information model is simply how the relations within a taxonomy are structured.  This is of particular importance when extensibility is employed within your system.  For example, the US GAAP Taxonomy creates structures such as [Table]s, [Roll Forward]s, and other such structures.  They explain how these structures are to be created.  You should do the same in order to be able to evaluate how your taxonomy is created and in order to explain how your taxonomy should be extended.  Taxonomies are simply not random.  Make yours clear, unambiguous, and formally document it so those extending your taxonomy can follow the rules.
  2. Use either segment or scenario, there is no real reason to use both.  Eliminating unnecessary options makes things easier.  There is no semantic difference between using the segment context element and the scenario context element.  Besides, if different XBRL instance creators use different elements, comparability then becomes an issue.  You can avoid both of these problems by simply using one or the other. Which is as easy as tossing a coin really.  Using scenario seems to be the best, but the US GAAP Taxonomy suggests segment.  You can pick.
  3. Tuples and XBRL Dimensions are redundant, pick and use one or the other; personally I prefer XBRL Dimensions. The biggest problem with using both tuples and XBRL Dimensions is explaining when to use one and when to use the other.  The primary reason I don't like tuples is because they significantly inhibit extensibility.  Basically, tuples add back the XML content model with XBRL worked to remove.  XBRL Dimensions can do everything that tuples can do, but tuples are not nearly as functional as XBRL Dimensions.
  4. Don't mix dimensional and non-dimensional models; personally I prefer a dimensional model.  If you use XBRL Dimensions, then every concept should be attached to a hypercube thus requiring the dimensions of the concept to be explicitly identified.  Mixing a dimensional model and a non-dimensional model causes headaches which can be avoided by simply using one model or the other. Since business information is inherently dimensional anyway, I personally prefer a dimensional model, using XBRL Dimensions consistently throughout your XBRL taxonomy.  Mixing models also make using XBRL Formula much trickier.
  5. Precision and decimals are redundant, pick and use one or the other; personally I prefer decimals. The precision and decimals attribute on a fact value serves the same purpose.  There is pretty much universal agreement that only one of these should have been created. Having both causes more work when working with XBRL instance information which contains both.  FRTA suggests that decimals be used.  So does the US GAAP Taxonomy.  I agree and suggest using decimals because it is easier for business users to understand.
  6. Always differentiate dimension values and concepts.  When creating an XBRL taxonomy you don't want users of the taxonomy to mix up what is a dimension value (such as a domain or a member) and what is a concept which can be used to report a value.  The US GAAP Taxonomy diferentiates domains and members by appending "[Domain]" or "[Member]" to such dimension values and assigning those types of elements to a special type value of "domainItemType".  You could also use the substitutionGroup to differentiate these two types of XML Schema elements. That way, users don't get confused.
  7. Make each hypercube unique. There are advantages to making each hypercube in an XBRL taxonomy unique.  Take a look at this taxonomy. Search for the line items which say "Statement [Table]".  You can see what I am talking about more clearly by looking at this. What is the point of using the same hypercube for each set of dimensions and concepts?  Why not use a different unique hypercube name for each hypercube?  This has a number of benefits, including making the extended link as any form of semantics unnecessary.  The FINREP taxonomy makes each hypercube unique.
  8. Don't use complex typed dimensions. Complex typed members allow literally any XML you can think of as a possible value, except for XBRL itself.  It is way too much to ask for a software application to implement something like this.  Further, using it to compare to entities effectively can be quite challenging.  You can achieve the same results by using a number of simple typed members, which are much easier to build an interface for and easier to make work.  Complex typed members for dimension values are far more trouble than they are worth and should be avoided.
  9. Don't be redundant in expressing taxonomy information. If you express things twice in two different ways, you create work in that you now have to make sure the two things you are expressing are in sync.  For example, expressing information in a presentation linkbase and also in a definition linkbase causes such redundant information.  The FINREP taxonomy figured this out and does not make a presentation linkbase available with its taxonomy.  In the short term this can be a bit of a challenge to effectively do because most software applications rely on the presentation linkbase.  Overtime and as software gets better, this will not be an issue.  First, realize that you are creating redundant information.  Second, if you can, you may want to consider not making this redundant information available in your XBRL taxonomy.
  10. Give serious consideration to using XBRL Formula rather than XBRL calculations. XBRL Formula is several orders of magnitude more powerful that XBRL calculations.  Also, XBRL calculations have their idiosyncrasies.  More and more people are moving to XBRL Formula.  You may want to give strong consideration to abandoning XBRL calculations and using XBRL Formula instead.  XBRL calculations can be easier in certain situations.  The tradeoffs should be understood and evaluated in making your decision.
  11. Be sure to require that all hypercubes be closed.  All hypercubes you create which have an "all" role should be closed (and all your hypercubes which have a "notAll" role should be open if you happen to use those).  Leaving a hypercube open basically lets anything exist in the context.  What is the point of that?  Be explicit and close all your hypercubes.

Understanding and using these ideas can make the systems you use XBRL within work better, more consistently, and with far fewer issues.  Consider them when you make your implementation decisions.

 

FINREP Publishes Architecture, Packed with Helpful Information

FINREP (FINancial REPorting, see http://www.eurofiling.info/) has published an XBRL architecture which is worth taking a look at if you are a student of XBRL and trying to figure out the best approach to use it.  FINREP, which relates to financial reporting of financial institutions in Europe and uses International Financial Reporting Standards, is published by CEBS (Committee of European Banking Supervisors).

The architecture document can be found here.  If you go to the EUROFILING home page (above) you can find additional information such as explanatory documentation, the draft taxonomy files (note that this is draft version).

CEBS has always been great about transparency of what they are doing, why, and the reasoning that has gone into what they are doing.  The information they publish is intended for those participating in the COREP and FINREP projects, but this information is also very helpful to others who are making use of XBRL who have to grapple with similar issues.  Why reinvent the wheel?  Why not learn from what these regulators are spending vast amounts of resources to figure out?

In particular, this presentation is incredibly helpful. This is a PDF of a 325 page PowerPoint presentation!  I would have hated to sit through that meeting.  But, a tremendous amount of work was put into the slide deck.  The presentation goes into detail about issues such as use of default dimensions, typed dimensions, and other things people don't tend to think about.

The bottom line here is that the FINREP architecture and other information is worth the effort to study.  Other regulators, corporations, and consultants who help these folks can glean massive amounts of useful insight from what FINREP has made available.  This architecture is not applicable to only financial reporting, it is applicable to FINREP in general.  FINREP itself learned a lot from what COREP created.  A next step the FINREP and COREP folks will go through is to reconcile the two different architectures, perhaps resulting in one architecture used for both FINREP and COREP.

Key aspects of the architecture include:

  • It breaks a big reporting use case into bite size pieces.  Reports are broken into "Tables".  There are "core" tables and "non-core" or detailed tables.
  • XBRL Dimensions are used to express these tables.  The multidimensional model is used consistently, there is no mixing of XBRL Dimensions and non-dimensional XBRL.
  • Tuples are not used, rather XBRL Dimensions are used to express complex facts.  (See the presentation if you don't understand this.)  This is consistent with the US GAAP and IFRS taxonomy architectures.
  • The architecture addresses the IT need to model data and the business user need to present information well.