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.
Overview
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.
- An XSLT style sheet which generates Excel
output 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.
- The Excel output as mentioned in 7 above.
- 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.
- 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
types, etc).
- Specifically related concepts - shows
how to model "prose".
- 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
linkbase).
- Net/gross calculation - net/gross
type of calculation (introduces the concept of calculation weights and the
balance attribute).
- Grand total with subtotals calculation
- several interrelated calculations (shows how to handle subtotals).
- 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).
- 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).
- 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
tuple).
- Reuse of concepts pattern - using a
set of concepts in multiple places (shows how to reuse a tuple).
- 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).
- Movements in Tuple - a repeating
movement analysis (shows how to do a movement analysis within a tuple).
- Master/Detail - nested complex data
or complex data which contains additional complex data (introduces nested
tuples, or a tuple within a tuple).
- 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)
- Segment Information - disclosing
information relating to segments.
- Grouped Report - complex repeating
data summarized in a report (shows how to express a complicated set of data).
- 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).
- 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.
- Balance Sheet, Income Statement -
Table of numeric concepts.
- Cash Flow Statement - Table of
numeric concepts, Movements analysis.
- Statement of Equity - Movements
analysis.
- Accounting Policies - Related
concepts.
- Financial Highlights - Unrelated
concepts.
- 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.
* * *