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 from October 18, 2009 - October 24, 2009

Verifying Computations in an XBRL Instance

OK, I have another way to explain what can be validated using XBRL calculations and what you need to use XBRL Formulas to validate.

Take a look at this PDF which has been annotated to show the validation of each computation in the XBRL instance.

For more background on the sample financial statement shown, see this blog post and this summary of all the things which need to be validated when creating an XBRL instance.

Seems like a lot of work!  And it is.  Good thing that a computer application will do the vast majority of the validation for you.  What is the point of all this validation.  Well, remember the saying "garbage in, garbage out".  That is why.  If you want to automate processes, these numbers need to be squeaky clean.

Using and Understanding SEC EDGAR XBRL Filings

This blog post summarizes information relating to using the XBRL information provided by the SEC EDGAR web site. The target audience for this post is a business user who has a little bit of programming skills who wants to understand how to get at the XBRL information on the EDGAR system and to understand issues related to obtaining and using the XBRL information.

There are two approaches to using the EDGAR XBRL information.  The first is manual.  To me this is generally uninteresting, you can use the old EDGAR system to use the information manually.  However, using the EDGAR information manually provides insight into how to use it in an automated manner.  The second approach is a more automatedapproach using a computer application.  I will use Excel as an application to look at the EDGAR XBRL data.

Manual Approach

The manual approach of getting the XBRL filings to the SEC is to use one of two methods.

  1. Use the SEC Search page:  The SEC Search page allows you to put in some information about an organization which must file with the SEC and then you can go to that information.  For example, if you go to that search page, and type into the Company Name box "International Business Machines", and then press the Find Companies button, you would get this result. On that page you will see a blue button which says "Interactive Data".  If you press that, you get this page which is a rendering of the XBRL created by the SEC. What you MAY not know is that you can browse the files for any filing.  For example, if you go to the actual documents (the gray button next to be blue interactive data button), you get this page. That page lists a bunch of documents provided for that filing.  Now, if you take the HTML page out of the URL, you will get this listing. This gives you a listing of all the files which are used to drive the SEC interface into the XBRL and other files.  For example, take a look at this XML file.  That file drives that Interactive Data viewer provided by the SEC.  Look at the file names within that XML file and you see the detailed reports in an XML format.  Those reports drive the HTML and Excel versions of the company filings provided by the SEC. For example, this is the XML file with infomation about Acquistions for IBM.
  2. List of XBRL Filings: Now, you can use the RSS feed(see below) to get a list of the last 100 filings made to the SEC in XBRL.  Regretfully, the SEC does not provide a list of ALL the SEC XBRL Filings.  But, a software vendor, XBRL Cloud has provided a list of ALL THE SEC XBRL FILINGS.  You can see that list of all XBRL filings to the SEC here. From that list, you can navigate to any of the pages pointed out above in "1" above.  What I did myself is create a little short cut to the files that I wanted to deal with.  Here is that list, I call it a "Mashup Console".  I basically used the XBRL Cloud information to grab filing information, I used some other software I had laying around from Coyote Reporting which we used on the US GAAP Taxonomy creation project, I modified those, and I created some things like this rendering of the presentation linkbase of EVERY SEC FILER who submits XBRL. This is helpful because the SEC provides no way to take a look at the XBRL taxonomies provided for SEC XBRL filers.  But you CAN get those from my mashup console. There is more available, but I will get to that under the automated processing portion of this discussion as that is what the other information is for.

Here are some other useful tools created to access XBRL related information from the SEC web site created using the files mentioned above and some automated processing mentioned below:

 

Automated Approach

To use the EDGAR information with any sort of software application, the first thing you need to do is find the XBRL SEC filings.  There are two ways to do this:  the SEC can tell you about the XBRL filings or you can go find them yourself.  Finding these yourself is generally above the skill level of business users trying to get at the information; this is what programmers are for.

The SEC tells you about the SEC filings by providing an RSS feed. This lists the RSS feeds provided by the SEC at this point in time. The first RSS feed on the list is really the only list of XBRL documents filed but it really is not that useful as it only provides the latest 100 filings.  Rumor has it that the SEC will provide a way to get at all the XBRL filings, but at this point that complete list does not exist.

But, a software vendor, XBRL Cloud, has gone through the effort of figuring out how to get all of the SEC filings and has made that listing publicly available.  This is an HTML version of all XBRL filingsmade to the SEC. That HTML listing of XBRL filings to the SEC is interesting, but what is more interesting is an XML version of that listing. The reason this is more interesting is that you can write a very simple Excel macro to grab the list of all XBRL filings to the SEC.

So, really, there is only one practical way to perform automated processing of XBRL filings, from a list of such filings.  Having to find them yourself would be really hard to do.  You CAN do this.  The SEC provides a number of interfaces into the information such as this which exists for every SEC filing(XBRL or otherwise). You can see the CIK number (a unique ID for every filer) and the Asseccention Number (a unique ID for every filing).  These two numbers can be used to get at every filing for every filer.

Another way to get at all this information is to use FTP. This is a link the the SEC FTP interface to EDGAR filings.  Here is information for FTP users provided by the SEC.

To get at the EDGAR information using a simple software application, see this blog entry. The code provided in the application (this is just Excel VBA) can provide a lot of insight as to HOW to get at the SEC data using automated approaches.  The limitation of this tool is that it does not use an XBRL processor to access the information.  An XBRL processor would make a lot of things much simpler, but you really need to be a programmer to use most XBRL processors these days.

Issues and observations

The following are issues and observations made as part of looking at the existing SEC filings.

 

Posted on Tuesday, October 20, 2009 at 08:04AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Business Rules: Their Role In Creating Quality Information

Business rules are critical to creating quality XBRL.  They are not sufficient, but they are necessary.  And creating quality XBRL is important.  Consider the article X Marks the spot, for Errors published by CFO.com which says:

Early results indicate that filing financial statements in XBRL is far from simple.

Well, I see this slightly differently.  XBRL actually can be quite simple, if you understand the process (i.e. what the process is) and have good software to help you through that process and supports that process.

Today, most people don't seem to understand that process and software does not support that process in a workflow which is very helpful to business users.  I think that this is just part of the normal evolution which XBRL has to go through.

So, what is the process?  Well, I have a little work in progress which will eventually be articulated in a blog post.  You can see what I have so far at this URL. I will explain this in more of a narrative form later, but fur now if you choose to, you can figure out the entire process.  There are plenty of examples.

But the focus here is business rules and the role they play in the validation process. This is number 3 on the list above.

Business rules are expressed in XBRL using XBRL Formula. People have been discussing the need for XBRL Formula since the beginning of XBRL.  Over the years there have been proprietary versions of XBRL Formula and even some prototype implementations.  But now XBRL Formula is a global standard.

But, XBRL Formula and the business rules you can create with XBRL Formula is not used extensively in many XBRL taxonomies as of yet.  For example, the US GAAP Taxonomy does not provide business rules, yet anyway.  But, you do need them because whether you realize it or not, you have computations which XBRL calculations cannot handle.

For example, take a look at and consider the Movement in Property, Plant and Equipment [Roll Forward]in the US GAAP Taxonomy. This reconciles the beginning balance, the period increase or decrease to the ending balance of Property, Plant and Equipment.  The reason XBRL calculations cannot validate this computation is because XBRL calculations only work if every concept participating in a calculation is in the exact same context.  With a roll forward, you have three different contexts as each concept in the computation is in a different period.  Thus, you need XBRL Formulas to express this business rule.

I forget the number of [Roll Forward]s which exist in the US GAAP Taxonomy, but it is a substantial number as these types of reconciliations are common in financial reporting.  There are other types of computations which XBRL calculations will not handle, the [Roll Forward] is only one example to make the point.

You can see a more specific example of a roll forward (another term for roll forward is movement analysis) here in this set of examples.  Look at number 4.  Here is a PDF rendering of a simple movement (or roll forward) example in PDF, in the XBRL instance, the XBRL Formula, and the detailed validation output.

The XBRL Formulas looks complex, but because, for example, the US GAAP Taxonomy has a consistent way to express the information model for a [Roll Forward], a software developer can actually automate the process of creating a formula for every [Roll Forward] in the US GAAP Taxonomy.

There really is no reason to have to verify computations like these manually, computers are much more accurate than humans.  XBRL US will likely provide XBRL Formulas for every [Roll Forward].  Until they do, you still need to verify your computations.  You really don't want to show up with this type of error in something like XBRL Cloud's list SEC filer errors now would you.

Further, people have been talking about using business rules to automate as much of a financial statement disclosure checklist as possible for years.  Thing like "If you have the line item 'Property, Plant, and Equipment, Net' on your balance sheet, then you must have...."  You get the idea.  These types of "if-then" statements are quite easy for an automated process to check.  You will never be able to automate the detection of every possible error, but you can leverage XBRL to both improve the quality of what you do today, and you certainly can reduce the cost of getting to that quality level.

Business rules will even become more powerful as taxonomies become more like ontologies.  But that story is for another blog post.  Stay tuned for details!

 

Posted on Monday, October 19, 2009 at 08:00AM by Registered CommenterCharlie in , , , | CommentsPost a Comment | EmailEmail | PrintPrint

Business Rules: What are they?

My blog has a page which is dedicated to business rules.  What this post and the next several posts does is help business users understand what business rules are and why they are important.  I am in the process of updating the XBRL Formulas information from the candidate recommendation (CR4) to the actual released version of XBRL Formulas.  This will be done over the next several weeks.

The ability to express business rules is probably the single most powerful feature of XBRL (other than the fundamental ability to express business information in a standard structured format).

The term "business rules" can be defined in many ways. A good resource for understanding exactly what business rules are is the Business Rules Group.  You can see this URL for more information.

There really is no standard definition for what a business rule is.  Here are some definitions which others use to help you get a sense for what business rules are:

  • A formal statement that defines or constrains some aspect of a business that is intended to assert business structure, or to control or otherwise influence the behavior of the business
  • A way of expressing the business meaning (semantics) of a set of information
  • A formal and implementable expression of some business user requirement
  • The practices, processes, and policies by which an organization conducts its business

Business rules exist in the form of relationships between pieces of business information. Some examples can help you better understand exactly what they are:

  • Assertions: For example asserting that the balance sheet balances or Assets = Liabilities + Equity.
  • Computations: For example, calculating things, such as Total Property, Plant and Equipment = Land + Buildings + Fixtures + IT Equipment + Other Property, Plant, and Equipment.
  • Process-oriented rules:  For example, the disclosure checklist commonly used to create a financial statement which might have a rule, "If Property, Plant, and Equipment exists, then a Property, Plant and Equipment policies and disclosures must exist."
  • Regulations: Another type of rule is a regulation which must be complied with, such as "The following is the set of ten things that must be reported if you have Property, Plant and Equipment on your balance sheet: deprecation method by class, useful life by class, amount under capital leases by class . . ." and so on.  Many people refer to these as reportability rules.
  • Instructions or documentation: Rules can document relations or provide instructions, such as "Cash flow types must be either operating, financing, or investing."

Today, it is quite common that business rules are application specific.  But what if business rules were not locked into a specific software application? What if these rules could be exchanged along with the information.  That is the power of business rules.  What the exchange of business rules allows is the efficient and effective automation of information exchange across business systems.

If you have ever received an Excel spreadsheet from someone and had to rely on the information in that spreadsheet for something important but you really were not sure about all those cell formulas in the spreadsheet you will understand what I mean.  Imagine if you could have insight into all those formulas in your terms, rather than rely on formulas provided by the spreadsheet creator.

More to come...