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 US GAAP Taxonomy (85)
Understanding Application Profiles
I use the term application profile from time to time. Do you understand what an application profile is or how application profiles provide benefits to business users? This blog post answers those two questions.
Section 1.4 (page 4 of 44) of the US GAAP Taxonomy Architecture explains what an application profile is from the perspective of the US GAAP Taxonomy:
Application profile - These voluntary restrictions followed by version 1.0 architecture form an "application profile" for the use of XBRL features within the taxonomy. It is strongly recommended that extensions to version 1.0 stay within this application profile. Systems using version 1.0 may, at their option, set rules which force extension taxonomies to stay within this application profile.
The US SEC follows these restrictions. For example, the US GAAP Taxonomy Architecture says that: (a) all XBRL Dimensions information must be put into the context segment element (XBRL allows them to go into either the segment OR the scenario element), (b) typed members cannot be used (XBRL allows these), (c) no tuples are allowed (XBRL allows tuples).
These restrictions of XBRL (i.e. use segments, no typed members, no tuples) are set by the US GAAP Taxonomy Architecture and followed by the US SEC. There are more restrictions that the US SEC places on XBRL. For example, the SEC specifies that the context entity scheme used must be the SEC CIK number scheme and that the value of the entity identifier must be a valid CIK number.
Never does the SEC or the US GAAP Taxonomy ADD anything to XBRL, they always remove from what is allowed. If they added things to an XBRL instance or an XBRL taxonomy, they would be violating the XBRL global standard specification. Now, they can and do add things outside the XBRL. For example, the RSS feed which is used to make people aware of SEC XBRL filings goes beyond XBRL. In this way, the SEC is adding things to their system.
Now, XBRL software is not expected to use this RSS feed. So, the RSS feed, although adding to the entire SEC system, does not break XBRL. What we are talking about here are restrictions on XBRL, always using less than what is allowed by XBRL; thus restricting how a user can use XBRL.
Why would anyone require such restrictions? Well, there are a couple of reasons. One is that XBRL is a general purpose language, it has to meet the needs of business reporting as a broader use case than financial reporting which is implemented by the SEC. XBRL provides a number of different ways of achieving something. To make it so users of XBRL within a system pick the say way and are therefore interoperable, restrictions of the approach to achieving something are necessary.
Another reason an application profile's restrictions can be helpful is in making things easier for business users. For example, in the US GAAP Taxonomy, within a [Table], it is guaranteed that you have only two types of child concepts to a [Table] concept: an [Axis] or [Line Items]. Go look at the taxonomy and see for yourself. Taxonomy creation applications can leverage this consistency and make many things easier for users who have to edit or extend a taxonomy.
Now, a tool which supports a specific application profile may be easier to use because it leverages that profile, but there is a down side. The down side is that the software which supports one application profile might not support some other application profile. However, a general XBRL taxonomy editor would support any application profile which stays within the XBRL global specification. Should like you would never want to create such software, one which supports one application profile of XBRL but does not support another application profile of XBRL. That is the trade off. But, considering that business users find editing XBRL taxonomies challenging and considering the size of the SEC XBRL use case, it is highly likely that software application specific to the SEC XBRL implementation will eventually appear.
Another thing worth pointing out is that the US GAAP Taxonomy is not the only application profile of XBRL. For example, the FINREP taxonomy has its own architecture (i.e. it has its own profile). And COREP also has its own application profile. Other taxonomies have their own application profiles also.
The fact of the matter is that EVERY XBRL taxonomy has its own application profile! Some are documented like the US GAAP and FINREP, and others are less documented or not documented at all. In fact, even taxonomies which do very similar things such as financial reporting have different architectures. For example the US GAAP Taxonomy, the IFRS taxonomy and the EDINET taxonomy have different architectures. The International Taxonomy Architecture group is comparing these architectures and working to come up with one common architecture which all three groups can use.
It is quite expensive to create an application profile, more expensive than people first realize. You need to document the architecture such as the US GAAP Taxonomy and the FINREP documented their architectures, you have to write tests to be sure XBRL software creating XBRL taxonomies and XBRL instances stay within the application profile. For example, here are the test cases the SEC had to build. There are hundreds of tests.
Is it possible for the US GAAP Taxonomy, IFRS, and EDINET to all use the same application profile. Well, actually that may not be necessary as the world is moving toward one set of financial reporting standards, IFRS. That may or may not actually occur. Type will tell. It may or may not be the case that these three rather large use cases can agree on one application profile. Time will tell.
What if you did not have to create your own application profile; what if you could just pick up someone else's and use theirs. For example, why couldn't someone simply use the US GAAP Taxonomy architecture and the test case implementations and other infrastructure in their application profile of XBRL. Frankly, i think that is exactly what people will do. Software vendors are investing a tremendous amount of money in building the software infrastructure to support the SEC XBRL filers. That software will meet a rather robust use case. I believe that the US GAAP Taxonomy Architecture has a good chance at becoming an ad hoc standard for other business reporting use cases. Time will tell.
What do you think wil unfold?
Here is another blog entry which explains why business users will like application profiles.
Really want to know even more? Here is a link to a Google search for the term "application profile" on my web site.




Auditing SEC XBRL Filings
Making sure that your SEC XBRL filing is correct is not a matter of technical wizardry, but rather understanding the types of things which can go wrong. If you understand the types of things which can go wrong you can be proactive and make sure those things don't go wrong and if they do be sure to detect the error.
Creating an SEC XBRL filing is a lot like figuring out a Sudoku puzzle. If you understand Sudoku than you know that there are not multiple answers to a puzzle, there is one answer. This is also the case for an SEC XBRL filing: there is really only one right answer given a set of financial information one is trying to disclose. If you think about it that makes sense. Would you really want there to be more than one right answer? How useful would that be.
While the SEC does not require independent audits of XBRL filings submitted to them currently, you still need to have internal processes and checks on your work to be sure what you are creating is correct. A step beyond this is having your internal audit function check to be sure your processes are good ones and that they are yielding quality results. Further, it is just a matter of time before the SEC will require XBRL filings to be audited by an independent accountant. While the accounting/auditing profession works to figure out and formalize what these independent audits of XBRL will look like, being ignorant of what is required to output a quality product is really not a good idea.
Accountants like checklists. We use checklists when we issue a financial statement, a disclosure checklist. Eventually these disclosure checklists will incorporate the things you need to do to be sure your XBRL filings are correct. Here is a list of many of the types of the questions you should be asking yourself and ways to detect these types of mistakes so they can be corrected before you press that "Submit" button and your work goes to the SEC and is available for the entire world to see.
- Do I have the right taxonomy? If you find yourself adding a lot of concepts and relations you may want to spend a little more time seeking out additional taxonomy components you might have missed.
- Do I have the right industry concepts?(if you are in a specialized industry) While some specialized industries such as banking and insurance have specific entry points to the US GAAP taxonomy, other industry specific concepts are spread throughout the taxonomy and can be hard to locate. Again, if it seems like concepts and relations probably should exist but you did not find them, they probably do exist. You just need to spend more time looking. Using a taxonomy viewer search capabilities (in a good tool) you can generally find concepts by searching for them. Be aware that they may not be called exactly what you would call them so your searches of the taxonomy have to be pretty creative these days. Eventually someone will create a nice synonym database which will make this process easier.
- Am I extending the taxonomy correctly? Did you build your [Table]s correctly? Did you build your [Roll Forward]s correctly? The US GAAP Taxonomy is not random or arbitrary. It was built in a particular way. You need to understand how things are built so that you can build your extensions so that they are consistent with the way the US GAAP Taxonomy is constructed. Eventually software will provide more help, today this is more challenging. Some taxonomy creation tools provide validation (information model validation) which helps you detect inconsistencies so you can correct them.
- Am I allowed to extend the taxonomy in a specific location? An extreme example will show what is meant here. It would make no sense to add concepts on the balance sheet which were siblings to "Assets" or "Liabilities" or "Equity". What other broad categories are there on the balance sheet? As you get lower and lower into the details it becomes more challenging to understand if you really should be extending a taxonomy in a specific area.
- Should I create a new taxonomy concept? When is it appropriate to create a new taxonomy concept? For example, a minority of filers (3 of about 500) created a concept "Net Changes in Cash and Cash Equivalents" which is the sum of all changes in cash on the statement of cash flows. The other 497 did not. Those numbers make it seemly hard to justify an entity creating a new concept rather than using an existing concept. In the case of net changes in cash and cash equivalents it is rather obvious that a new concept should not have been created. In other cases it is not quite as obvious. Judgement is needed and knowledge of how XBRL works is necessary to help you pick the appropriate course of action.
- Are all the XBRL instance fact values associated with the correct XBRL taxonomy concepts? Should you be using the concept "Cash" or "Cash and Short Term Investments" or "Cash and Cash Equivalents" or some other version of cash from the US GAAP Taxonomy? Was some sort of tagging mistake made? Many types of these errors can be detected by a computation not adding up correctly. Other tagging mistakes will not be detected using the validation of computations. Understanding XBRL enough to understand which approach to use to detecting tagging errors is important to know.
- Are all the XBRL instance fact values associated with the correct context?(i.e. entity, entity segment, period, and so forth) This is similar to detecting concept tagging errors. Again, the validation of computations will help detect this type of error in many but not all cases.
- Are all numeric XBRL instance fact values associated with the correct units? (i.e. dollars, Euros, shares, pure and so forth) This is likewise similar to detecting concept tagging errors.
- Are all numeric XBRL instance fact values associated with the appropriate decimal value? (i.e. rounded to thousands, millions, billions, or not rounded at all) This is likewise similar to detecting concept tagging errors.
- Are all numeric XBRL instance fact values properly associated with other XBRL instance fact values?(i.e. are the computations correct) Clearly all your numbers should add up properly where they should add up. This can be similar to detecting tagging errors, if you have the computation expressed in your business rules. Realize that the US GAAP Taxonomy does not express all computations. This does not mean that your numbers don't need to add up. Just like in your printed financial it can be embarrassing when your "Increase (Decrease) in Receivables" on your case flow statement does not tie to the actual change in receivables on your balance sheet, the same relations need to work in your XBRL filing. One big missing set of computations are those for [Roll Forward] type relations. XBRL US does not publish those computations. They are easy enough to auto-generate from the XBRL taxonomy. You need to do that to create the XBRL Formulas (the best way) or some other means of verifying the accuracy of your XBRL instance fact values.
- Is the polarity of numeric fact values correct?(i.e. did you enter a number as a positive when it should have been entered as a negative) People tend to confuse how a number is presented and how it should be put into the XBRL instance: as a positive or as a negative. Different people have different ideas on what should be shown as a positive and what should be shown as a negative on a financial statement. For comparability purposes, XBRL had to get creators of financial information to agree. That is why XBRL is not about how the number is presented, it is about communicating clearly whether something should be added or subtracted. You can present it in your HTML or paper filing however you like. Once you realize this, it is quite easy to test the polarity of a number: via the computation validation. If a number is not involved in any computations, being sure the polarity is correct can be more challenging, it even might be a task which needs to be checked manually.
- Does the XBRL instance match the HTML or other version of the financial statements?While a short term problem which will exist when companies have to file both HTML and XBRL, you do need to be sure that what you are saying in your HTML and XBRL is the same thing. Many companies are starting to realize that you can generate the HTML from the XBRL information. This can make the process of reconciling the two formats substantially easier. While you may not have to file the HTML with the SEC much longer, clearly you are going to want to look at the financial information expressed in that XBRL instance. Even a "geek" cannot look at an XBRL instance and determine if it is correct. You will likely always use some sort of rendering to help you be sure your XBRL instance is properly created. What you do need to understand is the process used to create the human readable format so you understand what could break and give you misleading results which would potentially result in an incorrect conclusion on your part.
Good use of things like XBRL Formula to create the business rules you need to enforce automated tests to be sure that, say, all your numbers add up and that your taxonomy is constructed appropriately can help you weave your XBRL Sudoku puzzle together correctly. Understanding what can go wrong will help you understand the automated tests which you need to get things right.
All this seems like a great deal of work right now and it is because old processes are being used to generate a new type of output. Besides, today an SEC filer submits both the old HTML or ASCII filings to the SEC along with the XBRL filings. This will change. The SEC has already stated publicly that the HTML/ASCII filings will eventually go away and the only submissions will be in XBRL. That makes sense; why would you want to have to reconcile the HTML/ASCII filings to XBRL filings?
Eventually, when the current legacy processes are replaced with processes appropriate for creating financial statements using XBRL the process will not only be easier but the quality of the output will be improved and the effort and resources required to achieve the high level of quality will be significantly reduced. This is because all those XBRL tags can be leveraged to allow computers to perform many, many more of the checks humans are required to perform today. Generally accountants don't realize this yet but once this software starts showing up they will recognize the benefits.
For more information on what can go wrong in your SEC XBRL filings see this blog post. It contains the top 10 errors which are found in SEC XBRL filings. Also, realize that XBRL is XBRL, be it filed to the SEC or someone else. Other XBRL is subject to the same types of errors as SEC filings. The point is that this information is useful for XBRL submissions to any regulator, not just XBRL filings to the SEC.




Federation of European Accountants Issues Policy Statement on XBRL
The Federation of European Accountants (FEE) issued a policy statement on XBRL. The six page policy statement titled eXtensible Business Reporting Language (XBRL) - The impact on accountants and auditors can be found here on the Web.
The policy statement goes further than anything else that I have seen coming out of the accounting community in saying that accountants are going to have to understand XBRL. I agree with these statements. The FEE states
There are two pillars to XBRL: an IT literacy pillar and a technical accounting and auditing pillar. Organisations wishing to adopt XBRL will need to consider both pillars in establishing their training needs to ensure successful use of XBRL.
The FEE also points out key areas for training for accountants, identifying necessary skills required including:
- Select the appropriate taxonomy and download from the appropriate web page;
- Identify taxonomy elements required for any particular instance;
- Identify when a valid taxonomy extension is required;
- Create valid extensions; and
- Create valid instance documents in line with the appropriate specification or user guide.
If you are an accountant anywhere in the world, particularly if you practice in the area of public accounting, you definitely want to take a look at this policy statement as a clue of what is coming down the road in the world of accounting and financial reporting.




Continuing to Fiddle with RDF/OWL, Seeing Some Patterns
I am continuing to fiddle around with RDF/OWL. I updated my little index page which summarizes my brainstorming. I added an RSS feed to enable grabbing all of the ontologies with an application. In doing that a question that popped into my mind is whether the "RSS feed" really should also be an ontology or in RDF rather than in RSS. So, I did some checking. I don't know that I got this correct, but I created an ontology of ontologies. I will get to the correct approach, but if you look at this you should have the same questions that I had.
Another thing I tried to do is model all the pieces that I am seeing, which I did in this little box diagram. There are many things that I am seeing from that diagram which I will get to later in other posts. One primary thing I see is something which I touched on before, but now want to expand on a little.
There seems to be a "spectrum" of approaches to implementing a system for exchanging information:
- Something: Some approach, proprietary pieces and standard pieces, does not even have to be XML, it could be JSON based or CSV files, whatever.
- XML + Something: You could use XML and the old approach of a DTD, and a bunch of other proprietary or standard stuff.
- XML + XML Schema + Something: You could use XML and XML Schema plus some other proprietary and standard stuff.
- XBRL + Something: You could use XBRL and some other proprietary and/or standard stuff.
- XML-based Language + Something: You could use some other XML language and then add some other proprietary and/or standard stuff.
- RDF + Something: You could use RDF alone and then add some other proprietary and/or standard stuff.
- OWL/RDF + Something: You could use OWL/RDF and then some other proprietary and/or standard stuff.
This analysis may seem odd, but I see two things. First, each solution needs "something" more. The second is that the something can be a combination of standard and proprietary stuff. That "something" has a cost associated with it.
The truth is you probably have a multitude of systems which exchange information, maybe even one from every option in the spectrum. Well, that is what the Semantic Web is about, solving the problem of multiple formats and using the information from all the different systems as one big set of information. That grand vision is what RDF and OWL are for, the standard format.
So, what is that "something"? Think about it. Knowing that is really the $64,000 question. Knowing the answer helps one choose between the different options. What, you don't exchange business information with anyone? Really.
I will look at breakind down that "something" in later blog posts. Stay tuned...




SEC XBRL Filings Cheat Sheet
I discussed the notion of an information model and discussed [Table]s in other blog posts. I showed inconsistencies in the information model of SEC XBRL filings in my analysis of those filings and summarized suggestions as to how to create investor friendly SEC XBRL filings (see #6 which relates to following the US GAAP Taxonomy information model).
I created a little cheat sheet which helps people understand that information model. I am trying to explain visually the relationships between, for example, a [Table], [Axis] and [Line Items]. This may not be apparent from looking at the US GAAP Taxonomy. But once you see them, you will see why this is a guide to how to SEC filers should extend the US GAAP Taxonomy. Meaning, why would the US GAAP Taxonomy go through the trouble to structure the taxonomy so consistently and why would filers NOT follow the structure of the US GAAP Taxonomy? Clearly you can imagine that everyone creating their company extension taxonomies in various unique different ways can be both confusing to users and hard for any rendering engine to deal with.
I hope this graphical model is helpful in identifying these information modeling metapatterns and following them.
Further, imagine software applications which leveraged these information modeling patterns and let users edit at the information model level (i.e. you deal with the patterns, not the lower level XBRL syntax). This will make creating SEC XBRL filings much, much easier.



