Enhancer for WooCommerce Subscriptions adds new features to WooCommerce Subscriptions such as updating prices for existing users, a cancel delay, preventing cancel before specific days of renewal, auto-renewal reminder, expiry reminders, manual renewal reminder and separate shipping cycle for subscriptions.
Requirements
↑ Back to topEnhancer for WooCommerce Subscriptions Requires,
- WordPress 6.2 or later (tested up to 7.1.3).
- WooCommerce 8.2.0 or later (tested up to 11.2.1).
- WooCommerce Subscriptions 3.0.14 or later (tested up to 9.2.0). WooCommerce Subscriptions must be installed and active.
- PHP 7.4.0 or later
Installation
↑ Back to top- Download the enhancer-for-woocommerce-subscriptions.zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
- Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.
If WooCommerce or WooCommerce Subscriptions is not active, the plugin shows an admin notice and stays inactive until the required plugin is active.
Steps to Configure the Plugin
↑ Back to topMost features work on top of your existing WooCommerce Subscriptions products. Set up the objects below before you turn on the related features.
- Subscription plans – Needed if you want to sell non-subscription products as subscriptions (Product Level Subscription or Cart Level Subscription).
- Enhancer options on native Subscription Plans – Needed if you use WooCommerce Subscriptions native Subscription Plans and want Enhancer features on them.
- Subscription product settings – Separate shipping cycle, cancellation overrides, skip and next payment date overrides, renewal pricing and price updates per product or variation.
- Subscription email templates – Optional. Lets you send different reminder content depending on the day and the product.
Create Subscription Plans
↑ Back to topSubscription plans let customers buy a simple or variable (non-subscription) product as a subscription. There is no separate admin menu item for plans. You open the plan list from the Add/Edit subscription plan button, which appears next to the Select Subscription Plans field on a product and under Subscription Plans to be Shown for Cart Level Subscription in the settings.
- Click Add/Edit subscription plan. The Subscription Plans list opens in a new tab.
- Click Add subscription plan.
- Enter a name in the Subscription Plan name box. Customers see this name in the plan drop-down.
- Choose a Plan Type and fill in the fields for that type (listed below).
- Click Publish (or Update) to save the plan.
The Subscription Plans list shows Plan Name, Plan Type and Created Date. You can drag rows to change the order of the plans, and use the bulk actions to move plans to the Trash.
Plan Type
- Plan Type – Choose Predefined (you set the billing schedule) or Customer Defined (the customer picks the billing schedule within limits you set). The fields below change with this choice.
Predefined plan fields
- Sign-Up Fee – A one-time sign-up fee charged with the first payment. The label shows your store currency symbol.
- Free Trial – Trial length (number) and trial period (day, week, month or year).
- Subscription Price – The subscription price as a percentage of the product’s price (% of Regular Price/Sale Price). The label shows your store currency symbol. It is followed by the billing interval and billing period drop-downs.
- Renewal Pricing Table – Percentage off this plan’s subscription price per renewal number. See “Renewal Pricing Table” below.
- Synchronize Renewals – Aligns renewals to a fixed day. Shown for weekly, monthly and yearly billing periods. For yearly plans, you pick a month and a day.
- Expire After – When the subscription ends. The choices depend on the billing period.
- Separate Shipping Cycle – Creates separate shipping fulfilment orders for the subscription.
- Shipping Frequency Every – The interval and period for creating shipping fulfilment orders. Shown only when Separate Shipping Cycle is checked.
- Cancellation Settings – Use the store’s default cancellation rules or Use custom settings for this plan. When you choose custom settings, set the fields below. This override always wins over the general cancellation rules.
- Custom cancellation fields:
- Prevent After Signup – Cancellation is prevented for this many days after the customer first subscribes. Set 0 or leave empty for no restriction.
- Prevent After Renewal – Cancellation is prevented for this many days after each renewal payment. Set 0 or leave empty for no restriction.
- Prevent Before Renewal – Cancellation is prevented for this many days immediately before the next renewal payment is due. Set 0 or leave empty for no restriction.
- Minimum Renewals – The customer must complete at least this many successful renewal payments before cancelling. Failed or skipped renewals don’t count.
- Cancelling During the Free Trial – Follow the other restrictions / Always allow / Never allow.
- Allow Skipping Renewals for this Plan (drop-down) – Inherit storewide settings or Override storewide settings. Shown only when Allow Skipping Renewals is turned on in the settings. When you override, set the fields below.
- Skip override fields:
- Allow Skipping Renewals for this Plan (checkbox) – Turns skipping on or off for this plan.
- Maximum Skips Allowed – How many skips are allowed within the limit period. Leave empty for unlimited skips.
- Skip Limit Period – A number and a unit: Day(s) / Week(s) / Month(s) / Year(s).
- Skip Cutoff – Skip is no longer offered within this many days of the renewal date.
- Skipped Renewal Adjustment for Fixed-Length Subscriptions – Extend the subscription’s end date by one cycle / Reduce the total number of deliveries by one.
- Allow Changing Next Payment Date for this Plan (drop-down) – Inherit storewide settings or Override storewide settings. Shown only when Allow Changing Next Payment Date is turned on in the settings and the plan is not synchronised. When you override, set the checkbox of the same name and Maximum Days Forward.
Customer Defined plan fields
- Subscription Price – The subscription price as a percentage of the product’s price (% of Regular Price/Sale Price). The label shows your store currency symbol.
- Renewal Pricing Table – Percentage off the price that results from the billing period the customer chooses, per renewal number.
- Subscription Period Options to be Shown for Customer – The billing periods (day, week, month, year) the customer can choose from.
- Subscription Billing Interval Options to be Shown for Customer – A Min and Max interval for each period (For day(s), For week(s) and so on).
- Expire After Options to be Shown for Customer – A Min and Max length for each period.
Configure Enhancer Options for Native Subscription Plans
↑ Back to topIf your version of WooCommerce Subscriptions includes native Subscription Plans, Enhancer adds an Enhancer column to the native plans table. The column appears in the storewide plans table at WooCommerce > Settings > Subscriptions and in the plans table on the product edit screen.
- Open the native plans table (storewide or on a product).
- Click Configure in the Enhancer column for a plan.
- Set the options in the Configure Enhancer options popup.
- Click Save.
When a product uses storewide plans, each storewide plan row shows a Preview button instead. It opens Enhancer options (read-only). To change these settings, edit the plan from WooCommerce > Settings > Subscriptions.
The popup contains these fields:
- Separate Shipping Cycle – Creates separate shipping fulfilment orders. Not available for plans that bill every day.
- Separate Shipping Cycle for Old Subscriptions – Applies the shipping cycle to previously placed subscriptions on this plan from the next renewal. Shown when Separate Shipping Cycle is checked.
- Shipping Frequency Every – Only periods shorter than the plan’s billing schedule are offered. Shown when Separate Shipping Cycle is checked.
- Synchronize Shipping Frequency – Aligns shipping to a fixed day. Not available when shipping every day.
- Cancellation Settings and the custom cancellation fields – Same as on Enhancer plans.
- Allow Skipping Renewals for this Plan and the skip fields – Shown only when Allow Skipping Renewals is on.
- Allow Changing Next Payment Date for this Plan, its checkbox and Maximum Days Forward – Shown only when Allow Changing Next Payment Date is on.
- Renewal Pricing Table – Percentage off this plan’s subscription price, per renewal number.
- Subscription Price Update for Old Subscriptions – Inherit storewide settings / Override storewide settings. When overriding, set Subscription Price for Old Subscriptions (Old price / New price) and Notify Subscription Price Update for Old Subscriptions (day(s) before the subscription due date).
- Disable Reminder Emails – The selected reminder emails are not sent to customers on this plan: Trial Ending Reminder / Auto Renewal Reminder / Manual Renewal Reminder / Expiry Reminder.
When a product has native Subscription Plans configured, Allow Product Level Subscription has no effect on that product, and the cart-level Subscribe Now option is hidden while that product is in the cart.
Configure Subscription Products
↑ Back to topOpen a Simple subscription product and go to Product data > General, or open a Variable subscription product and expand a variation. Enhancer adds the fields below.
- Separate Shipping Cycle – Creates separate shipping fulfillment orders for the subscription. Hidden when the product bills every 1 day.
- Separate Shipping Cycle for Old Subscriptions – Creates separate shipping fulfillment orders for previously placed subscriptions from the next renewal onward. Shown when Separate Shipping Cycle is checked.
- Shipping Frequency Every – The interval (Shipping Interval) and period (Shipping Period) for creating shipping fulfillment orders. Shown when Separate Shipping Cycle is checked.
- Synchronize Shipping Frequency – Aligns shipping to a day of the week or a day of the month. Shown when Separate Shipping Cycle is checked and the shipping period is not day.
- Cancellation Settings – Use the store’s default cancellation rules / Use custom settings for this product (Use custom settings for this variation on a variation). Shown only when Allow Cancelling is on. Custom settings show Prevent After Signup, Prevent After Renewal, Prevent Before Renewal, Minimum Renewals and Cancelling During the Free Trial (default Follow the other restrictions).
- Allow Skipping Renewals – Inherit storewide settings / Override storewide settings. Shown only when skipping is on storewide. When overriding, set Allow Skipping Renewals for this Product (or Allow Skipping Renewals for this Variation), Maximum Skips Allowed, Skip Limit Period, Skip Cutoff and Skipped Renewal Adjustment for Fixed-Length Subscriptions.
- Allow Changing Next Payment Date – Inherit storewide settings / Override storewide settings. Shown only when the feature is on storewide. When overriding, set Allow Changing Next Payment Date for this Product (or Allow Changing Next Payment Date for this Variation) and Maximum Days Forward.
- Renewal Pricing Table – Percentage off this product’s (or variation’s) subscription price, per renewal number.
- Subscription Price Update for Old Subscriptions – Inherit storewide settings / Override storewide settings. When overriding, Subscription Price for Old Subscriptions (Old price / New price) appears. Notify Subscription Price Update for Old Subscriptions appears when New price is selected.
- Disable Reminder Emails – Trial Ending Reminder / Auto Renewal Reminder / Manual Renewal Reminder / Expiry Reminder. The selected reminder emails are not sent for this product.
Advanced tab
- Limit Trial to One – Restricts customers to using the trial only once. Shown on simple and variable subscription products when the WooCommerce Subscriptions Limit subscription field is set to Do not limit.
- Limit Subscription Level – Product Level / Variant Level. Variable subscription products only. Choose whether the subscription limit applies to the whole product or to each variation. Shown when a subscription limit is set, or when Limit Trial to One is checked.
When a customer already has an active subscription to a limited variation, the product page shows “You have an active subscription to this product already.” and, where allowed, a Resubscribe button.
Renewal Pricing Table
The Renewal Pricing Table appears on Predefined and Customer Defined plans, native plans, subscription products and variations. Each row is a renewal rule.
- Click + Add renewal rule.
- Enter Renewal From (1 or more).
- Enter Renewal To, or leave it blank (placeholder No limit) to apply the discount to every later renewal.
- Enter Discount %.
- Add more rows as needed. Click × to remove a row.
- Save the plan or product.
- Renewals not covered by any row use the base price, with no discount.
- Two rows cannot cover the same renewal number. Invalid rows are highlighted and the table is not saved until you fix them.
- Editing the table never changes an existing subscription. Only new subscriptions pick up the new table.
- The discount is not applied to subscriptions paid with a gateway that doesn’t allow its recurring amount to change. The field lists the affected gateways that are enabled in your store. Manual renewals are always unaffected by this.
Enable Product Level Subscription
↑ Back to topUse this to let customers subscribe to a simple product, or to a variation of a variable product.
- Open the product. For a simple product, go to Product data > General. For a variable product, expand the variation.
- Check Allow Product Level Subscription.
- In Select Subscription Plans, search for and add one or more plans. The search lists your Enhancer plans and, where available, native storewide plans.
- Optionally choose reminder emails to turn off in Disable Reminder Emails.
- Update the product.
If the product has native Subscription Plans configured, a notice explains that the native plans take precedence and this setting has no effect.
Create Subscription Email Templates
↑ Back to topEmail templates let you send different content for the same reminder type, depending on how many days before the event the email is sent and which product the subscription contains.
- Go to WooCommerce > Settings > Subscriptions and click Add/Edit subscription email template in the Reminder Emails section (the same button appears under Notify Subscription Price Update for Old Subscriptions). The Subscription Email Templates list opens.
- Click Add subscription email template.
- Enter a name in the Subscription email template name box.
- Fill in the fields below.
- Click Publish (or Update).
- Select Reminder Type – Subscription Price Updated (default) / Trial Ending Reminder / Auto Renewal Reminder / Manual Renewal Reminder / Expiry Reminder. Changing the type resets the fields below to that email’s defaults.
- Use This Template for Sending Email – The number of days before the event that this template is used for (for example, day(s) before subscription due date). Required, minimum 1. It must match one of the days you entered in the related reminder setting.
- Product Filter – All products (default) / Included products / Included categories.
- Select Products – Shown when Product Filter is Included products.
- Select Categories – Shown when Product Filter is Included categories.
- Email Subject – Leave blank to use the default subject.
- Email Heading – Leave blank to use the default heading.
- Shortcodes Supported – A table of the placeholders you can use in this template, with their purpose.
- Email Content – The body of the email. It starts with the default content for the selected type.
If no template matches the reminder type and day, the default email from WooCommerce > Settings > Emails is sent. A new template is used for new subscriptions, and for existing subscriptions after one renewal.
The Subscription Email Templates list shows Template Name, For Email ID and Created Date.
Setup and Configuration
↑ Back to topAll storewide settings are on WooCommerce > Settings > Subscriptions. Enhancer adds fields to two WooCommerce Subscriptions sections and adds its own sections after the WooCommerce Subscriptions sections. Each Enhancer section is shown as its own card with an “Enhancer” tag next to the heading. Detail fields in a card appear only after you turn on that card’s main option. Click Save changes after editing.
Switching
↑ Back to top- Allow Switching After – day(s) from the subscription start date. Default 0 (switch immediately). If left empty, customers cannot switch their subscriptions.
- Allow Switching After Each Renewal – day(s) from the subscription renewal date. Default 0 (switch immediately). If left empty, customers cannot switch their subscriptions.
- Prevent Switching – day(s) before the subscription renewal date. Default 0. Empty or 0 means customers are not prevented from switching before the renewal date.
Switching between subscription plans on products sold with Product Level Subscription follows the WooCommerce Subscriptions Allow Switching option Between Subscription Plans. Customers can switch to any different plan, even one with the same billing period. When Allow Switching is turned off completely, these subscriptions cannot be switched.
Price Updates
↑ Back to topDecide what existing subscribers pay when you change a product’s price.
- Subscription Price for Old Subscriptions – Old price (default) / New price. Choose New price to charge the updated product price to existing subscriptions from their next renewal. Customers are notified by email. For automatic renewals, the new price applies only if the payment gateway supports amount changes. You can override this per product, variation or native plan.
Cart Level Subscription
↑ Back to top- Allow Cart Level Subscription – Lets customers subscribe to all cart items as a single subscription. Default off. Customers can subscribe only if the cart contains non-subscription products.
- Subscription Plans to be Shown for Cart Level Subscription – The plans customers can choose from. You can select Enhancer plans and WooCommerce Subscriptions native storewide plans. Includes the Add/Edit subscription plan button. The Subscribe Now option is hidden whenever a cart item already offers its own WooCommerce Subscriptions plan(s). Shown only when Allow Cart Level Subscription is checked.
- Page to Display Cart Level Subscription – Cart / Checkout (multi-select). Default Cart. Shown only when Allow Cart Level Subscription is checked.
- Position to Display Subscribe Option in Checkout Page – Woocommerce Checkout Order Review (default) / Woocommerce Checkout After Customer Details / Woocommerce Before Checkout Form / Woocommerce Checkout Before Order Review. This position does not apply to the Checkout block. In the block editor, move the Cart Level Subscription block instead. Shown only when Allow Cart Level Subscription is checked.
Subscription Coupons
↑ Back to topLet subscribers apply a coupon to an existing subscription. Standard WooCommerce coupon restrictions are enforced as they are at checkout.
- Allow Adding Coupons to Subscriptions – Lets subscribers add or remove a coupon on an active subscription from My Account. Default off.
Pausing Subscriptions
↑ Back to topLet subscribers put an active subscription on hold and pick the date it comes back automatically. This works like Suspend, plus an auto-resume date.
- Allow Pausing Subscriptions – Lets subscribers pause their subscription until a date they choose, from My Account. Default off. A pause counts toward the WooCommerce Subscriptions customer suspension limit. When the limit is reached, the Pause subscription action is not shown.
Skipping Renewals
↑ Back to topLet subscribers skip a single upcoming renewal without cancelling. Changes apply to existing subscribers from their next renewal.
- Allow Skipping Renewals – Lets subscribers skip their subscription’s next renewal from My Account. Default off.
- Maximum Skips Allowed – skip(s). The most times a subscriber can skip within the Skip Limit Period. Default 2. Leave empty for unlimited skips. Shown when Allow Skipping Renewals is checked.
- Skip Limit Period – A number and Day(s) / Week(s) / Month(s) / Year(s). Default 12 Month(s). Each skip stops counting once it is older than this period. Shown when Allow Skipping Renewals is checked.
- Skip Cutoff – day(s) before the renewal date. Default 3. Within this many days of the next renewal, Skip is no longer offered. Set 0 to allow skipping right up until the renewal is due. Shown when Allow Skipping Renewals is checked.
- Skipped Renewal Adjustment for Fixed-Length Subscriptions – Extend the subscription’s end date by one cycle (default) / Reduce the total number of deliveries by one. Applies only to subscriptions with a fixed number of payments or an end date. With the second option, the final renewal cannot be skipped. Shown when Allow Skipping Renewals is checked.
Changing the Next Payment Date
↑ Back to topLet subscribers move their subscription’s next payment to a date of their choosing. Not available on synchronised plans. Changes apply to existing subscribers from their next renewal.
- Allow Changing Next Payment Date – Lets subscribers pick a new date for their next payment from My Account. Default off. The option is never shown for synchronised plans.
- Maximum Days Forward – day(s) from the current due date. Default 30. The most days into the future a subscriber can move the next payment date. Leave empty for no limit. Moving the date earlier is never restricted. Shown when Allow Changing Next Payment Date is checked.
Subscription Shipping Method
↑ Back to topLet subscribers change the shipping method used for future renewals. Available methods are recalculated against the customer’s address and your current shipping zones and rates.
- Allow Changing Shipping Method – Lets subscribers change the shipping method used for future renewals, from My Account. Default off. The action appears only for subscriptions that need shipping and have at least one available rate.
If a customer’s chosen method is no longer available at renewal, your store’s default method is used and the customer receives the Subscription Shipping Method Changed email.
Cancelling
↑ Back to top- Allow Cancelling – Lets subscribers cancel their subscriptions. Default on.
A product, variation or subscription plan with its own “Use custom settings” cancellation override always wins. The rules table is used only when no such override exists.
General cancellation rules
The rules table lists each rule’s Rule Name and Scope / Applies To. Rules are checked top to bottom, and the first rule that matches a subscription is the only one applied. Storewide always matches. Subscription Plan, Product category and Product match only when the subscription’s plan, category or product is listed.
- Click + Add rule. The Cancellation rule popup opens.
- Fill in the fields below and click Save.
- Drag rules by the handle to change their order.
- Click Edit to change a rule, or × to remove it.
- Click Save changes at the bottom of the settings page.
- Rule Name – A label for staff only. Customers never see it. Defaults to Untitled if left empty.
- Description – Notes for other staff. Not shown to customers.
- Scope – Storewide (default) / Subscription Plan / Product category / Product.
- Applies To – Depends on Scope: choose one or more plans (Enhancer plans and native storewide plans), one or more categories, or one or more products or individual variations. Not used for Storewide.
- Prevent After Signup – Days after the customer first subscribes during which cancellation is prevented. Default 0 (no restriction).
- Prevent After Renewal – Days after each renewal payment during which cancellation is prevented. Default 0.
- Prevent Before Renewal – Days immediately before the next renewal payment during which cancellation is prevented. Default 0.
- Minimum Renewals – Successful renewal payments required before cancelling is allowed. Default 0. Failed or skipped renewals don’t count.
- Cancelling During the Free Trial – Follow the other restrictions (default) / Always allow / Never allow. Always allow and Never allow decide cancellation during the trial on their own. Follow the other restrictions evaluates the restrictions above as if the subscription weren’t in its trial.
When cancellation is restricted, the Cancel button is not shown to the customer in My Account.
Reminder Emails
↑ Back to topEnter one or more numbers of days, separated by commas, in descending order (for example 3,2,1). Leave a field empty to send no reminder of that type. The section includes the Add/Edit subscription email template button.
- Send Trial Ending Reminder – day(s) before trial end date.
- Send Auto Renewal Reminder – day(s) before subscription due date. For automatically renewing subscriptions.
- Send Manual Renewal Reminder – day(s) before subscription due date. For manually renewing subscriptions.
- Send Expiry Reminder – day(s) before subscription expiry date.
Shipping Fulfillment Orders
↑ Back to topShipping fulfillment orders come from the separate shipping cycle set on products and plans. By default they generate the same WooCommerce order emails as any other order.
- Disable WooCommerce Emails for Shipping Fulfillment Orders – New order / Processing order / Completed order (multi-select). Default: none selected. The selected WooCommerce emails are not sent for shipping fulfillment orders.
Emails
↑ Back to topEnhancer adds the customer emails below to WooCommerce > Settings > Emails. Each email has Enable/Disable (Enable this email notification), Subject, Email Heading, Additional content and Email type (Plain text / HTML / Multipart). Leave Subject or Email Heading blank to use the default.
- Processing Shipping Fulfillment Order – Sent when a shipping fulfilment order is created. Contains the order details.
- Subscription Shipping Frequency Notification – Sent at the next renewal to customers who bought before Separate Shipping Cycle for Old Subscriptions was enabled.
- Subscription Price Updated – Sent before renewal when the subscribed product’s price has changed and New price applies. Timing is set by Notify Subscription Price Update for Old Subscriptions.
- Trial Ending Reminder – Sent before the trial ends, per Send Trial Ending Reminder.
- Auto Renewal Reminder – Sent before an automatic renewal, per Send Auto Renewal Reminder.
- Manual Renewal Reminder – Sent before a manual renewal is due, per Send Manual Renewal Reminder.
- Expiry Reminder – Sent before the subscription expires, per Send Expiry Reminder. It is also sent before the end of the prepaid term for subscriptions that are pending cancellation.
- Subscription Renewal Skipped – Sent when the customer skips a renewal. Contains the skipped date and the new next renewal date.
- Subscription Paused – Sent when the customer pauses a subscription. Confirms the automatic resume date.
- Subscription Resumed – Sent when a paused subscription automatically resumes billing.
- Subscription Shipping Method Changed – Sent when the customer changes the shipping method, or when the chosen method was unavailable at renewal and your default was used.
- Subscription Next Payment Date Changed – Sent when the customer changes the subscription’s next payment date.
Compatibility
↑ Back to top- WooCommerce High-Performance Order Storage (HPOS) – Declared compatible. The Renewal Pricing Schedule box appears on the Edit Subscription screen with or without HPOS.
- Cart and Checkout blocks – Enhancer registers a Cart Level Subscription block inside the Cart and Checkout blocks. To change its position, edit the Cart or Checkout page and move the block.
- WooCommerce Subscriptions native Subscription Plans – Enhancer options can be configured per native plan, and native storewide plans can be offered for cart-level subscription and used in cancellation rules.
- WPML – Subscription plans and subscription email templates are resolved in the customer’s language when translated versions exist.
- WooCommerce Product Bundles – Bundle products support Product Level Subscription, price updates and switching between bundle configurations.
- WooCommerce Composite Products – Composite products support Product Level Subscription and switching between composite configurations.
- WooCommerce Subscription Downloads – Supported with the price update feature.
- Discounts for WooCommerce Subscriptions – Supported with the price update feature. A warning is shown on subscription products where a renewal pricing table may conflict with its discount rules.
Questions and Feeback
↑ Back to topHave a question before you buy? Please fill out this pre-sales form.
Already purchased and need some assistance? Get in touch with us via the Help Desk.