By TopDown Team
April 4th, 2012
We continue discussing leading practices for consolidations by focusing now on business rules. Returning to my earlier blog post, for most users, HFM business rules are the clearest candidate to be labeled as a black box. First and foremost is the VBscript language that puzzles most Finance users and some IT users too. Then, once you start to get comfortable with reading VBscript, the next challenge with HFM business rules is often about understanding its logic and organization. This is what we will delve into because when it comes to leading practices with rules, it’s always about logic and organization.
Logic with HFM business rules is about how effectively a rule calculation accomplishes what you want in business/financial terms. For example, if you want to calculate Days Sales Outstanding (DSO) in HFM, you would have to develop a business rule to divide accounts receivable by sales over X days. There are multiple ways to develop a DSO rule and the key is how effectively the rule is written to accomplish the calculation.
Organization with HFM business rules is about how all rules flow to build upon and complement what preceded it. For example, if you want to have rules that calculate balance sheet changes as well as roll-forwards and cash flow, you would have to organize business rules to do so without redundancy or overlap.
Currently in version 126.96.36.199, the HFM business rules file contains nine major subroutines: Calculate, Translate, Consolidate, Allocate, Dynamic, NoInput, Input, Transactions, and Equity Pickup. The majority of HFM applications will have business rules in Calculate, Translate, Consolidate, Dynamic, and NoInput. Now, how do you find out if your HFM business rules apply leading practices when it comes to logic and organization? Open up your HFM rules file. Start at the top. As you read and scroll down the file, take these questions into account:
- Are there variables defined for frequently used functions like HS.x.Member and HS.x.Isbase?
- Do you see commentary to explain what a calculation is doing in business/financial terms?
- Can you tell when there is supposed to be a separation between one group of calculations and another group of calculations?
- When there are many lines of HS.Exp statements together in groups, do they tend to be very similar and the only differences are the account member names?
- Is there frequent usage of the conditional statement “If” with dimensions such as the Scenario, Entity, and Value?
- Where there are loop statements “For…Next” being used, do they have another embedded set of “For…Next” within them?
Again, these are just example questions and not all of them may apply to your consolidation solution. There are more questions to consider. How you answer them helps us to understand the quality of the logic and organization in your HFM rules file.