Scheduled Sale Manager for WooCommerce

$19 Add to cart Learn more

Yes! This plugin is compatible with the latest WordPress and WooCommerce versions.

Scheduled Sale Manager is a WordPress plugin for WooCommerce that allows you to easily set up your shop sales. Choose exactly when the sale should start and finish, what product groups will be affected and what the discount will be.

5% off the entire shop? Free shipping on Sundays? End of the year sale on all large T-shirts? It's easy to set up and the possibilities are endless.

How does it work?
Setting up a sale is a simple 3-step process

You choose exactly when and how long the sale is active, which products are affected and what the discounts will be. You can create any number of sales!


Set up a

  • Always on
    To simply start a sale without specifying a schedule.
  • Date range
    Pick the exact start and end dates and times.
  • Weekly
    Pick week days to start and end a weekly sale.
  • Monthly
    Pick days of the month to start and end a monthly sale.
  • Yearly
    Pick dates in a year to start and end a yearly sale.
  • Or any combination of the above!


Choose which products to include or exclude

  • Everything
    To simply discount the entire shop.
  • By product category
    Such as T-shirts.
  • By product tag
    Such as New Items.
  • By product attribute
    Such as Size: Large.
  • By product age
    Such as anything older than 1 month.
  • Specific products
    Manually pick individual products.
  • Or any combination of the above!


Setting the sale's
applied discount(s)

  • Percentage discount
    To reduce product prices by a specified percentage.
  • Fixed product price
    To give all affected products the same price.
  • Fixed product price discount
    To reduce product prices by a specified amount.
  • Free Shipping
    To offer free shipping on the sale items.
  • Or a combination of the above!

Key features

  • Create any amount of sales
  • Sales can be instantly disabled/enabled
  • Sales can be temporary, permanent and recurring
  • Works with all (simple, variable and grouped) product types
  • Target all or specific groups of products
  • Multiple product criteria can be combined and allows for both inclusive and exclusive selection
  • GDPR compliant
  • A familiar UI that blends right into the WordPress environment and allows for simple to complex set ups with little effort
  • No recurring fees
  • Each license receives free plugin updates forever
  • Comes with documentation
  • Comes with developer support
  • Check out the screenshots!

Performant and developer friendly

  • Updates just like any other plugin
  • Does not add any CSS or JS assets to your site
  • Does not create any additional database tables
  • Translation/WPML ready
  • Efficient query cache/transient usage to optimize performance
  • Follows WordPress coding standards
  • Fully commented code
  • Contains many action/filter hooks to allow for advanced customizations without editing the core files
  • No arrogant menu entries, nagging or other visual standout in the admin environment
  • All data is removed upon uninstallation


Available right here!


for Scheduled Sale Manager for WooCommerce

What is the required WordPress version?


Is this plugin compatible with WooCommerce 4.0+?

Yes! And backwards compatible with 2.6.

Where are the settings?

Visit WooCommerce > Sales. Here you’ll be able to create and manage your sales. There is no global configuration page.

How do I configure a one-time sale?

When creating/editing a sale, set the schedule type to “Data range”. You are then presented with two date / time pickers. The sale will start on the “From” date/time, and end on the “Until” date/time.

How do I configure a weekly schedule?

When you set the schedule type to weekly, you are presented with two weekday and time selection controls. Pick your start and end day/time. The sale is then automatically applied between these moments at a weekly interval.

How do I configure a monthly schedule?

When you set the schedule type to monthly, you are presented with two month-day and time selection controls. Pick your start and end day/time. The sale is then automatically applied between these moments at a monthly interval. If you pick a day that exceeds the current month (like 31 in a February) the schedule will end on the last day of the month instead.

How do I configure a yearly schedule?

When you set the schedule type to yearly, you are presented with two month/day/time selection controls. Pick your start and end day/time. The sale is then automatically applied between these moments at a yearly interval.

How do I activate my sale on multiple schedules?

When editing the sale, press “And…” under the schedule metabox. This adds a new row to the scheduler. You can add up as many rows as you like. They will all apply to the sale.

How do I change the first day of the week in the date pickers?

This option is taken from your WordPress configuration. Visit Settings > General to change what’s considered the first day of the week.

The time is off!

The plugin uses the WordPress timezone for sale scheduling. You can change your timezone under Settings > General. If you still think there is a time inaccuracy issue, please contact support.

Can I put the entire shop on sale?

Yes! Under criteria, simply choose “Everything”.

Can I target products by multiple properties?

Yes! Under criteria, choose one property then press “And…” on the right side. This will add another line to add a criteria. When stacking criteria with “And…” all properties have to match for the product to be applicable. When using the button “Or…” you can add properties that are unrelated to the rest. Example: Large (attribute) AND T-shirt (category) applies to large t-shirts but Large OR T-shirt applies to anything that’s large and all t-shirts.

What if more than 1 sale applies to a product?

When multiple sales overlap, the one that causes the lowest product price wins. The sales are applied per product, so the outcome can technically vary per product.

What if a product is already on sale (has a discount price) but is also part of a sale?

Just like when multiple sales apply to a product: the lowest price wins. The sale option “Apply to discount price” determines wether the sale’s discount is added to the original product price or also to the discounted product price if it exists.

What if I have sale and non-sale items in the cart?

Sales are applied per item, so products that are not part of the sale are not affected. This also applies to free shipping if that’s enabled in the particular sale. The free shipping will not be applicable to products outside of the sale.

Can I end a sale prematurely?

Yes! You can simply disable the sale, change its schedule or delete it. The change will be effective immediately.

Can I display all products on sale?

Yes. You can use the native [products on_sale="true"] woocommerce shortcode for that.

Sales and WPML

WPML should not be configured to translate sales (under WPML > Translation options). By default it will not translate sales so unless the setting is manually changed it should be fine.
Sales always apply to all site languages.

Sales are set up using product criteria from the original language but wether the sale applies to the same products across languages can vary. When a product meets the sale’s criteria but the translation of the same product doesn’t meet the sale’s criteria (if it doesn’t have the required category for instance) the sale does not apply to the translated product.

The discounts apply to the language-specific price. So if a sale gives 50% discount and the product in the original language has a price of 10 but the translation of the product costs 12 they will be discounted to 5 and 6 respectively.

I'm still stuck!

Please visit
Print this document


What's new?


for Scheduled Sale Manager for WooCommerce

26 Oct 2023
  • Added support for HPOS.
  • Added support for latest WooCommerce version.
24 Oct 2021
  • Ensured compatibility with latest WP, WC.
18 Jun 2020
  • Improved compatibility with the "WooCommerce Product Add-ons" plugin.
31 May 2020
  • Fixed faulty tax calculations on variable products that could occur in certain configurations.
  • Now also considering variable product attributes (which are not used for the variations) when determining if a product variation is on sale.
27 Apr 2020
  • Now sorting sale schedule dates by start-date, because there were situations where that wasn't the case. Note that this does not change the order of items in the "Sale schedule" metabox. The new sorting applies the next time your sale schedule is recalculated or when you save the sale edit screen.
  • Improved RTL support on the sale config page.
13 Feb 2020
  • Improved determining which taxonomies to include in the "include by" criteria dropdown.
23 May 2019
  • Compatibility fix for WP 5.2 & WC 3.6.3.


11 Jan 2019
  • Improved compatibility support for plugin "Currency Switcher for WooCommerce".


30 Dec 2018
  • Added various filter hooks.
  • Added compatibility support for plugin "Currency Switcher for WooCommerce".
  • Improved compatibility support for plugin "WooCommerce Product Add-ons".


25 Dec 2018
  • Added the ability to enable/disable sales from the post list table row actions (the links when you hover sales in the post list table).
  • Added compatibility support for plugin "WooCommerce Product Add-ons".
  • Added the ability to use decimal numbers for the discount percentage.
  • Improved compatibility support for plugin "WooCommerce Dynamic Pricing".


22 Dec 2018
  • Added compatibility support for plugin "WooCommerce Dynamic Pricing".
  • Now returning the proper sale prices when using the methods $product->get_variation_sale_price() on a product variation.


8 Dec 2018
  • Fixed inability to submit a shipping address during checkout when a free-shipping sale was applied.


4 Dec 2018
  • Added support for plugin "Woocommerce Custom Product Addons".


23 Nov 2018
  • Avoid a possible error when a variable product's variation has no price.


24 Jul 2018
  • Now also returning the applicable sale price when calling $product->get_sale_price(). This helps in some themes where a discount percentage is shown on sale items for instance.


19 Jul 2018
  • Products can now be targeted by age. To automatically discount items that are older than a certain timeframe for example.
  • Fix: When changing a sale's post status via quick-edit or bulk-edit, the applicable sales are now properly toggled. Before, this would only work properly via the post edit screen.


1 Jul 2018
  • Improved querying of sale products in the WooCommerce sale products shortcode.
  • Fixed some rare product targeting inaccuracies introduced in 1.7.1.


29 Jun 2018
  • Fixed compatibility issue on sites using the Polylang plugin.
  • Now only offering product taxonomies as sale criteria if more than 0 terms exist for that taxonomy. This keeps the criteria list clean of unused taxonomies.
  • Fixed exclusive criteria being ignored when "Everything" was part of the criteria group.


22 Jun 2018
  • Added the ability to target products by tag, and any other existing product taxonomy such as brands if a branding plugin is installed.


14 Jun 2018
  • Now showing hierarchy in the category dropdowns when picking sale criteria.
  • Sales targeting a category are now also applied to all hierarchical children of the category.
  • Fix the possible warning: "A non-numeric value encountered..." in specific situations.


19 May 2018
  • Added the (highly requested) option to exclude products by category, attributes or specific products.


15 Apr 2018
  • Added support for the Facebook for WooCommerce plugin. When importing products to your facebook shop, they now include the applicable sale price and sale end date. Note that the product needs to be currently on sale to sync the sale price / end date.


18 Mar 2018
  • The product names in the specific product selection field will now wrap to a new line when long so they don't stretch the field.
  • Added the ability to select variable products (parents of variations) in the specific product multiselect field. In this case the sale will apply to all the product variations. If a variation happens to also be part of another sale, the biggest discount applies.
  • Fix a possibility where editing a sale to add schedule/criteria/discount rows could overwrite existing ones.


11 Mar 2018
  • Improved displaying of upcoming schedule in the sale table.
  • Fix a situation where shipping could be applied to Virtual products when on sale.


9 Feb 2018
  • Fix possibility of "A non-numeric value encountered..." warnings on PHP 7.1+.
  • Tested in WP 4.9.4 and WC 3.3.1.


3 Feb 2018
  • Added admin columns to the sales table to display the sale status and its upcoming schedule.
  • Added the discount type "Fixed product price", to make all affected products a specified price. Not to be mistaken with "Fixed product price discount" which subtracts a specified amount of currency from its original price.


9 Dec 2017
  • You are now able to enter numbers with decimals as fixed product discounts.
  • Added the sale products to the result of the [products on_sale="true"] shortcode, the [sale_products] shortcode and wc_get_product_ids_on_sale() function.
  • Improved compatibility with older versions of PHP.


8 Nov 2017
  • Fixed a situation where the timepicker could be broken depending on other active plugins.


17 Jul 2017
  • Added the option to apply fixed product price discounts.


23 Jun 2017
  • Improved - Query performance when analysing wether a product variation is on sale.
  • Fixed - Possible error on plugin uninstallation.


2 Jun 2017
  • Fixed - Issue when using product attributes as sale criteria. Please check and save your sale config again if you're experiencing issues regarding a sale by product attribute.
  • Fixed - WPML: Better targeting of affected translated products when using the "specific products" criteria.
  • Improved - WPML: Better handling of category/attribute criteria when these are also translated and/or when the translated product has different categories/attributes than the original language.


30 May 2017
  • Fixed - Possibility of date range from/to relationships getting confused when there were multiple date ranges.
  • Fixed - Specific product selection field functionality possibly altering the product selection in other similar WooCommerce fields.


23 May 2017
  • Fixed - Broken settings link in plugin list entry. It now points to the Sales table page.
  • Fixed - Possible "Headers already sent." PHP warning.


20 May 2017
  • New - Added the ability to pick individual products to apply a sale to. Under the "Affected products" metabox, choose "Specific products" from the dropdown to get a multiselect field that allows for searching through all your products.


16 Apr 2017
  • Initial release.


Priority support directly from the developer. Also for pre-purchase questions!


We found Scheduled Sale Manager for WooCommerce and saved my client a lot of time. With this plugin we were able to set up sales for a variety of products and categories from one simple interface without having to edit every one of their items one at a time.

Brilliant plugin and a very friendly and helpful developer. Would thoroughly recommend!

This plugin is amazing! Before we were constantly sitting at our computers waiting 15 minutes before our sale would go live and edit each product’s price. With more inventory weekly, it’s impossible to keep up. Luckily we found this plugin and it’s very user friendly. There is every option you can think of depending on what kind of sale you need. It’s perfect for our website and we love it!

Excellent plugin and works exactly as promised. Very happy to have discovered this plugin. Cheers!

$19.00 Single domain license

Payment is quick and secure and your download will be available immediately after purchase.