Expressing Financial Reporting Information Patterns Using XBRL
This information is a companion to the document
"Expressing Financial Reporting Using XBRL" commonly
referred to as "the Patterns Document", written by Charles
Hoffman, CPA, over a three year period. The information has been
accumulated over the years and has been used to contribute to the XBRL 2.1
specification, FRTA, FRIS, the IFRS-GP and US GAAP taxonomies, directly and/or
indirectly. Information presented here is made available "as is".
However, every effort has been made to ensure the information is XBRL 2.1
compliant, FRTA compliant, and FRIS compliant (to the extent that FRIS
validation is available). Each XBRL instance document and taxonomy has
passed through three different validators to ensure their accuracy. If you wish further information, have comments,
or have questions, please contact Charles Hoffman. (CharlesHoffman@olywa.net)
The author would like to acknowledge the following
individuals who have made significant contributions to this document, directly or
indirectly: Josef Macdonald, Jim Richards, Roger Debreceny, Thomas Egan, Walter
Hamscher, Jeff Naumann, David Prather, Geoff Shuetrim, David Scott Stokes, Alan
Teixeira, Brad Homer, David vun Kannon, Rene van Egmond, Hugh Wallis.
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:
- A human readable version of the pattern so
users can see what that pattern looks like (in PDF and HTML).
- An XBRL taxonomy (fully FRTA compliant)
created to express the information contained in that pattern.
- Taxonomy printouts for the taxonomy
(presentation, calculation and sometimes only the element list).
- An XBRL instance document (fully FRIS
compliant) using the taxonomy mentioned above.
- An XSLT style sheet which generates the HTML
rendering of the instance document information (see 1 above).
- 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.
- The HTML output as mentioned in 5 above.
- The FO output as mentioned in 6 above.
- The PDF output from the FOP which is
generated by sending the FO to a rendering engine, which generates PDF.
- A calculation trace which shows that the
numbers in the instance document add up correctly.
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
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.
- Simple concept - one concept (helps
show what belongs in a taxonomy and what goes in the instance document).
- Unrelated concepts - several
unrelated concepts (shows information about different data types, balance
- Related concepts - several related
concepts (introduces the concept of the presentation link base).
- Basic calculation - related concepts
involved in a calculation (introduces the concept of the calculation
- Net/gross calculation - net/gross
type of calculation (introduces the concept of calculation weights and the
- Table of numeric concepts - a simple
table (ties presentation and calculation together, creating a little more
complicated taxonomy and instance document).
- Grand total with subtotals calculation
- several interrelated calculations (shows how to handle subtotals).
- 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).
- 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).
- 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).
- Complex concept (tuple) - a complex
data type, related information which repeats (introduces the "tuple" and
complex data which needs to be tied together).
- Multiple values for one concept -
data which repeats (points out that any repeating data probably needs a
- 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).
- Complex concept with multiple periods
- multiple periods of data within repeating data (shows how to handle
multiple periods within a tuple).
- Reuse of concepts pattern - using a
set of concepts in multiple places (shows how to reuse a tuple).
- Master/Detail - nested complex data
or complex data which contains additional complex data (introduces nested
tuples, or a tuple within a tuple).
- 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).
- Movements in Tuple - a repeating
movement analysis (shows how to do a movement analysis within a tuple).
- Grouped Report - complex repeating
data summarized in a report (shows how to express a complicated set of data).
- 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).
The following "reconciles" certain financial
reporting patterns to XBRL patterns. Accounts typically understand these
terms, pick the pattern which matches what you are trying to express:
- Balance Sheet, Income Statement -
Table of numeric concepts.
- Cash Flow Statement - Table of
numeric concepts, Movements analysis.
- Statement of Equity - Movements
- Accounting Policies - Related
- Financial Highlights - Unrelated
- Related parties and related party
transactions disclosures - Master/Detail.
- Reconciliation between net income per
IFRS and net income per US GAAP - Reconciliation.
- Breakout of property, plant and equipment
by class - Basic calculation.
- Subsequent Events - Multiple values
for one concept.
- Maturities of debt over the next five
years - Finite number of values.
- Breaking out tax by current and deferred
portions, and by foreign and domestic
- Multiple calculations.
- Move coming soon...
* * *
Copyright © December 2004 UBmatrix