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 Business use cases (3)

Business Use Cases Overview

I have updated the documentation for the meta patterns, business use cases, and the document which contains everything together, Modeling Financial Information Using XBRL (DRAFT). These are the same documents which are provide here. Things are more built out, there are more cross references to the sample/example files, etc.  Still more to do, but this draft will stand for a while because I need to move on to other things for a bit.

Here is a summary of the business use cases which have been distilled down to the small set of meta patterns. One additional thing which I have done is to break down these business use cases into categories: an accounting use case, a variation of another use case, or an alternative technical approach. This is not perfect yet, but it is making it easier to talk about these use cases.

My next step is to map my meta patterns to the US GAAP Taxonomy and to create examples of SEC XBRL filing pieces for each of the business use cases. That will likely help people see the breaking the pieces of the US GAAP Taxonomy down into meta patterns makes the taxonomy easier to understand and that the meta patterns can be leveraged to help make working with these business use cases easier for business users. This will also help to create a more consistent US GAAP Taxonomy.

  • BUC01 Simple Hierarchy. Accounting use case. One level hierarchy.  No calculation relations.
  • BUC02 Hierarchy. Variation of Hierarchy. Multi-level nested hierarchy.
  • BUC03 Simple Roll Up. Accounting use case. Computation where A + B + n = C. Simple roll up.  No nesting of calculations.
  • BUC04 Nested Roll Up. Variation of Roll Up. Nesting one calculation inside another calculation.
  • BUC05 Inverted Roll Up. Variation of Roll Up. Multi-level nested calculations.
  • BUC06 Multiple Roll Ups. Variation of Roll Up. One concept calculated in more than one way forcing calculations to be separated by extended links.
  • BUC07 Simple Roll Forward. Accounting use case. Computation where beginning balance + changes = ending balance. Simple roll forward analysis. Also known as movement analysis.
  • BUC08 Complex Roll Forward. Variation of Roll Forward. Movement of more than one concept modelled using items.
  • BUC09 Simple Compound Fact. Accounting use case. Concepts which make up a set which must go together. This is actually another pattern with at least one more measure (dimension).
  • BUC10 Repeating Concept. Variation of Compound Fact. Simple compound concept which repeats.
  • BUC11 Multiple Periods Compound Concept. Variation of Compound Fact. Simple compound concept which has more than one period disclosed within the compound concept.
  • BUC12 Roll Forward in Compound Concept.  Variation of Roll Forward. Variation of Compound Fact. Roll Forward within a compound concept.
  • BUC13 Nested Compound. Concept Variation of Compound Fact. Compound concept within another compound concept.
  • BUC14 Reconciliation of Balance. Accounting use case. Reconciliation of one instant to another instant.  (This is NOT a roll forward as the reconciling items are instants, not durations, and the balance concepts are different concepts, not the same.)
  • BUC15 Text Block. Accounting use case. Many Facts modelled as a block of text.
  • BUC16 Restatement. Accounting use case. Restatement of income.
  • BUC17 Reissue Report. Accounting use case. Reissuance of an entire report.
  • BUC18 Reclassification. Accounting use case. Reclassification of prior balances on a report to conform to current period classifications.
  • BUC19 Prose. Accounting use case. Information containing multiple paragraphs, tables, lists, etc. which must appear in a particular order to be meaningful.
  • BUC20 General Comment. Accounting use case. Using XBRL Footnotes to express general comments. Shows the difference between using standard roles and custom roles.
  • BUC21 Pivot Table. Accounting use case. One concept used in a number of axis.  Common for a segment breakdown.  Data is similar to a pivot table. Multiple business segments.
  • BUC22 Reason Not Reported. Accounting use case. Explaining why a piece of information has not been reported.
  • BUC23 Simple Roll Forward Using Measure. Alternate technical approach to Roll Forward. Simple movement analysis modelled by Barry Smith's approach.  (This is the approach the IFRS is pushing)
  • BUC24 Complex Roll Forward Measure. Alternate technical approach to Roll Forward. Movement of more than one concept modelled using axis.
  • BUC25 Escaped XHTML. Alternative technical approach to Text Block. Same as the Simple Compound Fact, but expressed as one table in HTML for better formatting control.
  • BUC26 Using JSON. Alternative technical approach to Text Block. Same as the Simple Compound Fact, but expressing the compound fact using the JSON syntax.
  • BUC27 Flow. Accounting use case. Shows the notion of flow within a business report and how the ordering or sequencing is important and can be achieved.
  • BUC28 Other Relations. Accounting use case.  Other more complex computations not covered by Roll Up, Roll Forward, Adjustment, or Variance. Other relations, usually complex computations
  • BUC29 Variance. Accounting use case. Variance between actual and budgeted.
  • BUC30 Classes. Alternate technical approach to Roll Up. Shows the notion of class.  Compare and contrast this to the Simple Roll Up.
  • BUC31 Add Members Without Extension. Alternate technical approach to creating Measures. Show how extension can be achieve without the need to extend an XBRL taxonomy.
  • BUC34 Adjustment. Accounting use case. Adjustment of a balance between two report dates. Calendar time remains constant.
  • BUC35 Grouped Report. Variation of Compound Fact. Fact Group which contains multiple Measures unique to the Fact Group.
  • BUC99 Non Financial Information. Variation of Compound Fact. Non financial information can be expressed in XBRL as well as financial information.

Business Reporting Use Cases Updated

I have reached a big milestone in updating the business reporting use cases which I am putting together. You can get to those from this index page which contains the use cases plus some other things relating to the use cases. This is a direct link to 31 business use cases.

Several points about these business use cases.

  • You can download the complete set, see the download link on the page.
  • Each use case has been validated by 4 different XBRL validators and all of those validators report no errors.  (The XBRL Formula stuff used is only validated by one validator.)
  • I would consider these use cases "very safe" areas of XBRL.  This is because of the consistency in the validation across 4 different validators, each provides the results expected, XBRL extension works as expected, and all approaches used come from years of fiddling around with different approaches to articulating these use cases in XBRL. (Considers techniques use in the most current US GAAP taxonomy, IFRS taxonomy, COREP, etc.
  • All the visual stuff in the taxonomy such as the "[Fact Group]", "[Member]", "[Measure-Concepts]", "[Roll Forward]", "[Roll up]" (and so forth) is only visual eye candy and is unnecessary.  Those things appended to the concepts and labels only helps one visualize the taxonomy given the lack of assistance provided by software these days.
  • While I did provide a presentation linkbase, the presentation linkbase is not necessary.  Basically, the presentation linkbase can be autogenerated from the definition linkbase.
  • The presentation, calculation, and definition linkbases are consistent.
  • While I did use the substitutionGroups of the business reporting logical model schemaand doing so is very helpful in creating a consistent XBRL taxonomy, doing so is not necessary.
  • While I did use the measures of the financial reporting logical model schema, I really did not have to because these taxonomies are only demos.  However, the technique of using those measures does enhance comparability across XBRL taxonomies if that is desired.
  • These XBRL instances and XBRL taxonomies do follow the useful practices of the Financial Reporting Instance Standards (FRIS) and Financial Reporting Taxonomy Architecture (FRTA), they do not necessarily follow the useless syntactic constraints imposed by FRIS and FRTA.  On the other hand, the XBRL instances and XBRL taxonomies do follow a number of best practices which would be a good idea for something like FRIS or FRTA (or whatever replaces them) should make use of. So, don't expect that these comply with FRIS or FRTA validation.

I do intend to provide additional documentation which explains the subtle characteristics of these use cases which one can miss if they are not pointed out.  Not sure when. My next goal is to create a comprehensive example which tests these use cases by seeing how they interrelate with one another within one larger business report.

Updated Metapatterns, Business Use Cases, Examples

I have created an updated set of metapatterns, business use cases (i.e. patterns), comprehensive example, and basic example of using XBRL. I have nurtured these examples over the years and have not adjusted them to comply with the Business Reporting Logical Model created by the XBRL International's Taxonomy Architecture (TA) working group, of which I am a member.  These examples are constructed to help come up with that Business Reporting Logical Model and to prove that model.

You can find this information here in various stages of completion. If anyone has ideas on things they might like to see, please contact me directly and I will see what I can do to add what you feel you might need if it makes sense.

Creating these ultra-high quality (my opinion, I can back it up) examples has been a long process. Over the years I have had a lot of help from a lot of people. While I created these examples and take full responsibility for any errors (although I have validated each of these using three different XBRL processors), I would like to thank those who have helped in the past, these could not exist without their help. At this stage, I would particularly like to thank Herman Fisher and Frederic Chapus, both of UBmatrix, for their help with XBRL Formulas. I would also like to thank Cliff Binstock of XBRL Cloud for his help in generating his fact tables and getting those converted to the Business Reporting Logical Model. I would also like to thank those who are members of the XBRL International Taxonomy Architecture working group for their efforts to create and drum up support for this work. (We still need more members.)

  • Metapatterns: Basic building blocks from which the Business Use Cases were built. All of the business use cases can be distilled down to these metapatterns. (Complete.)
  • Business Use Cases: Follow the metapatterns. Contributed to figuring out what the metapatterns were. (At this point I have 11 of about 30 business use cases completed.)
  • Basic Example: Takes the metapatterns and puts them all into one basic XBRL taxonomy which is quite simple, but shows how the metapatterns relate to one another. Tests the relations between the metapatterns. (Complete except for detailed documentation.)
  • Comprehensive Example: Puts each of the business use cases into one XBRL taxonomy and XBRL instance, testing the interrelation of the business use cases.  Also, intended to look like a financial report; but not as complex as a real financial report. (Still have a ways to go on this, I want to finish the business use cases first.)

Keep checking back if you are interested in this sort of thing.  XBRL is not going away any time soon. While this information is quite detailed, I contend that it is worth diving in. Investing in understanding these details pays dividends in many different ways. Also, again, feedback is welcomed. Good ideas to make it even easier to use in particular.

If you are familiar with XBRLS, this new set of examples is intended to replace XBRLS.  Use this stuff instead.