Best Practices for Automating Record to Report
This blog post summarizes information related to a best practices approach for automating aspects of the record to report process (R2R). This blog post walks you through a prototype that turns a set of journal entries into the four primary financial statements (balance sheet, income statement, cash flow statement, statement of changes in equity).
As The Knowledge Graph Cookbook: Recipies that Work says (page 47), "The basic rule is that content tagging and classification should take place as soon as possible after the content is created."
This is achieved by making sure that all information is machine readable. This involves:
- Creating a proper, well organized chart of accounts.
- Making sure all necessary information is included in journal transactions using work tags. This involves creating the appropriate work tags and entering them when transactions are entered into the general ledger so you don't have to perform this task at the end of the month when you want to generate a financial report.
- Defining a machine readable organization of the high-level classes into which the chart of accounts rolls into.
- Generating detailed roll forwards of every balance sheet account.
- Mapping the chart of accounts into the high-level classes creating what amounts to a report writer.
- Creating rules that make sure everything is working effectively.
- Pressing a button to generate a report.
Here is the ultimate target exemplified by another prototype I have created. Specifically, this set of primary financial statements. That report is both human readable and machine readable. All the math is checked using automated processes. Here is another auto generated report for checking to be sure everything is working as expected.
Here is where I will summarize the details of my best practices approach for automating the record to report process. I will explain all the details in forthcoming documentation. To achieve this result (still not 100% complete yet) I did the following:
- I created a well-thought-out chart of accounts and published it in XBRL.
- I created a proper base taxonomy, overcoming the deficiencies of existing taxonomies such as the US GAAP XBRL taxonomy and IFRS XBRL taxonomy.
- I created all of the rules necessary to support the full record to report process.
- I added one additional piece of metadata that is missing from the vast majority of accounting systems which makes automated report generation impossible. That piece of metadata is included within the accounting system and was entered when transactions were entered, is provided within the general ledger transactions exported from the accounting system, and are used to generate the balance sheet roll forwards of each real account and cash flow statement line items.
- Everything is controlled via the complete set of rules.
- Everything is checked using automated processes to be sure no mechanical, structural, mathematical, and logical information is as was expected.
Note that I am NOT SAYING that 100% of every step that is necessary to be sure the report is correct has been automated. What I am saying is that I have automated probably more than anyone else has been able to automate and this system is flexible enough to accept modifications such that every reporting situation that I am aware of can be handled.
The objective here is to create a repeatable process that guarantees high-quality output reliably and consistently. This is achieved by using machine-readable rules that provide the necessary control.
What I have NOT done is meet the "self-service" objective yet. Why? Because I am not a good enough software engineer. Not even close. I am working with others to turn this working proof of concept into a "self-service" process that other professional accountants can operate, manage, and maintain.
Reader Comments