BLOG:  Digital Financial Reporting

This is a blog for information relating to digital financial reporting.  This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting.  This is my brain storming platform.  This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.

Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.

Entries from July 10, 2016 - July 16, 2016

Understanding that Business Rules Prevent Anarchy

The Merriam-Webster dictionary defines anarchy:

a situation of confusion and wild behavior in which the people in a country, group, organization, etc., are not controlled by rules or laws.

Simply put, business rules prevent anarchy.

Ronald Ross, the father of business rules, tells a great story of how he figured out what business rules are.  The Business Rules Manifesto defines in detail what business rules are using 10 very specific articles.  The most succinct definition of business rules that I have come across is this:

Business rule: A formal and implementable expression of some business user requirement.

This definition of what a business rule is comes from the Business Rules Group which is a good source of information about business rules, particularly their Business Rules Manifesto.

Business rules can be grouped.  Different people group business rules into different groups such as "structural rules" or "behavioral rules".  Others break them down into "quality logic" and "business logic".  At their essence, business rules articulate information about something or about the relationship between one thing and some other thing. Some examples that can help you better understand exactly what they are:

  • Assertions: For example asserting that the balance sheet balances or "Assets = Liabilities + Equity".
  • Computations: For example, calculating things, such as "Total Property, Plant and Equipment = Land + Buildings + Fixtures + IT Equipment + Other Property, Plant, and Equipment".
  • Constraints: For example, specific behavioral consraints that control when it is appropriate to create, update, or remove information.
  • Process-oriented rules:  For example, the disclosure checklist commonly used to create a financial statement which might have a rule, "If Property, Plant, and Equipment exists, then a Property, Plant and Equipment policies and disclosures must exist."
  • Regulations: Another type of rule is a regulation which must be complied with, such as "The following is the set of ten things that must be reported if you have Property, Plant and Equipment on your balance sheet: deprecation method by class, useful life by class, amount under capital leases by class . . ." and so on.  Many people refer to these as reportability rules.
  • Instructions or documentation: Rules can document relations or provide instructions, such as "Cash flow types must be either operating, financing, or investing."
  • Relations: How things can be related, such as whole-part relations.  For example, how the business segments of an economic entity are related.

Business rules shape or influence behavior. Business rules outline mandates, define policies, and provide guidelines.

Don't make the mistake of thinking that business rules are completely inflexible and that you cannot break rules.  Sure, maybe there are some rules that can never be broken.  Maybe there are some rules that you can break.  It helps to think of breaking rules as penalties in a football game.  As Article 9 of the Business Rules Manifesto states, business rules are of, by, and for business people; not IT people. 

  • 9.1. Rules should arise from knowledgeable business people. 
  • 9.2. Business people should have tools available to help them formulate, validate, and manage rules.
  • 9.3. Business people should have tools available to help them verify business rules against each other for consistency.

There are many different ways of expressing business rules.  The more expressive the business rules are and the more business rules are represented in machine-readable form; the more reasoning capacity a software application can provide to its users.  Express enough information in the form of machine-readable business rules and you can create an expert system. Expert systems are tools that provide benefits.

One specific benefit of expert systems is the automation of certain manual tasks.  Not all tasks can be automated, but some can.  I talk about automating accounting and disclosure checklists which are used in the process of creating external financial reports or other regulatory reports.  Today, these sorts of checklists are human readable memory joggers.  Tomorrow, they will be machine-readable business rules that improve information quality and reduce the risk of noncompliance while decreasing the cost of compliance.

XBRL is an enabler.  To understand more about what XBRL is enabling, read my Conceptual Overview of an XBRL-based, Structured Digital Financial Report. Realize that digital financial reports is just one example of what XBRL is enabling.

Become an XBRL master craftsman.  Apply business rules appropriately and prevent anarchy.

Oh, and one more thing.  Noticed how many times I linked to the Business Rules Manifesto?  Please be sure to read that. It's important.

Posted on Friday, July 15, 2016 at 07:41AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Balancing System Expressiveness and System Soundness

I have shown the graphic below before.  The graphic summarizes the relative expressiveness and related relative reasoning capacity of various knowledge representation languages.  I stole this idea from this blog post and this presentation which show the same information, I just organized some things slightly differently and added various XBRL implementation strategies: (see my original blog post here)

(Click image for larger view)

Here is another good graphic that compares relative expressiveness of different languages also:

From Harry S. Delugach, Common Logic in Support of Metadata and Ontologies, bottom of page 2

The vast majority of people are familiar with the level of expressiveness which can be achieved using relational databases.  Experience with relational databases for past 25 years helps us undertand that.  See my blog post Characterizing Truth: Semantics in Databases which explains the expressiveness which has generally been expressed within databases and specifically this graphic which tries to show limitations of databases.

But things are changing.  Here are some changes that I see occurring:

  • Richer information is being stored in databases: Contrast storing the information for an invoice in and accounting system with storing the information from an XBRL-based public company 10-K financial report.  Both can be seen as transactions.  But the relative richness of information in the financial report exceeds the relative richness of the information in the invoice.  In the past, things like financial reports were not even structured.  More and more information will be structured in the future.
  • Business rules are moving from code to metadata: In the past, the information used to verify something like an invoice was stored in the code of an application, in the programming logic. That made it hard to add new rules or change rules because it took a programmer.  This approach was costly and made such rules hard to maintain.  Ronald G. Ross is the "father of business rules". Business rules are metadata which is properly separated from programming logic and maintained by business professionals.
  • More business rules are necessary because information is richer: Because the richness of information is going up, the quantity of business rules that keep the quality of the information high also must also go up.
  • More transactions and business rules are external to an organization: People could look at their systems as "silos" in the past.  The Internet is changing that all that.  Today sets of transactions can be shared between enterprises.  Business rules are shared also.  Think supply chain.

So those are the changes that are occurring.  There are different camps of software vendors trying to provide products and solutions that address with these changes.  There is the "semantic web" camp which seems to be pushing RDF/OWL and new types of databases such as triple stores and reasoners/inference engines and SPARQL queries.  And you have your "NOSQL" camp that seems to be pushing NOSQL databases as the answer to these changes.  And of course there are the entrenched incumbents, the relational database vendors, where a boatload of information is currently being stored, there is a heavy investment in such relational databases, and the relational database has morphed more than once in order to keep up with the changes that are occuring.

But I don't think anyone has pulled all the pieces together and gotten this right yet.

No one product/solution has put all the right pieces together and balanced the system correctly. For me, if the pieces are put together correctly you get an expert systemIn this blog post I summarize the benefits offered by an expert system.  Think "smart database".

Remember the Law of Conservation of Complexity and the notion of irreducible complexity.  Remember that irreducible complexity is explained as follows:

A single system which is composed of several interacting parts that contribute to the basic function, and where the removal of any one of the parts causes the system to effectively cease functioning.

Partial solutions will not work.  Complete solutions are necessary.  What are the evaluation criteria which one should use to determine is some product or solution will fit your needs?  Here are the general, high-level criteria as I see them:

(Click image for larger view)

It will be interesting to see what software vendors come up with. Balancing all these pieces and creating the proper equilibrium will be a valuable tool for business professionals.

Posted on Thursday, July 14, 2016 at 07:11AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint