C1-UPD-HOLD

This algorithm updates the hold request whenever a bill on hold is offset through an offset request. If the remaining outstanding amount of a bill after offsetting is not zero and is less than the current hold amount, this algorithm updates the hold amount to the current hold amount plus remaining outstanding bill balance. For example, if the original outstanding amount is 80$, hold amount is 40$, offset amount is 20$, then the remaining outstanding amount (i.e. 80$-40$-20$=20$) is less than the current hold amount (i.e. 40$). Therefore, this algorithm updates the hold amount of the bill in the hold request to 60$ (i.e. 40$+20$).

However, if the remaining outstanding amount of a bill after offsetting is zero and the bill is included in any active hold request, the hold end date of the bill in the hold request is changed to the system date.

In both the above scenarios, this algorithm creates a log entry for the offset and hold requests. The bill whose hold details (i.e. either hold amount or hold end date) are updated through the offset request is maintained in its log. Similarly, the old and updated hold amount and hold end date of the bill are maintained in the respective hold request log.