I held a class for CPAs in Seattle last week and during the class one of the participants made the following statement:
"ERP systems don't have all of the information in them that you need to create a financial report."
The comment led to me creating the diagram below which shows the problem and the solution to the problem:
The Problem:
Today information is stored in ERP systems, accounting systems, other relational database based systems, Excel spreadsheets, Word documents, and other structured, semi-structured, and unstructured formats. To create something like an external financial report; humans go to all these different information storage devices, gather what they need, and piece the information together into the report they desire and in the form of a PDF, HTML, Word document or Excel spreadsheet.
Then, they hand that document or spreadsheet over to someone else and the process starts over again with those documents being the inputs for some other system. For example, a financial report created by a public company is an output from the reporting entity's perspective; but that report is an imput from the perspective of the SEC or an analyst.
Some of the information is obtained using efficient database queries. Other information is entered using "copy/paste". Other information is simply rekeyed.
Managing and controlling this process is a monumental task. Sarbanes-Oxley requires companies to have a very good handle on this process if the process relates to external financial reporting. Other rules impose a level of rigor and dicipline for other reporting schemes in other domains. Internal processes have unspecified levels of rigor/dicipline.
Research papers by both Ventana and Gartner describe this process for external financial reporting. Gartner estimated that the average Fortune 1000 company used more than 800 spreadsheets to prepare its financial statements for regulatory reporting.
What tools do business users such as accountants have for keeping tabs on this process and making it efficient? They use things like the linking mechanisms provided in Excel. The tools are presentation oriented and know nothing about the information contained in the application other than how to present the information in a document or spreadsheet.
Weaving these things together is like trying to build something and trying to hold it together with bailing wire and band-aids. If bridges, buildings, or airplanes were engineered in this manner; lots of bridges and buildings would be falling down and air travel would not be very safe.
The Solution:
In the future the problem will be the same and likely get even more complicated and complex because things always seem to get more complicated and complex. However, the solution will be different.
Think of an accounting system. That system is made up of modules: general ledger, accounts receivable, accounts payable, payroll, fixed assets, and so forth.
But there are no "modules" for things like subsequent events, commitments and contingencies, line of credit facilities, and hundreds of other disclosures. But what if there were?
What if business users could create their own modules. Those modules could be integrated with other modules. The modules were "smart" and had accounting and financial reporting knowledge built in which controlled the module.
That is what a semantic spreadsheet is: a module. A disclosure management application is a module manager or a semantic spreadsheet manager. A reporting template is basically a module for a specific type of disclosure. I call all the spreadsheets which I used to create a financial statement my closing book. That closing book had all the supporting information for the financial statement.
In the future semantic spreadsheets will be used to capture and manage all this information which comes from all sorts of different systems which hold the information which ends up being reported in an external financial report or other business report.
Rather than linking information together based on its physical location, information will be held together using business rules which make sure the information is correct, complete, accurate, and consistent. Disclosure checklists will not be used by accountants to manually check a financial report after it is created; a disclosure checklist will serve as a guide to software which will make sure that you don't ever create a report incorrectly. These guides will be used during the creation process, not after the fact.
Validation and verification that information follows specified business rules will be done using both automated processes and manual processes where a process cannot be automated. When a rule is violated or something in the process breaks, the exception will be obvious.
Making the system work
What does it take to make something like what I am describing above actually work? What does "work" really mean?
I have called this a "radically taylorable tool". Another term for that is controlled flexibility. Other software has aspects of what I am talking about for working with other things. GoAnimate is one example. Scratch is another example. Think "Legos".
One day you won't need to use your imagination to understand what computer software can do to help business reporting and financial reporting. One day you may believe what I am saying because you will see the software in action.
Am I nuts or will this grand vision be realized? Time will provide the answer.