USFRTF "Patterns" for Modeling Financial Reporting Information

Prepared by the USFRTF creation team

This information shows how common information patterns found in US GAAP financial reporting are modeled using XBRL taxonomies.

Using this Information
This information is specifically created for financial reporting, however other domains can benefit from this information.  The contents are intended to show advanced and intermediate users of XBRL for financial reporting how to create what they desire to create; but a bold beginner will likely find this information useful.  It is highly recommended that the user of this information read the document, "Expressing Financial Reporting Information Using XBRL" prior to delving into this information.  Contact the author at the email address above to obtain this document.

On the left is a "Contents" page which has each of the financial reporting patterns listed, and information about that pattern.  Click on the links and the information will appear in the right hand pane, in place of this document.  Press the "Home" button on the contents page to return to this page.

Include here are the following for 20 common "patterns" found in financial reporting.  These patterns are listed in the left pane.  For each pattern the following information is presented (note that there is additional information which describes the characteristics of the pattern in the patterns document:

  1. A human readable version of the pattern so users can see what that pattern looks like (in PDF and HTML).
  2. An XBRL taxonomy (fully FRTA compliant) created to express the information contained in that pattern.
  3. Taxonomy printouts for the taxonomy (presentation, calculation and sometimes only the element list).
  4. An XBRL instance document (fully FRIS compliant) using the taxonomy mentioned above.
  5. An XSLT style sheet which generates the HTML rendering of the instance document information (see 1 above).
  6. An XSLT style sheet which generates the XSL-FO output (see 8 below) which can be used to create a PDF rendering (see 1 above) of the instance information in a human readable format.
  7. An XSLT style sheet which generates Excel output of the instance information in a human readable format.
  8. The HTML output as mentioned in 5 above.
  9. The FO output as mentioned in 6 above.
  10. The PDF output from the FOP which is generated by sending the FO to a rendering engine, which generates PDF.
  11. The Excel output as mentioned in 7 above.
  12. A calculation trace which shows that the numbers in the instance document add up correctly.

Summary of Patterns Shown
The following is a listing of the patterns shown.  The patterns build on one another.  Simpler patterns are shown first, more complex patterns shown later.  One concept is built upon at a time, giving the user of this information focus, learning one concept, then moving forward.  It is highly recommended to move from the top of the list to the bottom in trying to first grasp this information.  Once the information is understood, then this is a great reference for seeing how to achieve specific objectives. 

These patterns focus on the basics.  The more advanced concepts such as extension taxonomies, extension taxonomy issues, scenarios, segments, using substitution groups, issues mapping actual data to taxonomies, etc. are not covered here.  Please contact the author for additional information in these areas.

  1. Simple concept - one concept (helps show what belongs in a taxonomy and what goes in the instance document).
  2. Unrelated concepts - several unrelated concepts (shows information about different data types, balance types, etc).
  3. Specifically related concepts - shows how to model "prose".
  4. Related concepts - several related concepts (introduces the concept of the presentation link base).
  5. Basic calculation - related concepts involved in a calculation (introduces the concept of the calculation linkbase).
  6. Net/gross calculation - net/gross type of calculation (introduces the concept of calculation weights and the balance attribute).
  7. Grand total with subtotals calculation - several interrelated calculations (shows how to handle subtotals).
  8. Multiple calculations - multiple calculations for the same base concept (introduces the concept of extended links to separate networks of calculations, or different ways to arrive at the same value).
  9. Finite number of values for concepts - finite number of values in a list (introduces the concept of "lists" of information by showing something which is NOT a list).
  10. Movement analyses - a simple movement analysis, beginning balance, changes, ending balance (introduces "the movement analysis" which is one of the more complex patterns in XBRL, shows some limitations XBRL has in doing calculations).
  11. Complex concept (tuple) - a complex data type, related information which repeats (introduces the "tuple" and complex data which needs to be tied together).
  12. Multiple values for one concept - data which repeats (points out that any repeating data probably needs a tuple).
  13. Reuse of concepts pattern - using a set of concepts in multiple places (shows how to reuse a tuple).
  14. Complex concept with totals - data which repeats and has calculations associated with it (shows how to do calculations within a tuple, and totaling the members of tuples).
  15. Complex concept with multiple periods - multiple periods of data within repeating data (shows how to handle multiple periods within a tuple).
  16. Movements in Tuple - a repeating movement analysis (shows how to do a movement analysis within a tuple).
  17. Master/Detail - nested complex data or complex data which contains additional complex data (introduces nested tuples, or a tuple within a tuple).
  18. Reconciliation - reconciliation of one account to another account using a list of data (shows how to reconcile two concepts, not necessarily a beginning and ending balance, using the members of a tuple)
  19. Segment Information - disclosing information relating to segments.
  20. Grouped Report - complex repeating data summarized in a report (shows how to express a complicated set of data).
  21. Allowing for different levels of disclosure - allowing for different levels of presenting information (shows a way to ease into XBRL and shows the difference between an abstract element and a string and how it impacts what a user can do with a taxonomy).
  22. Table of numeric concepts - a simple table (ties presentation and calculation together, creating a little more complicated taxonomy and instance document).

How Patterns Tie to Financial Reporting Information
The following "reconciles" certain financial reporting information patterns to XBRL modeling patterns.  Accounts typically understand the financial information patterns listed below.  The intension is to tie the XBRL modeling pattern to the financial reporting pattern so a business user can understand how to express what they desire to express using XBRL.

  1. Balance Sheet, Income Statement - Table of numeric concepts.
  2. Cash Flow Statement - Table of numeric concepts, Movements analysis.
  3. Statement of Equity - Movements analysis.
  4. Accounting Policies - Related concepts.
  5. Financial Highlights - Unrelated concepts.
  6. Related parties and related party transactions disclosures - Master/Detail.
  7. Reconciliation between net income per IFRS and net income per US GAAP - Reconciliation.
  8. Breakout of property, plant and equipment by class - Basic calculation.
  9. Subsequent Events - Multiple values for one concept.
  10. Maturities of debt over the next five years - Finite number of values.
  11. Breaking out tax by current and deferred portions, and by foreign and domestic - Multiple calculations.


* * *