We have encountered two specific scenarios that have the potential to cause confusion when the Calculate Bills chargeback processor is run in Version 7. This KBA is written with the intent to explain the behavior in Version 7 and give assurance that the application is performing as designed.
· Clients utilizing the Calculate Bills chargeback processor in Version 7 to create bills based on channel readings.
· Clients whose channel readings have a timestamp other than 12:00:00 AM on the first day of the month.
Version 7 Behavior
· When use calculation is based on channel readings, it is possible to end up with more than one bill per billing period. The number of bills created will depend on how many readings are found and whether the Calculate Bills chargeback processor has previously been used to create bills for the specified billing period.
· When the processor is run, each reading beginning after midnight on the first day of the month and running through midnight on the 16th day of the next month will generate a bill. The readings found in this period will determine the end date of the generated bill.
· Once the end date for the generated bill is found, the processor will identify a start date based off a previous reading that is within 120 days of the end date. If no reading is found within that time period, the processor will base the start date on the following calculation:
[end date] – 1 Month
Example: When running the processor for the period, May 2018, all readings from 5/1/2018 00:00:01 through 6/16/2018 00:00:00 will be used to generate the bill.
Clients should be mindful of the following two scenarios:
Scenario #1: A duplicate bill may be created by the Calculate Bills chargeback processor the first time it is run in Version 7. If bills have previously been created on the meter using a version of EnergyCAP other than Version 7 or if they have been created manually using Version 7, the Calculate Bills chargeback processor will create bills following the logic explained above. Any bills already existing on the meter will not be taken into consideration.
Scenario #2: The Calculate Bills chargeback processor generates error messages for each billing period it is run to indicate that bills have already been created for a specific set of channel readings. When meter readings occur on a timestamp other than the first of the month at midnight, the processor’s logic encompasses readings that it has already generated a bill for.
Example using the graphic attached:
The client runs the Calculate Bills chargeback processor in Version 7 for November 2018. The processor finds three channel readings - 11/1/2018 00:00:00, 12/1/2018 18:00:00, and 12/5/2018 00:10:00. Based off the readings found, the processor creates a bill from 11/1/2018 to 12/1/2018 and a second bill from 12/1/2018 to 12/5/2018.
Why was the 12/5 reading included? The 12/5 reading was included in the November 2018 “run” because it falls within the 16-day window beyond the end of November.
The client then runs the Calculate Bills chargeback processor in Version 7 for December 2018. The processor finds three readings - 12/1/2018 18:00:00, 12/5/2018 00:10:00, and 1/1/2019 00:00:01. The processor attempts to create a bill from 11/1/2018 to 12/1/2018 for the 12/1/2018 reading, but an error was generated stating that a bill already exists for that time period.
Why was an error generated? A bill already exists for that period was already created when the processor was run for November 2018.
Why was the 12/1 reading used anyway? The time of the 12/1/2018 reading is after midnight on the first day of the month, not midnight exactly.
The processor attempts to create a bill from 12/1/2018 to 12/5/2018 for the 12/5/2018 reading and another error is generated stating that a bill already exists for that time period. The processor attempts to create a bill one last bill from 12/5/2018 to 1/1/2019 for the 1/1/2019 reading. This attempt successfully creates this bill for 12/5/2018 to 1/1/2019.