Symptoms

  • PBA version is 5.4.0 - 5.4.15 or PBA version 5.5.0-5.5.1;
  • renewal orders for some of the subscriptions created one day later than expected.

An example:

A subscription expiration date is set to October 16, 2012, and the subscription is configured to be automatically renewed 1 day before the expiration date. However, PBA did not generate a renewal order for the subscription when the Daily Billing Process was run on October 15, 2012, it was only generated on October 16.

Cause

In the affected PBA versions (see in the symptoms) the following formula is used to check if it is necessary to automatically renew a subscription with the Renew Point set to X days before expiration:

ExpirationDate < Current Date + RenewOrderInterval (in days) + 20 hours

Parameters:

ExpirationDate - The subscription expiration date
CurrentDate - Midnight of the day when Daily Billing Process is run. For example, if the Daily Billing Process is run on Feb. 11, 2013 at 04:00:00, the CurrentDate will be Feb. 11, 2013 00:00:00.
RenewOrderInterval (in days) - Renew Point in days configured in the subscription properties

Note: All dates above are Unix time stamps.

If the expression above is true, the Daily Billing Process generates a renewal order for the subscription.

All subscriptions provisioned late in the evening (and which, therefore, have expiration dates set to late evening) are renewed one day later than expected.

Resolution

To avoid the issue, update to PBA 5.4.16/PBA 5.5.2 or above, where the issue is fixed.

Internal content

Link on internal Article