« 'Always On' Audit | Main | Best Practices for Automating Record to Report »

Effective Automation of Record to Report Process

This blog post strings together the steps involved in the effective automation of a record to report (R2R) process using pure, global standard XBRL for any financial reporting scheme.  This approach uses a method that leverages the Logical Theory Describing Financial Report. (Human readable | Machine readable)

Step 1: Financial Reporting Scheme

First one needs to define a specific financial reporting scheme in both human readable form and in machine readable form.  Today, financial reporting schemes are documented in what amounts to "books" so the information about that financial reporting scheme is only understandable to humans.  But, what if as much information as possible is first created in machine-readable form and then that machine-readable information is transformed into human-readable form using computer processes.

Here is a working prototype of a simple, basic financial reporting scheme that I defined to test each of these steps. I am keeping this as small as possible to make testing easy, but thorough enough to make sure I can test this entire process.  Note that the the financial reporting scheme is defined in both human-readable and machine-readable form. 

Today, conceptual frameworks that document financial reporting schemes are incomplete and tend to be somewhat ambiguous in some areas.  XBRL Taxonomies provided also tend to not provide all the machine-readable rules necessary.  The rules exist within the accounting and reporting literature, but if they don't exist then you must supplement the XBRL taxonomy with the necessary machine-readable rules to control the process and make sure your results are of the necessary high-quality.

Step 2: Chart of Accounts

An economic entity that reports per some financial reporting scheme needs to define the chart of accounts used by the economic entity. Then, that chart of accounts needs to be mapped to the base financial reporting scheme. 

Step 3: Tags or Transaction Description Codes

A chart of accounts is pretty much universal for accounting systems. Adding transaction description codes is less common.  I came up with the idea of what I call transaction description codes independently of knowing that Workday using the notion of what they call "worktags".  A transaction description code is simply a keyword or tag that enables the aggregation of general journal entries in a particular manner.

Currently, most financial reporting schemes represented using XBRL to not include this information.  My base taxonomy for this prototype does, however, include the definitions for these tags. 

So why exactly do you need this information? The tags provide information for grouping general journal entries by the roll forward line item they relate to.  Basically, this information (note the codes) gets transformed into roll forwards: Cash and Cash Equivalents roll forward, Receivables roll forward, PPE roll forward, and so forth for every balance sheet line item.

Step 4: General Journal Entries

OK, so transactions get posted to an accounting system via general journal entries or subledgers that ultimately make their way to the general journal one way or another. General journal entries are in the accounting system but then can be exported into a number of different formats: 

We are using the XBRL Global Ledger format but any format could be used.  All the other prior information is represented in the XBRL global standard format. 

Step 5: Report Writer

The next step is to take the general journal entries, chart of accounts, transaction grouping codes, financial reporting scheme base taxonomy, any extension taxonomy that is necessary and synthasize all that into a set of financial statements.  Processing is 100% automated.  Currently, this is a prototype created using Microsoft Access that reads the metadata and the XBRL-based general ledger transactions which then outputs a raw XBRL instance: 

Step 6: Closing Book or Standard Audit Schedules

Whether a report is "audited" by the reporting manager and team creating the report, an internal auditor that is not independent from the reporting economic entity, or a third-party auditor that is providing independent assurance as to the true and fair representation; every report needs to be verified to be an appropriate representation of information.

Standardized schedules that are autogenerated from accounting system information can be created to support a financial report. I have created an Audit Data Schedule (ADS) prototype that is intended to emulate such standard schedules provided by the AICPA, ISO, or industry groups such as Engine B. Engine B calls what they are creating a Common Data Model (CDM) for audit. (Also see here.)

All of the closing book/audit schedules are verified to be consistent with the autogenerated financial report.  Automated independent audit steps where not performed.

Step 7: Financial Analysis and Benchmarking of Reported Information

Finally, automated financial analysis and benchmarking steps are performed to provide an analytical review of reported information as compared to prior reports and peers to determine if there are any odd variances which should be investigated. 

Please take note of the Extraction tool linked on the human readable analysis tool.

Step 8: Testing

To make certain that you are effectively controlling your process so that you generate a properly functioning financial report, you need a rules engine to process the machine readable information.  Further, the rules engine can help business users interact with the machine readable information making the tasks and processes easier to perform.

Pacioli is a platform for interacting with an XBRL-based report logic.  On top of the Pacioli platform, software engineers can create a tool for accounting professionals to interact with the information contained within an XBRL-based financial report.  Here is a prototype.  Several applications understand financial reports: Pacioli, XBRL Cloud, XBRL Query, Pesseract are a few examples.

Posted on Tuesday, November 3, 2020 at 10:49AM by Registered CommenterCharlie in | CommentsPost a Comment

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.