If you haven’t already, you should read the Subscriptions guide for Store Managers to get a more general introduction to working with the Subscriptions extension. The information here will also be easier to understand if you have read the subscription renewal process document.
By default, WooCommerce Subscriptions creates the schedule for a subscription based on the day the customer signs up for the subscription. For example, if a customer buys a monthly subscription on the 15th January, they will first pay for that product on the 15th January, then on the 15th February their subscription will renew, and again on then 15th March, and so on.
However, when selling certain types of subscription products, you may find you need subscription renewal to occur on the same day for all subscribers. For example, a store selling a monthly gift box might ship the boxes on the first of each month. If a customer signed up on the 20th of January, by default their first renewal would be on the 20th of February. With renewal synchronization enabled, the customer can sign up on the 20th January and pay nothing to sign up (unless there is a sign up fee) and have the first subscription renewal processed on the 1st of February. The next renewal will then be processed on the 1st of March, then 1st April and so on.
The Renewal Synchronization feature is switched off by default. To enable renewal synchronization:
- Go to: WooCommerce > Settings > Subscriptions
- Click the Synchronize Renewals checkbox
- Click the Save Changes button
Once the Renewal Synchronization feature is enabled, you can individually select a day on which renewals should be processed for each subscription product.
After enabling renewal synchronization, you are presented with the option to prorate the first payment.
Prorating the first payment means the customer will be charged an initial amount based on the number of days left in the current billing period. The amount is calculated by finding the price per day for the subscription and multiplying that by the remaining number of days in the current billing period.
For example, for a $100 per year subscription that is synchronized to the 1st of January each year, if a customer signs up on the 1st July, they will be charged $50.41 at the time of signup (or $50.27 in a leap year). This is because there are 184 days between 1st July and 1st January, and the per day rate for a $100 per year subscription is $0.27397. If the customer was to sign up on the the 15th of November, they would only pay $12.87 because they would be paying for only 47 days left in the current year.
This option can apply either For Virtual Subscription Products Only or For All Subscription Products. Proration is most appropriate for virtual subscription products where the customer is buying access to a virtual good and you want to provide the customer with access to that virtual good as soon as they sign up.
If the option Never (do not charge any recurring amount) is selected, no recurring amount will be charged at the time of purchase. The customer would pay on the first upcoming synchronized date. Any sign-up fees would still be charged.
If the option Never (charge the full recurring amount at sign-up) is selected, the full recurring amount will be charged at the time of purchase. There is an additional field that will appear if choosing this option called Sign-up grace period. This grace period is the number of days before the synchronized renewal day during which a subscription will not charge the recurring amount at sign-up.
This feature can be particularly helpful for physical subscription boxes. For example, suppose a store sells a subscription box that is synchronized to the first of each month. When a customer signs up for a box, you want to charge the full amount immediately to offset the cost of the box. They can choose to synchronize the subscription and charge the full recurring amount at sign-up. However, say that you also want to cut off when the current month’s box can be ordered and delivered to 15 days before the next renewal date. This would allow you to have customers ordering before about the 15th of the month pay the full amount and get a box for the current month and customers ordering after that cut-off point to not be charged until the following month and not receive a box until next month.
If a subscription product is set up to renew weekly, monthly or yearly, you can choose to align renewal schedule for that product to a specific day.
To synchronize a product’s renewal day:
- Go to: Products > Edit Product
- In the Product Data meta box, select a day in the Synchronize Renewals field
- Click the Publish button to save the product.
The options displayed for synchronizing subscription renewals will depend on the renewal period of the subscription product.
- For products which renew weekly, you can choose any day of the week, like Monday or Sunday.
- For products which renew monthly, you can choose a specific day of the month, from the 1st to the 27th day, or set renewals to be processed on the last day of the month, which some months will be the 28th day, some months the 30th and others the 31st.
- For products which renew yearly, you can choose a specific day of the year, like January 18th or May 22nd.
It is important to clearly communicate the subscription renewal schedule to customers so they know exactly when they will be charged for their subscription.
To communicate a synchronized billing schedule with your customers, some extra information will be presented to the customer.
The additional information includes:
- The renewal day will be specified in the subscription’s price, both on the product page and in the totals displayed on the cart and checkout pages.
- The first payment date will be displayed on the product’s page for simple subscription products (it will not be displayed for a variable subscription product as the date may be different for each variation, so the customer first needs to select a variation and add it to their cart before the date will be displayed)
- The first payment date will be displayed on the cart total on the cart page
- The first payment date will be displayed below the order total on the checkout page
To clearly indicate to the customer the renewal and payment schedule for a subscription, products with synchronized renewals will include the renewal day in the price.
The table below includes some examples of different prices that will be displayed to the customer for different subscriptions schedules.
|Billing Period||Example Price without Synchronization||Example Price with Synchronization|
|Weekly||$12.00 / week||$12.00 every Wednesday|
|Fortnightly||$12.00 every 2 weeks||$12.00 every 2 weeks on Monday|
|Monthly||$5.00 / month||$5.00 on the 1st of each month|
|Quarterly||$5.00 every 3 months||$5.00 on the last day of every 3rd month|
|Yearly||$25.00 / year||$25.00 on January 1st each year|
To clearly indicate to the customer when the first renewal payment will be processed, the specific date of the first renewal will also be displayed on:
- the product’s page
- the cart page below the cart total
- the checkout page below the order total
If the first payment will be processed the same day the subscriber signs up for the subscription, for example, because they are signing up on a Wednesday and renewals are processed on Wednesday’s
By default, if the order created to keep a record of the purchase a non-prorated synchronized subscription does not contain any other non-synchronized products and therefore has an order total of $0, its status will be changed to completed, regardless of whether the subscription is to a physical item or not.
This behaviour was introduced after requests by store managers who explained that the purchase of a synchronized physical item doesn’t require any products to be shipped. It a record of the customer signing up to receive the product on the sync date.
The way coupons are applied to synchronized subscriptions is much the same as the way coupons are applied to standard subscription purchases.
The key difference is that cart, product and sign up fee coupons will only be applied if:
- the subscription has a sign up fee; and/or
- the subscription has a prorated payment charged at the outset;
This is because these coupons can only be applied to an initial payment. When there is no sign-up fee or prorated gap payment, these coupons can not be applied.
If a subscription has a sign up fee, that amount will be charged when the customer first signs up, regardless of whether the first renewal is the same day the customer signs up or not.
For example, consider a subscription that is synchronized to charge $10 on the 1st day of each month and does not include a sign up fee. If a customer signs up on the 20th January, he will pay nothing at the time of sign up. His first payment will be $10 on the 1st of February.
On the other hand, consider a subscription that is synchronized to charge $10 on the 1st day of each month and includes has a $50 sign up fee. If a customer signs up on the 20th January, he will pay $50 at the time of sign up. He will then pay $10 on the 1st of February.
Be aware that if the customer signs up on the day the subscription is synchronized to, both the sign up fee and recurring amount will be charged. For example, consider a subscription that is synchronized to charge $10 on the 1st day of each month and includes has a $10 sign up fee. If a customer signs up on the 1st of January, they will pay $20 at the time of sign up.
If the subscription’s first payment is prorated, the sign up fee will be added to the prorated initial amount.
For example, consider a prorated subscription that is synchronized to charge $30 on the 1st day of each month and does not include a sign up fee. If a customer signs up on the 20th January, he will pay $10.65 at the time of sign up – the prorated amount for the month. On the other hand, consider a prorated subscription that is synchronized to charge $30 on the 1st day of each month and includes has a $50 sign up fee. If a customer signs up on the 20th January, he will pay $60.65 at the time of sign up. He will then pay $30 on the 1st of February.
If a synchronized subscription includes a free trial, the date of the first payment will be calculated from the end of the free trial period.
For example, consider a $10 / month subscription synchronized to the 1st day of each month and a 2 week free trial. If a customer signs up on the 20th January, their first renewal payment will not be charged until the 1st March because the free trial will end on the 3rd of February and the first renewal date will be calculated from that date.
If first payments are set to be prorated, no prorated amount will be charged. This would require subscriptions to have a 3-tier price to account for the initial free trial, prorated amount after the free trial and the recurring amount, which is not currently supported.
If you or another store manager manually change the next payment date for a subscription, future payments will be processed based on the new payment date selected.
That means a subscription can be unsynchronized by changing the next payment date to a day not aligned with the synchronization schedule. For example, changing a weekly subscription synchronized to Mondays to have the next payment processed on Wednesday will mean all future payments will be processed on Wednesday. This is because future payments are calculated based on the past payment and renewal synchronization is only calculated and applied to the first payment.
If you wish to re-align the payment dates, you need to change the next payment date again after a payment has been processed out-of-sync.
Synchronized renewals are scheduled to run at 3:00am in your site’s timezone. You can set your site’s timezone on the WordPress General Settings administration screen.
For example, if your store is based in California, you should have your site’s timezone set to Los Angeles or UTC -7 so that renewals will be processed at the correct time.
This schedule is set only when the customer signs up. Changing your site’s timezone after a customer has signed up will not automatically change the renewal time for existing subscriptions, you may need to manually change the next payment date if some subscriptions were synchronized in the wrong timezone.
Furthermore, this applies to the first renewal only. After the first renewal, future renewals will be scheduled based on the time the last renewal was completed. For example, on the 15th January, you start selling a new monthly subscription that is synchronized to the first day of the month. You have 1,200 new subscribers sign up between 15th January and 31st January. At 3am on the 1st February, WooCommerce Subscriptions will begin processing renewals; however, it’s not possible to process all 1,200 renewals instantly, instead, Subscriptions will process them as a queue, meaning the renewal for the thousandth subscriber might not be processed until 4:00am. After it is processed, the renewal for the 1st of March will be scheduled for 4:00am, rather than 3:00am. This design helps stagger renewals on stores managing a large queue, which reduces server load.
PayPal does not allow a subscription to start on a certain date, instead, they provide a way to specify trial periods. Unfortunately, the trial must be of a certain period (i.e. day, week, month or year). This trial must also be within a maximum range, e.g. a trial period in days can be a maximum of 90 days.
If PayPal only accepted one trial period, these restrictions would make it impossible to align subscription start dates. However, they do accept two different periods. Unfortunately, PayPal only accept one free trial, the second trial period must charge an amount.
For longer subscriptions, like subscriptions that renew annually, WooCommerce Subscriptions needs to use this second trial period and therefore, tell PayPal to charge an amount for this second trial period. The minimum amount possible is $0.01, which is the amount Subscriptions tells PayPal to charge.
Unfortunately, when the date on which payments should be charged is more than 90 days from the time of sign-up, and it does not neatly fit into whole weeks or months, there is no way for Subscriptions to synchronize payments with PayPal Standard to a specific day without adding this confusing $0.01 amount to the second trial.
If you are selling annual or semi-annual subscriptions and do not want to confuse your customers with this and want to get access to other great subscription management features that are possible with more modern payment gateways, try one of the many other Payment Gateways for Subscriptions.
When you turn on Synchronise renewals in the subscription product setting and they are existing live orders. The existing live orders’ next payment date will not be affected.
Only new subscribers will have their renewal scheduled synchronized.
If you wish to re-align the payment dates of the existing live orders and make their schedule similar to the new subscribers with synchronized renewals, you need to change the next payment date of the existing orders to reflect the synchronized renewal date manually.
WooCommerce Subscriptions makes it possible to choose a billing interval greater than one. For example, you can charge customers every 2nd week or every 3rd month.
The billing interval is not taken into account when determining the synchronization day.
For example, if a subscription product is synchronized to the 1st day of the month, and the interval is every 3rd month, the first renewal payment will be the first day of the next month. It will not be charged on the 1st day of the next quarter.
This is in large part because it’s not always clear what date the calculation should be calculated from.
The 1st day of the 3rd month is relatively easy. Logically, it would be calculated based on the 1st January. So for example, if a customer signs up for the above subscription on the 6th of April, their first renewal payment would be the 1st of July, not the 1st May, as it would currently be determined. But that logic does not always apply.
For example, consider a product charged every 2nd week that is sync’d to Sunday. Should it be every 2nd week from the 1st of January? Or the 1st day of the current month? Or perhaps the first day of the following month if the 2nd Sunday has already occurred this month?
Consistently using the next occuring synchornization day avoids this confusion.
If you would like for a new feature to be added to Subscriptions to take intervals into account and choose which dates to process renewals, vote for the renew on set dates Idea.