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 comprehensive example (2)
First Iteration of Comprehensive Example Available
The first iteration of what I call the "comprehensive example" is available on my web site. What the comprehensive example does is take all of the business use cases and puts them into one XBRL instance. The purpose of this is to test the interrelationships between the use cases and to provide something that looks enough like a financial statement so that it seems real, but is not as complex as a real financial statement so is easier to work with.
The comprehensive example puts all the issues of expressing information using an XBRL taxonomy and XBRL instance where you can see them. In its current form, you have to dig a bit because I have not provided a narrative which ties all the pieces together. I have only provided the pieces themselves. But, should one roll up their sleeves and dig in, there is a lot to see and learn.
Here are the key points of this comprehensive example XBRL taxonomy and XBRL instance (all these are detailed on the overview page):
- Use case: This is a visualization of the use caseI am trying to express in XBRL.
- End result: This is the end result I was able to generated to meet the use case. This is what I call a "viewer" or a rendering of the exact same information auto-generated from only the XBRL taxonomy and XBRL instance.
- Metapatterns: The comprehensive example has come full circle. I used to create XBRL taxonomies by keying XBRL syntax into an XBRL application. That is the wrong way to work with XBRL. The right way is to add a business semantics layer above XBRL. This makes generating XBRL easier for business users and it yields higher quality XBRL. The comprehensive example and business use cases proves the metapatterns. The metapatterns were derived from the business use cases and the comprehensive example. Basically, work with metapatterns, not XBRL. Generate the XBRL automatically from the metapatterns.
All the other things support the process of getting from the use case to the end result. The "other things" overcome all of the issues that I have run across. For example, the comprehensive example has 53 different information components. I needed to put them into a sequence. I used an XBRL taxonomy definition linkbase to create an ordering of the components. I call this the "flow" of the business report. You can see that flow expressed here. This is far better than ordering the extended links using numbers in the extended link description. They are not all done yet, but I will have 100% of the computations in the XBRL instance verified (i.e. the data integrity is checked) using business rules. See the results here and here. That is just a taste of what you can see on the overview page if you care to look. Eventually I will create a narrative which connects things together better.
The most important thing the comprehensive example shows me is how to make XBRL work soundly and safely when leveraging XBRLs extensibility. The keys are being explicit, being consistent, and having a sound architecture.
These ideas are not the only way to tame the XBRL beast to get it to effectively and efficiently serve your needs. But, they are the best accumulation of techniques that I could put together based on what I have learned over the years about working with XBRL.
Check back for updates, I am still plunking away at this as time permits.
Updated Metapatterns, Business Use Cases, Examples
I have created an updated set of metapatterns, business use cases (i.e. patterns), comprehensive example, and basic example of using XBRL. I have nurtured these examples over the years and have not adjusted them to comply with the Business Reporting Logical Model created by the XBRL International's Taxonomy Architecture (TA) working group, of which I am a member. These examples are constructed to help come up with that Business Reporting Logical Model and to prove that model.
You can find this information here in various stages of completion. If anyone has ideas on things they might like to see, please contact me directly and I will see what I can do to add what you feel you might need if it makes sense.
Creating these ultra-high quality (my opinion, I can back it up) examples has been a long process. Over the years I have had a lot of help from a lot of people. While I created these examples and take full responsibility for any errors (although I have validated each of these using three different XBRL processors), I would like to thank those who have helped in the past, these could not exist without their help. At this stage, I would particularly like to thank Herman Fisher and Frederic Chapus, both of UBmatrix, for their help with XBRL Formulas. I would also like to thank Cliff Binstock of XBRL Cloud for his help in generating his fact tables and getting those converted to the Business Reporting Logical Model. I would also like to thank those who are members of the XBRL International Taxonomy Architecture working group for their efforts to create and drum up support for this work. (We still need more members.)
- Metapatterns: Basic building blocks from which the Business Use Cases were built. All of the business use cases can be distilled down to these metapatterns. (Complete.)
- Business Use Cases: Follow the metapatterns. Contributed to figuring out what the metapatterns were. (At this point I have 11 of about 30 business use cases completed.)
- Basic Example: Takes the metapatterns and puts them all into one basic XBRL taxonomy which is quite simple, but shows how the metapatterns relate to one another. Tests the relations between the metapatterns. (Complete except for detailed documentation.)
- Comprehensive Example: Puts each of the business use cases into one XBRL taxonomy and XBRL instance, testing the interrelation of the business use cases. Also, intended to look like a financial report; but not as complex as a real financial report. (Still have a ways to go on this, I want to finish the business use cases first.)
Keep checking back if you are interested in this sort of thing. XBRL is not going away any time soon. While this information is quite detailed, I contend that it is worth diving in. Investing in understanding these details pays dividends in many different ways. Also, again, feedback is welcomed. Good ideas to make it even easier to use in particular.
If you are familiar with XBRLS, this new set of examples is intended to replace XBRLS. Use this stuff instead.