Skip to main content
Skip table of contents

Calculate dates for AR subscriptions

Cases of Calculating

After a subscription is created, the dates on which certain events must happen to the subscription are calculated. 

Use the product validity period to calculate the core dates.

Validity period

The product validity period (term) provides the customer with a particular period to use their purchased product.
E.g., if a product has a 1-year validity period (1-year term), the customer can use this product for 1 year after purchase. Then the customer has to purchase a renewal. You can set up different product validity periods for an initial product, a renewal, and a free trial.

You can set the product validity period in days, months, years, e.g.: 30 days, 3 months, 1 year.

The validity period of a product influences how the core dates are calculated for a subscription:

  • When a subscription is created, its expiration date is calculated - the paid validity period of the subscription ends on this date.

  • Further, according to this date, more additional dates are calculated: how long it should take to create a renewal order, to initiate automatic payment, to notify the customer about the need to change their card, etc.

The minimum product validity period is 6 days.

image-20250318-140742.png

Subscription Life-cycle Dates

Subscription Creation Date

A subscription is created after the customer pays successfully for their first order (parent). Starting with the date when this subscription is created, the countdown for its first paid validity period begins.

Paid Validity Period Start Date

This date determines when the paid validity period of a subscription starts.
When selling a license, this date conditionally implies the start of the validity period (term) of this license. "Conditionally" means that the true activation of this license is not monitored by default.

The order types influence how the date is calculated:

  • For first orders (parent) – Equals the subscription creation date (order payment date).
    The actual date the customer starts using their product is not taken into consideration.

  • For renewal orders (child) - Depends on the date when the customer pays for a renewal order:

    • If the customer pays for their renewal order before the current paid validity period (paid term) of their subscription expires, the next paid validity period starts only after the expiration date of the current paid validity period comes.

    • If the customer pays for their renewal order after the current paid validity period of their subscription expires, the next paid validity period starts on the date of the successful payment for the renewal order. The days when the renewal order was not paid are not included in the paid validity period and not deducted from it.

Subscription Expiration Date

This date determines when the paid validity period (paid term) of a subscription expires.
When selling a license, you determine the actual deactivation date of the license (in the user's installed product). E.g., it may depend on the license activation date or other licensing specifics. Therefore, the actual date may differ from the estimated subscription operation dates.

The date is calculated as "subscription paid validity period start date (subscription paid term start date)" + "product validity period (product term)".

In addition, the system subtracts 1 day from the obtained date in the following cases:

  • If you calculate the product expiration date in a parent order

  • If you calculate the product expiration date in a child order and the previous child order was paid for after the product had expired

You can change this date in a specific subscription of the customer if a renewal order has not been created yet and the subscription is still active (not cancelled). You can do this using the Subscriptions API. All the dates calculated based on the expiration date are recalculated. 

image-20250318-140802.png

How to Determine Subscription Expiration Dates

Renewal Reminder Date / Child Order Creation Date

A payment reminder email is sent to the customer on this date.
It coincides with the date on which a child order is created (child order creation date). Thus, the price of a renewal is fixed on this date (due to the price could have changed within the previous paid validity period (previous paid term).
If no child order is created, then every subsequent day a new attempt is made to create a child order (6 attempts in total). The renewal reminder email is sent only after a child order is successfully created.

The default settings are:

If the product validity period is ≥ 6 months

30 days before the subscription expiration date

If the product validity period is < 6 months

9 days before the subscription expiration date

Renewal Payment Date (Next Recurring Payment Date, Next Charge Date)

The next automatic payment for a subscription (product renewing) should be executed on this date. If the payment fails, then more attempts to execute the payment (3 in total) are made at regular intervals.

The default settings are:

If the product validity period is ≥ 6 months

20/10/0 days before the subscription expiration date

If the product validity period is < 6 months

2/1/0 days before the subscription expiration date

Change Card Email Send Date

A Change Card Email is sent to the customer on this date. The email asks the customer to change their card bound to pay for subscription auto-renewal.

The notification is sent only if the card used is about to expire.

The system sends the information about the need to change the card in:

  • Separate notifications,

  • Renewal reminder email (*).

The default settings are:

If the product validity period is ≥ 6 months

45/30*/25 days before the subscription expiration date

If the product validity period is < 6 months

14/9* days before the subscription expiration date

Unpaid Renewal Order Lifetime

The lifetime of an unpaid renewal order is 90 days. After that, the order is automatically deleted.

Example of how subscription dates are calculated

Event

Validity Date

For product with a 30-day validity period

For licenses with a 1-year validity period

Parent order payment, Subscription creation date

21.12.2020

21.12.2020

Paid Validity Period Start Date 

21.12.2020

21.12.2020

Subscription Expiration Date

19.01.2021

20.12.2021

Change Card Email Send Date

05.01.2021

05.11.2021
25.11.2021

Renewal Reminder Date,
Child Order Creation Date or
Change Card Email Send Date

10.01.2021

20.11.2021

Renewal Payment Date

17.01.2021
18.01.2021
19.01.2021

30.11.2021
10.12.2021
20.12.2021

Change Dates

You can change dates of upcoming events for a specific subscription of the customer.

You have to change the expiration date of the subscription using the Subscriptions API. Then the system automatically recalculates all the remaining dates for the subscription.

You can change the date if the subscription has the active status.

If you want to extend the validity period for the subscription and change its expiration date forward, there are no additional date requirements.

If you want to shorten the validity period for the subscription and change its expiration date backward, then the new subscription expiration date must comply with the following requirement: the calculated renewal reminder date must fall on the day that follows the request completion day, at least. Otherwise, no renewal order can be created.

With the default dates, the new expiration date must meet the following conditions:

  • Product validity period (product term) < 6 months – in this case, the expiration date value must be 5 days (or more) greater than the request send date value.
    E.g., if the request is sent on January 1, then the expiration date must be January 6 or later.

  • Product validity period (product term) ≥ 6 months - in this case, the expiration date value must be 26 days (or more) greater than the request send date value.
    E.g., if the request is sent on January 1, then the expiration date must be January 27 or later.

This is necessary so that after the date change, there is enough time to create a renewal order. The new renewal reminder send date must follow the request send date, or come later in case of repeated attempts to create a renewal order.

Calculate the maximum number of days to change backwards:

  • Product validity period (product term) < 6 months:
    Maximum change = [Subscription expiration date] - [Request send date] – 5

  • Product validity period (product term) ≥ 6 months:
    Maximum change = [Subscription expiration date] - [Request send date] - 27

If you want to change a date to test how a subscription works, you can contact our support team to instantly initiate creation of a renewal order and its payment.

Example of calculating date change for short-term subscriptions
  • Product validity period (product term): 30 days. 
    As validity period (product term) < 6 months, so by default, a renewal order is created 9 days before the subscription expiration date.

  • Subscription expiration date: January 19

  • Renewal reminder send date: January 10 (January 19 - 9 days).
    The renewal reminder is sent to the customer when a renewal order is created. If for some reason it cannot be created, then repeated attempts are made: January 11, 12, 13, 14, 15 (6 attempts in total including the first attempt).

If you want to change the subscription expiration date 14 days earlier and you transfer the change request on January 1st, then:

  • The new expiration date becomes January 5 (January 19 - 14 days). This is 4 days greater than the request send date.

  • The new renewal order creation date turns out to be in the past (January 5 - 9 days = December 27).

  • The repeated attempts to create an order fall on: December 28, 29, 30, 31, January 01.

  • Thus, the date of the last attempt coincides with the request send date. In this case, there is not enough time to create a renewal order. 

When processing the request to change the expiration date using such data - the system checks new dates and returns an error.

In the case described above, you can only change the date only 13 days back. When transferring the request to change January 1:

  • The new expiration date becomes January 6 (January 19 - 11 days). This is 5 days greater than the request send date.

  • The date of the last attempt to create a renewal order falls on the next day after the request send date.

  • The request to change the date is successfully executed.


Noventiq Checkout

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.