The Subscribe Pro Merchant App includes a Subscription Intervals page within the System menu which allows you to define the frequencies available for your customers to choose for their subscriptions. For instance, you can set up intervals for weekly or monthly subscriptions, or subscriptions that run every 7 days.
Date calculations based on subscription intervals are typically straightforward, but there are a few edge cases to be aware of. Our system allows selecting the unit of frequency from the choices: Day, Week, and Month. You can then choose how many of that unit must pass between each subscription order that selects that interval. When a subscription is processed and an order goes through successfully, the Next Order Date is automatically updated by incrementing it based on the interval length and unit. For instance if you choose "1" for the length and "Day" for the unit, a subscription with that interval will be processed every day.
Here is a table with some examples of how dates will be calculated using some common intervals:
|Interval||Unit||Length||Initial Order Date||First Reorder Date||Second Reorder Date||Third Reorder Date||Fourth Reorder Date|
|Every 30 Days||Day||30||01-Jan||31-Jan||Leap Year: March 2||01-Apr||Apr-31|
|Non-Leap Year: March 3||02-Apr||01-May|
|Every 2 Weeks||Week||2||01-Jan||15-Jan||29-Jan||12-Feb||26-Feb|
|Every 7 Days||Day||7||01-Jan||08-Jan||15-Jan||21-Jan||29-Jan|
|Monthly||Month||1||31-Jan||Leap Year: March 2||02-Apr||02-May||02-Jun|
|Non-Leap Year: March 3||03-Apr||03-May||03-Jun|
|Every 4 Weeks||Week||4||05-Apr||03-May||31-May||28-Jun||26-Jul|
|Every Year||Month||12||(Leap Year) February 29, 2016||(Non Leap Year) March 1, 2017||01-Mar-18||01-Mar-19||(Leap Year) March 1, 2020|
Subscriptions with a 1 Month interval will typically be placed each month on the same calendar date (e.g. for a subscription starting on the 1st of a given month, it will continue on the first of all subsequent months). However, as is shown in the table above, there are some edge cases surrounding subscriptions that are created in the later days of the month. This is most commonly seen with subscriptions created on the 31st of one month when the next month only has 30 days, but is more exaggerated when it comes to February because January has 31 days and February only has 28-29.
When the current month doesn't have as many days as the previous month and a subscription is on one of those days, our scheduler will count ahead as many days as make up the difference between the number of days in the current month and the number of days in the previous month. For example, in a non-leap year, February has 28 days, so a subscription scheduled every 1 month starting January 31 will see that February doesn't have 31 days, so it will take 31-28=3, and then it will count ahead from 28 that many days and the subscription will be processed again on March 3. However, moving forward, the subscription will remain on the 3rd of each subsequent month.
For similar reasons, an "every 30 days" interval should not be seen as the same as an "every 1 month" interval because not every month has exactly 30 days. Looking at the first example in the above table, there are two orders placed in January and the month of February is skipped altogether because of how many days each month has. Additionally, in subsequent months the date of the order each time will be different. This is also true of the "every 4 weeks" interval.
These behaviors can and have caused some confusion for our customers when looking at subscription revenue reports. If 10 subscriptions ran on December 31 and then the same subscriptions ran on January 31, the date of the reorder is changed during February, and then March 31 ends up with only as many subscriptions as were created on that date.