Monthly Calendar Commitment. Charges generation

Unlike other billing types, Monthly Calendar Commitment uses the same charge generation pattern for the Prepay and Postpay models (excluding the automatic stopping a subscription due to an unpaid prolong order). This article describes charge generation for both models but uses the Prepay model for the examples. For the Postpay model, consider the current debt instead of the account balance for accumulating the amount of charges (see Specifics of managing postpaid subscriptions). See also Particular aspects of charges in different currencies.

The Monthly Calendar Commitment billing type is applied to subscriptions with fixed monthly payments aligned with the subscription start date (rather than the billing days) and the obligation to use the ordered quantity of resources during the full subscription period. In general, this billing type is similar to Monthly Commitment (see Monthly Commitment. Charges generation), but the difference is that charges are not split by billing periods so that they have a fixed duration of 1 month (duration = 1). Such monthly intervals correspond to the Microsoft billing rules of annual subscriptions with monthly payments (P1Y:Monthly).

In this article:

General rules

  • The Paid to date depends on the subscription start date and is not aligned with the billing day.
  • Charges are generated for the current (next) month only. 
  • Only the Recurring fee charges for the resources are generated.
  • All subscription charges for orders are generated in the New status. After an order is completed, the charges get the Blocked status — for a sales and renewal order, and Closed — for other order types.
  • Reducing the resource quantity with prolongation is not available during the full subscription period.
  • Cancelling a subscription and refunds may be available, but only within a limited period after purchasing.

For an annual Microsoft NCE subscription with monthly payments (P1Y:Monthly) with a shortened period because it was purchased or renewed with the expiration date alignment:

  • The first charge period is shortened (duration < 1) according to the shortened subscription period.
  • The Paid to date is set relative to the expiration date to keep the period of all other charges equal to 1 month (duration = 1).
  • The end date of a sales order is limited by the selected subscription expiration date if it is closer than the end of the Cancel unpaid order in period in the account class.

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, 22. 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 during one month. The order expiration date is set using the Cancel unpaid order in setting (see Creating an account class) and it is not limited by the billing day.
    3. One charge:

      • Status: New.

      • Duration: 1 month (duration = 1) without splitting by billing periods.
  2. If the customer completes the payment not on the day the payment was created, the charge is changed to preserve the duration of 1 month:
    • operate_from = the date when a sales order is completed.
    • operate to = the date when a sales order is completed + 1 month (duration = 1).

      For a one-year subscription ordered on 31 December 2021:

      31 December 2021 – 30 January 2022
      31 January – 27 February
      28 February – 30 March
      31 March – 29 April
      30 April – 30 May
      31 May – 29 June
      30 June – 30 July
      31 July – 30 August
      31 August – 29 September
      30 September – 30 October
      31 October – 29 November
      30 November – 30 December 

  3. The platform performs provisioning of the order and moves the charge from the New to Blocked status.
  4. The platform sets Paid to = the subscription activation date + 1 month (duration = 1).
  5. The platform closes the blocked charge, taking into account the Deletion period of subscription by customer (days) setting in the service terms and the date of the next billing day (see Creating a service term).

For 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 month (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 month without splitting by billing periods: 
    • Status: New.
    • Duration: 1 month (duration = 1).
    • operate_from = the current Paid to date.
    • operate_to = the current Paid to date + 1 month (duration = 1).

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

  3. After completing the payment linked to the prolong order, the charge gets the Closed status.

  4. The platform sets the new Paid to date = the previous Paid to date + 1 month (duration = 1).

Manual prolonging a subscription

Manual prolonging with activating a stopped subscription

For manual prolonging after the Paid to date, the following occurs:

  1. A new prolong order and the payment in the Waiting for payment status are created.
  2. Charges in the New status are created starting from the Paid to date and including the full month when the order is created.

After completing the prolong order:

  1. The charges get the Closed status and are not recalculated.
  2. The new Paid to date is set using the maximal operate_to of the charges.
  3. If the subscription is stopped, it gets the Active status.

Manual prolonging with changing the resource quantity

Reducing the quantity of resources is not available in prolong orders (see Prolonging a subscription).

For manual prolonging with the increased resource quantity (a delayed prolong order), the charges for additional resource quantity are also created without splitting by billing periods:

  • Status: New.
  • Duration: 1 month (duration = 1).
  • operate_from = the current Paid to date.
  • operate_to = the current Paid to date + 1 month (duration = 1).

After completing the prolong order with the increased resource quantity after the Paid to date, only the charges for additional resource quantity are recalculated.

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).

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 (for example), a renewal order is created. The order expiration date is set using the Cancel unpaid order in setting (see Creating an account class) and it is not limited by the billing day.
  2. One charge is created without splitting by billing periods:
    • Status: New.
    • Duration: 1 month (duration = 1).
    • operate_from = the current subscription expiration date.
    • operate_to = the current subscription expiration date + 1 month (duration = 1).

  3. For manual renewal with the increased resource quantity (a delayed prolong order), the charges for additional resource quantity are also created without splitting by billing periods.

If there are enough funds on the account balance, the subscription is renewed on the expiration date:

  1. The platform performs provisioning of the order and moves the charge from the New to Blocked status.
  2. The platform sets the new Paid to date = the previous Paid to date + 1 month (duration = 1).
  3. The platform closes the blocked charge, taking into account the Deletion period of subscription by customer (days) setting in the service terms and the date of the next billing day (see Creating a service term).
  4. The expiration date of the subscription is set as its current expiration date + 1 year.

If there are not enough funds on the account balance, the subscription is stopped. To activate the subscription, a customer needs to pay for the renewal order. When a renewal order is completed after the subscription expiration date, the charges are not recalculated, including the charges for the increased resource quantity.

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 a prolong order is not completed manually or automatically, on the Paid to date:

  1. The subscription is stopped.
  2. The order remains in the Waiting for payment status.
  3. The charge remains in the New status.

After completing the order:

  1. The subscription is activated.
  2. The platform sets the new Paid to date = the previous Paid to date + 1 month (duration = 1).
  3. The charge gets the Closed status and is not recalculated.

If a prolong order is not completed during the full next month, on the order expiration date:

  1. The prolong order and linked payment get the Cancelled status.
  2. The charge gets the Deleted status.

To activate such a subscription after deleting an unpaid prolong order, a customer needs to manually create a new prolong order. The period covered by a new prolong order starts from the current Paid to date (duration > 1).

Grace period for prolongation

If for a subscription, the grace period is set (see Creating a service term) and a prolong order is not completed automatically and manually, on the Paid to date:

  1. The subscription continues working but gets the Graced status.
  2. The prolong order and the payment remain in the Waiting for payment status.
  3. The charge 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. If a prolong order is not completed during the full next month, on the order expiration date:
    1. The prolong order and linked payment get the Cancelled status.
    2. The charge gets the Deleted status.

If a customer pays for the prolong order within the grace period or later but before the order expiration date:

  1. The subscription gets the Active status.
  2. The platform sets the new Paid to date = the previous Paid to date + 1 month (duration = 1).
  3. The charge for the current resource quantity gets the Closed status and is not recalculated.
  4. For a prolong order with the increased resource quantity, the charge for additional resource quantity is recalculated and gets the Closed status.

Stopping a paid subscription

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

If a subscription was stopped during the paid month:

  1. The subscription gets the Stopped status.
  2. Charges in the Blocked and Closed statuses are not changed.
  3. No refunds to the account balance.

If the subscription is not activated till the next billing day, on the billing day:

  1. The Blocked charge gets the Closed status.
  2. No refunds to the account balance.

Activating a paid subscription

For a manually stopped subscription, on clicking the Activate button, or after the credit hold:

  1. The subscription gets the Active status without checking the account balance.
  2. The charges are 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 without splitting by billing periods.
  2. The customer completes the payment.
  3. The charges in the New status get the Closed status (or Blocked — for a recently purchased subscription for which the charges are not yet closed, taking into account the Deletion period of subscription by customer (days) setting in the service term and the date of the next billing day).
  4. For the next prolong order, one charge is created for the total quantity of resources.

Change order. Downgrading resources

For downgrading resources, the charge behavior depends on whether the subscription charges are already closed.

If the subscription charges are not yet closed (for example, for a limited period after purchase or renewal):

  1. When a change order for downgrading resources is created:
    1. The closed charge is deleted.
    2. The following charges are created:
      1. Charge 1:
        • Status: Waiting for refund.
        • Period: from the order creation date to the Paid to date (the order creation date is refunded).
        • Amount: a positive amount for a refund for the reduced resource quantity.
      2. Charge 2:
        • Status: Blocked.
        • Period: from the order creation date to the Paid to date.
        • Amount: a positive amount for the new resource quantity.
      3. Charge 3:
        • Status: Closed.
        • Period: from the beginning of the current period (month) to the order creation date (not including).
        • Amount: a positive amount for the previous resource quantity.
  2. When a change order for downgrading resources is completed, charge 1 gets the Refunded status.

If the subscription charges are already closed:

  1. When a change order for downgrading resources is created:
    1. The closed charge does not split.
    2. A charge in the New status is created for the rest of the month starting from the order creation date to the Paid to date and a negative amount for a refund for the reduced resource quantity (the order creation date is refunded).
  2. When a change order for downgrading resources is completed, the charge in the New status with a negative amount gets the Closed status.

If a change order is completed not on the creation day, charges for the current period are recalculated for the order completion date.

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 as follows:
    • Status: New.
    • Duration: 1 month (duration = 1).
    • operate_from = the current subscription expiration date.
    • operate_to = the current subscription expiration date + 1 month (duration = 1).

  2. For a switch plan order in the Waiting for provisioning status:
    1. The charges remain in 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 Closed status.
    2. The subscription expiration date is changed.
    3. The platform sets the new Paid to date = the previous Paid to date + 1 month (duration = 1).

Deleting a subscription

When a paid subscription is deleted:

  • A charge for the current month in the Blocked status is split:
    1. For the consumed part of the month up to the subscription deletion day (excluded) — in the Closed status. If a subscription is deleted on the purchase day, it is free for a customer.
    2. For the rest part of the month from the subscription deletion day (included) — in the Deleted status.
  • A charge for the current month in the Closed status is not changed.