Rate Schedule Execution

When a rate schedule is executed, the system executes the calculation rules contained in the calculation groups defined for the rate schedule as follows:

1. First, the system executes the calculation rules defined within Pre-Processing Calculation Groups.
  • The rate engine may a bill segment calculation header for pre-processing calculations, if bill calculation lines are to be created.
  • Calculation groups are executed in order according to the Sequence defined on the rate schedule.
  • Calculation rules within each group are executed according to the Sequence configured within the group.
2. Next, the system executes the calculation rules within the Rate Version Calculation Groups. The system uses the Effective Date on each calculation group to determine which group(s) to execute. If more than one version of a calculation group is in effect during the billing period, the system may prorate the calculations, based on the configuration of the rate schedule.
  • The rate engine creates a separate bill segment calculation header for each rate version calculation group.
  • Calculation rules within each group are executed according to the Sequence configured within the group.
3. Finally, the system executes the calculation rules defined within Post-Processing Calculation Groups.
  • The rate engine creates a separate bill segment calculation header for post-processing calculations.
  • Calculation groups are executed in order according to the Sequence defined on the rate schedule.
  • Calculation rules within each group are executed according to the Sequence configured within the group.
Additional Information.
  • After every rate version calculation group is processed, the rate application returns the calculation details to the process that called it. This point is important as it means that rate application executes in memory (i.e., it does NOT insert the calculation details on the database, rather, it returns them to whatever process called rate application). Because rate application executes in memory, it can be used to perform billing calculations in many parts of the system. For example:
  • Both online and batch billing use rate application to calculate the charges that are eventually saved on the bill's bill segments.
  • The Rate Check transaction calls rate application when you want to check a rate real-time. When you use this transaction, you enter the consumption that's passed into rate application and then rate application shows you the calculation details that result.
  • Plug-ins exist that call rate application to estimate bill segments when adequate billing history doesn't exist. For example, the BUDCALC-PH budget recommendation algorithm calls rate application to calculate a budget amount for a customer without adequate history. Another example is the DEPRECOM-MBT deposit recommendation algorithm. This plug-in calls rate application to calculate a recommended deposit amount for a customer without adequate history.