Daily Billing Process

OA Billing uses scheduled tasks to automate certain processes. The most important is the Daily Billing Process. This is a scheduled task that wakes up once a day and generates the recurring billing of subscriptions, renewing subscriptions, changing subscription state, and sending notifications. Daily Billing Process processes each subscription of each account. If even one subscription processing is failed, all account subscriptions are considered unprocessed and no events will be generated. Daily Billing Process will try to process the failed account on the next run.

The Daily Billing Process performs the following operations:

  1. Composes a list of all active accounts which have not been processed for more than one day.

  2. For each account, checks its credit terms parameters (Due Period, Grace Period, Hold Period). If one of periods ends, Daily Billing Process generates respective events. For example, in the end of account Hold Period, Daily Billing Process generates events. Events processing results in putting account on hold. In this case, subscriptions of suspended account will not be processed.

  3. For each subscription of account Daily Billing Process performs the following operations:
    • Requests resources usage statistics from external system over a day.

    • Updates resources usage parameters value in accordance with request result and checks if overuse has been occurred. If overusage occurred, Daily Billing process generates events according to subscription settings.

    • Checks the following parameters:
      • Next Billing Date. When the billing date comes, it generates the corresponding events, whose processing results in creating a billing order.

        Important: A subscription can be billed on an account statement day.
        For example: In the Charge Before Billing Period billing model, the Sales Order is placed and completed on 08 Jan 2021, and the statement date is the 24th.
        - The Sales Order is calculated from 08 Jan 2021 to 08 Feb 2021. This means the Next Billing Date is 08 Feb 2021.
        - The first Billing Order is calculated from 08 Feb 2021 to 24 Mar 2021. This means the Next Billing Date is 24 Mar 2021.

      • Renew Point. Parameter defines the number of days before expiration date when the subscription should be renewed automatically. The setting is ignored if Renew Automatically option is No. If the date comes and Renew Automatically option is Yes, process generates events. Events processing results in creating renewal order on the subscription renewal fee sum.

      • Expiration Date. Parameter defines the date when the subscription expires. If the expiration date comes, process generates respective events according subscription settings.

      • Grace Period. Parameter defines a period of time (in days) when customer is still able to renew his subscription. This period starts from the subscription expiration date, expired subscription remains active for all this time. If the grace period end date comes, process generates respective events according to subscription settings.

      • Hold Period. Parameter defines a period of time (in days) when customer's subscription remains in the On Hold state. Subscription is put on hold if it was not renewed in time (until the grace period ends). Services provisioning is suspended for this period. If the renewal order remains unprocessed at the end of the hold period, the subscription is stopped (with possible recovery). If the hold period end date comes, process generates respective events according to subscription settings.

    • Checks subscription notification schedule. If schedule contains notifications to be sent, process generates events. Events processing results in sending notifications.

Note: We recommend that you monitor the Last Billing Date parameter for every account regularly to make sure there are no subscriptions that failed Daily Billing Process checks.

You can customize the Daily Billing Process performance using instructions provided in the Tuning Daily Billing Process section.