This blog post provides information related to a prototype used to understand reporting styles and disclosure mechanics rules.
Reporting Styles (US GAAP)
The following software/technology related companies were selected. For each, an Excel spreadsheet is provides which can be used to reliably Extract information for each of their XBRL-based reports submitted to the SEC. Embeded within the spreads are the rules for the reporting style. The Reporting Style link provides that same information represented using XBRL. Those XBRL-based rules have been used by three different software vendors to extract information from XBRL-based reports submitted to the SEC. This ZIP archive contains an Excel spreadsheet with all the XBRL reports submitted to the SEC and each of the three Extract files.
The six examples use three reporting styles. Here is a list of all the US GAAP reporting styles. Note the machine-readable RSS file with a link to each of the schemas for individual reporting styles.
The VBA code in the Excel spreadsheet can be used to reverse-engineer the process of extracting information. The XBRL based rules are better because they are not hard coded into the application like I did with the Excel (which is because I have limited programming skills).
This is an OLDER VERSION OF THE REPORTING STYLES!!! But, it can help you understand the notion of reporting styles.
An obvious question is, "How do I know the reporting style code to use for a specific company?" There are two ways. (1) You can use this web service which is pretty reliable; (2) You can probe the report and figure out the reporting style based on the terms/associations of the balance sheet, income statement, cash flow statement. Longer term, approach (2) is best. To get started, approach (1) is easy.
Disclosure Mechanics Rules (US GAAP)
Each disclosure that might appear in a financial report has a "digital signature". That digital signature can be used to identify each individual disclosure and extract information for that disclosure from an XBRL-based report. Here is a list of all the disclosure mechanics rules in a natural language syntax. Here is the same information in machine-readable XBRL.
To properly extract information you first need to identify each "fact set" or "block" of an XBRL-based report. This document helps you understand the notion of a fact set (a.k.a. block). Networks are too large and too arbitrary. Individual facts are too small a set. The fact set or block is just right!
Here is an example of blocks:
US GAAP, Microsoft 2017 10-K: SEC Filing Page | XBRL instance | Evidence Package | Disclosure Mechanics | Blocks | Pacioli
Here is information about each of the other five companies 10-K report for 2018:
US GAAP, Apple 2018 10-K: SEC Filing Page | XBRL Instance | Evidence Package | Disclosure Mechanics | Pacioli
US GAAP, Alphabet 2018 10-K: SEC Filing Page | XBRL Instance | Evidence Package | Disclosure Mechanics | Pacioli
US GAAP, Facebook 2018 10-K: SEC Filing Page | XBRL Instance | Evidence Package | Disclosure Mechanics | Pacioli
US GAAP, Salesforce 2018 10-K: SEC Filing Page | XBRL Instance | Evidence Package | Disclosure Mechanics | Pacioli
US GAAP, Amazon 2018 10-K: SEC Filing Page | XBRL Instance | Evidence Package | Disclosure Mechanics | Pacioli
Example comparison: Earnings per Share disclosure: Microsoft, Apple, Alphabet, Facebook, Salesforce, Amazon.
If XBRL-based reporting is practiced correctly, you can do stuff like this and like this. You can also avoid errors like this.
To learn more, I would encourage you to watch these two video playlist: Understanding the Financial Report Logical System and Mastering XBRL-based Digital Financial Reporting.