This week we begin a series of videos to discuss business rules in the finance system. Today’s episode discusses the general structure of business rules, either table or if-then-else structures, and compares and contrasts those approaches and their use. The following extract from my textbook, Balancing Act, Chapter 59, gives a sense of the choices:
- Tables are easily thought of as spreadsheets, with rows and columns. They have one or more columns designated as the key. For example, if the “123” were a value in the first column of the table, the second column might contain “credit current account liability”. The reference data described in Define Reference Data could be considered a list of parameters which act as rules. Values in one column—the key—are converted into values selected in the outputs—the answers.
- Procedural logic is very close to program code. This logic might be presented to the user in syntax comparable to that used in Excel for conditional statements such as IF (A31 = “123”, “credit current account liability”). This does not require that all valid values be listed, thus reduces the number of rules that must be maintained.
A … rules engine can be constructed completely of logic without the use of any tables, but the opposite is not possible. An [rules engine] cannot be constructed purely of tables. Logic is necessary to string together and access tables. Said another way, someone could write all of the logic needed in an IF statement without using an Excel “Lookup” function, but simply creating a table within a spreadsheet does not highlight the row containing the answer.
Although an rules engine can be constructed completely with logic, tables provide a distinct advantage: transparency. Values in tables can be easily searched, more quickly understood, and are simpler to update than values embedded in logic. As an analogy, the financial statements are also presented as tables, allowing simple search, rather than trying to find total interest expense in a management discussion document. Tables are easier to search and update than is logic. In most systems a combination of logic and tables is used.
Next Week’s Entry: Business Rules vs. Reference Data