I have been looking at the problem I have been trying to solve exactly backwards.
Business rule driven XBRL-based financial report creation uses the same philosophy as what Agile programming calls test driven development for creating software. Agile financial report creation yields XBRL-based financial reports which are free from XBRL technical syntax defects, model structure defects, mathematical relations defects, logical defects, and mechanical defects.
This simple example explains the difference between the current approach used to create XBRL-based financial reports which yields quality problems and a better business rules driven approach which yields zero defects, guaranteed.
Current approach:
- Step 1: Provide fact "Assets".
- Step 2: Provide fact "Liabilities and equity"
- Report complete.
Give the steps above, what prevents the creator of a financial report from creating the fact "Assets" with a value of say 1,000; creating the fact "Liabilities and equity" with a value of "1,500"; and then submitting that report to the SEC or other regulator? Nothing prevents the report error above from being submitted to a regulator, even though the report violates the accounting equation. And that is exactly the sort of thing that is going on with XBRL-based public company financial filings to the SEC.
Business rules driven approach:
- Step 1: Create business rule: "Assets = Liabilities and equity"
- Step 2: Create fact "Assets"
- Step 3: Create fact "Liabilities and equity"
- Report complete.
The business rule prevents facts that would violate the accounting equation from inadvertently being created. Software uses the business rule created in Step 1 to monitor the report creation process. Given these steps above, it is impossible to create a financial report that violates the logical relationship specified by the accounting equation, the fundamental rule of accounting. Now, this one rule is provided only as a basic and easy to understand example. Clearly you need more rules. But what rules?
Here are the machine-readable business rules you need:
- Base XBRL Specification Conformance Suite: Provides hundreds of tests to make sure software is implemented consistently with the base XBRL technical specification. Note that XBRL-based public company financial reports curently about 99.99% consistent with the base XBRL conformance suite.
- XBRL Dimensions Conformance Suite: Provides hundreds of test to make sure software is implemented consistently with the XBRL Dimensions technical specification. XBRL-based public company financial reports are currently about 99.99% consistent with the XBRL Dimensions technical specification.
- Model Structure Relations Rules: Provides rules which specify the logical relations between the Networks, Tables, Axes, Members, Line Items, Abstracts and Concepts which make up an XBRL-based taxonomy. XBRL-based public company financial reports are currently about 99.98% consistent with these logical relations.
- Edgar Filer Manual Rules: Provides Edgar system specific rules for public companies submitting XBRL-based financial reports to the SEC.
- XBRL US Data Quality Committee: Specifies different sets of specific rules related to the construction of an XBRL-based financial report.
- Fundamental Accounting Concept Relations Rules: Provides rules which specify the logical, mechanical, mathematical relations between the high-level financial reporting concepts represented within XBRL-based financial reports which may differ based on the reporting style used by a public company. Currently, public companies XBRL-based financial reports are about 98.88% consistent with such logical, mechanical, mathematical relations.
- Disclosure Mechanics Rules: Provides rules which specify the logical, mechanical relations between the report fragments which make up the Level 1 Notes Text Blocks, Level 2 Policy Text Blocks, Level 3 Disclosure Text Blocks and Level 4 Disclosure Details. Currently, it is looking like public companies are between 65% and say 85% consistent with these logical, mechanical relations.
- Disclosure Mathematical Relations: Provides rules which articulate the mathematical relations of the specific disclosures provided by a specific reporting entity to both describe and can be used to verify the roll ups, roll forwards, member aggregations, and other specific mathematical relations of the report. Currently, only roll up relations (XBRL calculations) are provided by public companies and those relations tend to be about 90% or better. Roll forward relations, member aggregations, and other such mathematical relations are not currently represented within public company financial reports and the consistency of those mathematical relations is unknown.
- Reporting Checklist: Provides rules related to which disclosures are required to always be provided, which disclosures are required if some specific line item is material within a financial report, and other such rules.
- Conceptual Model Rules: Provides a thick layer of metadata for working with digital financial reports. Specifies relations and rules which describe and can be used to verify consistency with the digital financial report conceptual model. For more information see the Financial Report Semantics and Dynamics Theory.
I think that is about it for the logical, mechanical, and mathematical relations type rules. There are other rules that are specific to more detailed areas of financial reporting and accounting. These rules start to get into the compliance/noncompliance of regulatory rules. I don't want to go down that path right now.
Think about it this way: It is not about looking at the pieces of a digital financial report and finding pieces that are wrong. It is about looking at the pieces of a digital financial report and proving that all the pieces are right.
This list of rules might seem like a lot, and it is. Professional accountants creating reports and financial analysts using reports will not need to concern themselves with most of these rules. For example, software deals with base XBRL technical specification and XBRL Dimensions conformance. That is low-level stuff business professionals will never need to deal with.
If you want to understand more, please read the document Comprehensive Introduction to Business Rules for Professional Accountants.