How do you eat an elephant? A piece at a time. The US GAAP XBRL Taxonomy is not one big thing. It is made up of lots and lots of little things. Lots of disclosures.
If you are a human, you can read these disclosures here.
If you are a machine, you can read these disclosures here. That is an XBRL taxonomy schema which contains a list of disclosures from the 2015 US GAAP XBRL Taxonomy.
I wanted to test certain aspects of each disclosure such as:
- What is the information model of the disclosure?
- What is the equivalent Level 3 Text Block for a Level 4 detailed disclosure?
- What [Axis] are required to be used on a disclosure?
- What concept is required for a Level 4 detailed disclosure?
So, I created a set of arcroles which I could use to express relations as an XBRL taxonomy schema.
I then used those arcroles to express information from my bulleted list above for each disclosure in the form of an XBRL definition linkbase. Here is the individual XBRL definition linkbases for a handful of disclosures:
- Balance sheet (human readable)
- Environmental exit costs (human readable)
- Acquired indefinite-lived intangable assets, by major class (human readable)
That is just a few examples. Here is an RSS feed of the entire set of disclosures.
I combined each of the individual XBRL definition linkbases for individual disclosures to make this complete set of all the XBRL definition linkbases in this XBRL taxonomy schema. Basically, that is all the individual business rules combined. (This takes a few minutes to load into an XBRL taxonomy tool because it has to download each of the approximately 953 files. I am getting a few minor errors, but that should load into any XBRL taxonomy tool.)
Why bother with this? See here. A software vendor has created the ability to validate all of those rules. The software reads the metadata and checks to see if a certain disclosure exists, if say the information model is a "roll up" it looks for the XBRL calculation relations which should exist. If it is a Level 4 detailed disclosure, you would expect the Level 3 Text Block to also exist. If the specific concept or concepts which one would expect to find within a specific Level 4 detailed disclosure are present. If the expected [Axis] found on the disclosure.
Think disclosure checklist.