Monthly Commitment. Charges generation

This article covers the Prepay model only. For the Postpay model, see Particular aspects of charges within the Postpay charging model. See also Particular aspects of charges in different currencies.

The Monthly Commitment billing type is applied to subscriptions with fixed monthly payments and obligation to use the ordered quantity of resources during the whole subscription period. As a result, refunds and some operations with a subscription are not available during almost the whole subscription period, but in general, this billing type is similar to Monthly Prolongation (see Monthly Prolongation. Charges generation).

In this article:

General rules

  • Charges are always generated for the current (next) billing period only.
  • All subscription charges for orders are generated in the New status. After the order is paid, the charges get the Blocked status.
  • Only the Recurring fee charges for the resources are generated.
  • Charges are generated using the same algorithm regardless of the subscription period.
  • No refunds are available for a customer, except for switching a plan or deleting a subscription within a limited period after purchasing.

Setup fee and Renewal fee charges

There are no Setup fee, Renewal fee, and Transfer fee charges because the corresponding fees should not be set.

Ordering a subscription

For example, a subscription is ordered on August, 20. The billing day is set as the 1st day of each month.

After the subscription ordering:

  1. The platform creates the following entities:
    1. An order in the Waiting for payment status.
    2. A payment in the Waiting for payment status. The payment is linked with the order. The payment amount is enough for the subscription to work till the next billing day.
    3. One charge in the New status for the subscription from the ordering date till the nearest billing day.

  2. The customer completes the payment on the day the payment was created.
  3. The platform performs provisioning of the order and moves the charge from the New to Blocked status.
  4. The platform sets the Paid to date equal to the next billing day.



For ordering a trial subscription, the platform sets the Paid to date equal to the subscription expiration date and does not generate any charges.

Automatic prolonging a subscription

Prolongation is used to extend a subscription to the next billing period (see Prolonging a subscription):

  1. A prolong order is created before the specified number of days to the Paid to date. The number of days is specified in the Auto-renew point (days) parameter of the subscription.
  2. For the prolong order, a charge is created for the next billing period. The charge has the following attributes: 
    • The charge status: New.
    • operate_from = the start date of the next billing period.
    • operate_to = the last day of the next billing period or the subscription expiration date if the next billing period includes the subscription expiration date.

    • The charge amount depends on the Fixed price option.

      If a plan has the selected Fixed price option, then the next billing period charge is generated using the resources prices from the subscription. Otherwise, the next billing period charge is generated using the updated resources prices from the plan.

  3. After completing the payment linked to the prolong order, the next billing period charge gets the Blocked status. The Paid to date is set equal to the next billing day.

  4. On the billing day, the previous billing period charge gets the Closed status.


Automatic prolonging an expiring subscription

For a subscription with the expiration date in the next billing period, the final prolong order is automatically created as follows:

  1. One charge is created with the following attributes: 
    • The charge status: New.
    • operate_from = the start date of the next billing period.
    • operate_to = the subscription expiration date.

  2. After completing the payment linked to the prolong order, the Paid to date is set to the subscription expiration date.

For a subscription with the expiration date in the billing period after the next billing period, a prolong order is automatically created as follows:

  • If between the current Paid to date and the subscription expiration date there are more than 1 month 8 days, a prolong order is created under the general rules.
  • If between the current Paid to date and the subscription expiration date there are 1 month 8 days or less, the final prolong order is created as follows:
    1. Two charges are created with the following attributes:
      • Charge 1: 
        • The charge status: New.
        • operate_from = the start date of the next billing period.
        • operate_to = the last day of the next billing period.

      • Charge 2: 
        • The charge status: New.
        • operate_from = the start date of a billing period with the subscription expiration date.
        • operate_to = the subscription expiration date - 1.

        • close_date = the subscription expiration date.
    2. The charges are displayed in the order and payment description in one line with the joined period.

      Adding the second charge to a prolong order for a subscription with the expiration date close to the billing day helps prevent the unwilling stopping of the subscription. Without the second charge, the final prolong order would be created too close to the subscription expiration date. Since a subscription can be renewed only after its prolongation, a customer might not have enough time to pay for the renewal.

    3. The order expiration date is set to the subscription expiration date.

    4. After completing the payment linked to the prolong order, the charges get the Blocked status. The Paid to date is set to the subscription expiration date.

Manual prolonging a subscription

Decreasing the quantity of resources is not available in prolong orders.

Manual prolonging is available only for the following subscriptions:

  • In the Active status without the unprocessed change order, renewal order, or switch plan order.
  • In the Stopped status — starting from the Paid to date, if the prolong order was not completed manually and the account balance does not have sufficient funds for automatic completing, the subscription stops, and manual prolongation becomes available instead of activating.

Manual prolonging also allows customers to increase the quantity of resources.

For manual prolonging, the following occurs:

  1. A new prolong order in the Waiting for payment status is created.
  2. One charge is created in the New status.
  3. The period for the charge is defined as follows:
    • If the prolong order is created before the Paid to date — from the first day of the next billing period to its end or the subscription expiration date (depending on which one is the nearest).
    • If the prolong order is created on the Paid to date or later — from the first day of the current billing period to its end or the subscription expiration date (depending on which one is the nearest).
  4. If the quantity of resources is increased in the order:
    1. The charge amount is calculated for the new quantity of the resources.
    2. If the prolong order is created before the Paid to date, the order is created as delayed (Delayed = Yes and Provisioning date = the Paid to date). For an order in the Waiting for provisioning status, the linked charge remains in the New status.
  5. For a prolong order with the following parameters: Delayed = NoProvisioning date = the order creation date, the charge is not recalculated if the order is completed not on the order creation date.
  6. After provisioning the prolong order:
    1. The charge gets the Blocked status.
    2. The new Paid to date is set for the subscription, taking into account the charge period.
    3. If the subscription is stopped, it gets the Active status.

Manual prolonging an expiring subscription

For a subscription with the expiration date in the next billing period, the final prolong order is created as follows:

  1. Charges are created for a period to the subscription expiration date.
  2. After completing the payment linked to the prolong order, the Paid to date is set to the subscription expiration date.

For a subscription with the expiration date in the billing period after the next billing period, a prolong order is automatically created as follows:

  • If between the current Paid to date and the subscription expiration date there are more than 1 month 8 days, a prolong order is created under the general rules.
  • If between the current Paid to date and the subscription expiration date there are 1 month 8 days or less, the final prolong order is created as follows:
    1. An additional charge is created with the following attributes:
      • The charge status: New.
      • operate_from = the start date of a billing period with the subscription expiration date.
      • operate_to = the subscription expiration date - 1.
      • close_date = the subscription expiration date.
    2. The charges are displayed in the order and payment description in one line with the joined period.

      Adding the second charge to a prolong order for a subscription with the expiration date close to the billing day helps prevent the unwilling stopping of the subscription. Without the second charge, the final prolong order would be created too close to the subscription expiration date. Since a subscription can be renewed only after its prolongation, a customer might not have enough time to pay for the renewal.

    3. The order expiration date is set to the subscription expiration date.

    4. After completing the payment linked to the prolong order, the charges get the Blocked status. The Paid to date is set to the subscription expiration date.

Renewing a subscription with the non-endless period

To extend a subscription to another ordered period, delayed renewing is used with the ability to increase or reduce the quantity of resources (see Delayed renewing of a subscription).

When the subscription renewal order is submitted, Recurring fee charges for the additional resources renewal are generated. Separate charges are generated for each resource type. The generation and attributes changing of the charges of this type are similar to the generation and attributes changing of the Recurring fee charges for the subscription purchase order.

When a subscription in the Stopped or Graced status is renewed, it is activated automatically after the order and the debt are paid.

A subscription is automatically renewed as follows:

  1. Before the specified number of days to the expiration date of a subscription ordered for 1 year, a renewal order is created.
  2. One Recurring fee charge is generated in the New status for the period till the next billing day.
  3. If there are enough funds on the account balance, the subscription is renewed:
    1. The charge gets the Blocked status.
    2. The expiration date of the subscription is set as its current expiration date + 1 year.
    3.  The Paid to date is set equal to the next billing day.



  4. If there are not enough funds on the account balance, the subscription is stopped. To activate the subscription, a customer need to pay for the renewal order.
  5. If a customer pays for the renewal order after the subscription expiration date:
    1. The period and expiration date of the subscription are calculated considering the Expired subscription is renewed settings in a service term (see Creating a service term).
    2. For a charge generated for the period till the next billing day, the start date is set to the renewal order payment date, and the charge amount is recalculated, respectively.

Manual renewing a subscription close to the billing day

If between the subscription expiration date (or the renewal order creating date — for manual renewing an expired subscription) and the next billing day there are 10 days or less:

  1. An additional charge is created with the following attributes:
    • The charge status: New.
    • operate_from = the start date of the next billing period.
    • operate_to = the end date of the next billing period.
    • close_date = the billing day after the next billing period.
  2. The charges are displayed in the order and payment description in one line with the joined period.
  3. The order expiration date is set, taking into account the covered period but limited by the Cancel unpaid order in setting (see Creating an account class).
  4. After completing the payment linked to the order, the charges get the Blocked status. The Paid to date is set to the billing day after the next billing period.

Adding a charge for the whole next billing period helps prevent the unwilling stopping of the subscription. Without this charge, a prolong order would be created too close to the next billing day, and a customer might not have enough time to pay for the prolongation.

Automatic stopping a subscription due to an unpaid prolong order

For a postpaid subscription, instead of blocking due to an expired payment, a subscription continues to work, but gets the Graced status, and prolong orders continue to be created and completed automatically until a subscription expires. Manual prolonging is also available. A subscription gets the Active status when all the expired payments are paid.

If the prolong order is not completed manually or automatically:

  1. On the Paid to date:
    1. The subscription is stopped.
    2. The previous billing period charge changes the status from Blocked to Closed.
    3. The current billing period charge remains in the New status.
  2. On the next billing day (the expiration date of the prolong order):
    1. The prolong order and linked payment are cancelled.
    2. The previous billing period charge changes the status from New to Closed.
    3. The Paid to date is set as the current billing day.
    4. The subscription remains stopped.

Grace period for prolongation

If for a subscription, the grace period is set (see Creating a service term), the subscription on the Paid to date continues working but gets the Graced status.

If a customer pays for the prolong order within the grace period:

  1. The subscription gets the Active status.
  2. The new Paid to date is set taking into account the period covered by the order.
  3. The charge for the current billing period changes the status from New to Blocked without recalculation.

If a subscription is stopped for some reason within the grace period:

  1. The subscription gets the Stopped status.
  2. The charge for the current billing period is not recalculated and remains in the New status.

If a customer does not pay for the prolong order within the grace period:

  1. The subscription gets the Stopped status.
  2. The charge for the current billing period is not recalculated and remains in the New status.
  3. On the prolong order expiration date:
    1. The charge in the New status gets the Closed status.
    2. The new Paid to date is set equal to the current date.

If a customer pays for the prolong order after the grace period:

  1. The subscription gets the Active status.
  2. The new Paid to date is set taking into account the period covered by the order.
  3. The charge for the current billing period changes the status from New to Blocked without recalculation.

Manual stopping a paid subscription

In the Customer Control Panel, manual stopping a subscription is not available.

If a subscription was stopped during the paid billing period:

  1. The subscription gets the Stopped status.
  2. The charge in the Blocked status is not changed.
  3. No refunds to the account balance.
  4. If the subscription is not activated till the next billing day, on the billing day:
    1. The charge changes the status from Blocked to Closed.
    2. No refunds to the account balance.

Manual activating a paid subscription

For a manually stopped subscription, on clicking the Activate button:

  1. The subscription gets the Active status without checking the account balance.
  2. The charge is not recalculated.


Change order. Upgrading resources

If a customer increases the quantity of a resource for a subscription:

  1. The platform creates the following entities:
    1. A change order in the Waiting for payment status.
    2. The linked payment in the Waiting for payment status with the amount required for the upgraded resources from the date when the change order was created till the Paid to date.
    3. Charges in the New status for upgraded resources from the date when the change order was created till the Paid to date.
  2. The customer completes the payment on the day the payment was created.
  3. The charges in the New status get the Blocked status.
  4. For the next prolong order, one charge is created for the total quantity of resources.

Change order. Downgrading resources

Reducing the quantity of resources is not available in change orders.

Switching the plan of a subscription

The immediate switching of the plan (see Switching a plan) is performed with the standard splitting of blocked charges (see Splitting of charges when a subscription plan was switched). In contrast, for a charge in the Closed status, a new charge in the Closed status is created with a negative amount that covers the unused part of the subscription period.

The delayed switching of the plan is available if the Paid to date is equal to the subscription expiration date. Switching the plan, in this case, is performed together with renewing a subscription. A switch plan order is created as delayed (Delayed = Yes and Provisioning date = the subscription expiration day, see Delayed switch plan order in Switching a plan):

  1. For a switch plan order, charges are generated in the New status from the subscription expiration date to the next billing day.
  2. For a switch plan order in the Waiting for provisioning status:
    1. The charges remain the New status.
    2. The amount of the charges is blocked on the account balance.
  3. After completing a switch plan order:
    1. The charges get the Blocked status.
    2. The subscription expiration date is changed.
    3. The Paid to date is changed.

Deleting a subscription

When a paid subscription is stopped and deleted, the current billing period charge is recalculated with the period up to the subscription deletion day and changes its status from Blocked to Closed.