There is not one SEC XBRL financial report creation application nor application used to analyze all that information which I am aware of which includes a reasoning engine. When these applications begin including the missing reasoning engines which they will eventually include, the true value of XBRL will be revealed.
SEC XBRL financial report creation applications point out that they leverage the following sorts of things but they neglect the last two items on this list:
- Workflow engines. Software developers can build workflow into their applications, but they could also leverage a workflow engine that allows more flexibility and options in routing work. Here is a comparison of workflow engines.
- Content management systems. Financial reports contain "content" or pieces. The content needs to be organized, users need to collaborate in this process of content creation. Content management systems, and there are a lot of them, can be used to manage this content. Or, software vendors creating software can create their own content management functionality.
- XBRL processors. One special feature involved with something like an SEC XBRL financial filing is the ability to interact with XBRL. XBRL processors do that, and there are lots of those. Or, software developers can build their own XBRL processor.
- Business rules. Business rules simply articulate some constraint which can be evaluated as being true or false. Financial reports flow lots of rules. "Assets = Liabilities and equity" (i.e. the balance sheet balances) is a business rule. The required disclosures under US GAAP in specific situation are business rules. Disclosures required by the SEC are business rules. These rules need to be articulated, managed, and any financial report created needs to be evaluated against these rules to make sure you are constructing the report correctly from all perspectives. Business rules could be hard-coded into software. But business users managing business rules as metadata is much more flexible.
- Reasoning engine or business rules engine. A reasoning engine or semantic reasoner, business rules engine, or reasoner, is a piece of software that both evaluates business rules but also can infer new information. (Another term for this is a deductive database.) Software vendors can build the ability to evaluate rules within their software, or they can leverage a reasoning engine or business rules engine provided by middle-ware.
Yet, it is this last piece of functionality, the reasoning engine or business rules engine, which will reveal the true value of XBRL. Yet why is it that not one software vendor provides the functionality of a reasoning engine or business rules engine within their software products?
Well, some software vendors do have business rules engines but they don't expose them very well to users. Most good XBRL processors support XBRL Formula which is both a syntax for articulating business rules and a rules engine for evaluating those business rules. But the XBRL Formula technical syntax is hard for most business users to use and software vendors implementing XBRL Formula simply throw that at users and expect them to make use of it. There are better ways.
Further, XBRL Formula which very useful is not sufficient for expressing all the business rules creators of financial reports need. More is necessary.
The software vendors who implement this sort of functionality will create the "smart applications" promised by the semantic web. These "guidance-based, model-driven, semantic-oriented authoring tools" will have knowledge "baked in" to the application. New knowledge can be added or inferred based on a robust set of business rules. These software applications will be agile and adaptable to ever-changing conditions. These applications will be "integrated" with other systems which both provide the inputs and even those which except the outputs created.
Business users looking for software should be aware of and ask for all of this functionallity.