Title: BrainCraft Sale Scheduler &amp; Campaign Calendar for WooCommerce
Author: braincraftrs
Published: <strong>November 12, 2026</strong>
Last modified: November 12, 2026

---

Search plugins

![](https://ps.w.org/braincraft-sale-scheduler/assets/banner-772x250.png?rev=3798749)

![](https://ps.w.org/braincraft-sale-scheduler/assets/icon.svg?rev=3798749)

# BrainCraft Sale Scheduler & Campaign Calendar for WooCommerce

 By [braincraftrs](https://profiles.wordpress.org/braincraftrs/)

[Download](https://downloads.wordpress.org/plugin/braincraft-sale-scheduler.1.1.31.zip)

 * [Details](https://wordpress.org/plugins/braincraft-sale-scheduler/#description)
 * [Reviews](https://wordpress.org/plugins/braincraft-sale-scheduler/#reviews)
 *  [Installation](https://wordpress.org/plugins/braincraft-sale-scheduler/#installation)
 * [Development](https://wordpress.org/plugins/braincraft-sale-scheduler/#developers)

 [Support](https://wordpress.org/support/plugin/braincraft-sale-scheduler/)

## Description

Set up a sale once: choose the products with rules, choose the discount, preview
every product, pick a start and
 an end. Sale Scheduler changes the prices at the
start and puts them back at the end, keeping anything you edited by hand in the 
meantime. A Black Friday sale that starts at midnight and ends on Monday night needs
nobody awake.

The same rules and changes also run right away as a quick change (bulk edit), with
a preview and undo.

#### What you can do

 * **Campaign calendar**: every sale on a month or week calendar, or as a list, 
   with its status and progress.
 * **Scheduled campaigns** that start and end on their own, in the store’s timezone.
   End early with Revert now.
 * **Templates**: Black Friday, Cyber Monday, a weekend flash sale and clearance,
   with the dates worked out for you.
 * **Priorities for overlapping sales**: the review step lists every other campaign
   that touches the same products,
    and the higher priority wins. When it ends, 
   the other one takes over from the original price.
 * **Product rules**: category, tag, attribute, price, stock, stock status, product
   status, on sale, dates,
    custom fields and IDs, in “all” or “any” groups. Published
   products only unless you include other statuses.
 * **Whole variable products or single variations.**
 * **Changes**: sale and regular prices (set, percent, amount, remove sale, rounding
   to .99 and more, sale dates),
    stock, status and visibility, backorders, shipping
   class, weight and dimensions, tax, categories, tags, brands, attributes, find
   and replace in names, descriptions and SKUs, upsells and cross-sells, custom 
   fields.
 * **Preview before and after** for every product, including the ones that will 
   be skipped and why.
 * **Hand edits are kept**: undo and campaign ends restore only values that still
   hold what Sale Scheduler set.
 * **Deeper sales are never raised**: a 20% campaign does not replace an existing
   40% sale.
 * **Quick changes**: the same rules and changes, run now in background batches 
   with progress, cancel and undo.
 * **Activity log**: who did what and when, with adjustable retention.
 * **EU Omnibus**: “Lowest price in the last 30 days” under sale prices, from a 
   full price history.
 * **Scheduled tasks card**: tells you whether WP-Cron or your server cron is running
   campaigns on time.
 * **Built-in docs** on their own tab. HPOS compatible, translation-ready.

The plugin makes no external requests, loads nothing from other sites and collects
no data. Every feature
 described here is included, with no limits and no licence.

#### Pro version

A Pro version is sold separately, as its own plugin, by BrainCraft.rs. It adds sales
reports, repeating
 campaigns, a slow sellers template, notifications, storefront
badges and countdowns, Dokan support and campaign export and import. It is not needed
for anything this plugin does. If you install it, it uses the same campaigns and
settings, and this plugin stays idle while it is active.

Features and pricing of the Pro version: https://braincraft.rs/products/salecraft

## Screenshots

[⌊The campaign calendar: every sale in the month, with its status.⌉⌊The campaign
calendar: every sale in the month, with its status.⌉[

The campaign calendar: every sale in the month, with its status.

[⌊Choosing a campaign's products with rules.⌉⌊Choosing a campaign's products with
rules.⌉[

Choosing a campaign’s products with rules.

[⌊The changes: 25% off the regular price, rounded to .99.⌉⌊The changes: 25% off 
the regular price, rounded to .99.⌉[

The changes: 25% off the regular price, rounded to .99.

[⌊The preview: every product before and after, and the ones skipped.⌉⌊The preview:
every product before and after, and the ones skipped.⌉[

The preview: every product before and after, and the ones skipped.

[⌊The review step, with an overlap with another campaign.⌉⌊The review step, with
an overlap with another campaign.⌉[

The review step, with an overlap with another campaign.

[⌊A running campaign's results, product by product.⌉⌊A running campaign's results,
product by product.⌉[

A running campaign’s results, product by product.

[⌊Quick changes, with progress and undo.⌉⌊Quick changes, with progress and undo.⌉[

Quick changes, with progress and undo.

[⌊The activity log.⌉⌊The activity log.⌉[

The activity log.

[⌊The lowest price in the last 30 days under a sale price.⌉⌊The lowest price in 
the last 30 days under a sale price.⌉[

The lowest price in the last 30 days under a sale price.

## Installation

 1. In Plugins › Add New, search for “BrainCraft Sale Scheduler”, then Install Now 
    and Activate. WooCommerce must be active.
 2. Open WooCommerce › Sale Scheduler.

Background work runs on WooCommerce’s Action Scheduler and needs WP-Cron or a server
cron job. If your site cannot call its own URL, or gets little traffic, run `wp-
cron.php` from a server cron every minute. The Scheduled tasks card on the Campaigns
tab shows whether this works.

## FAQ

### Do I need to be awake when a sale starts?

No. A campaign changes the products at its start time and puts them back at its 
end time on its own, through
 WooCommerce’s scheduled tasks.

### A campaign shows “Did not run”.

Scheduled tasks did not run between its start and its end, so nothing was changed.
Set up a server cron job
 (see Installation).

### What happens to a product I edit by hand during a campaign?

Your edit stays. At the end, only values that still hold what the campaign set are
restored.

### Two campaigns discount the same product. Which one applies?

The one with the higher priority (on a tie, the one that started later). When it
ends, the other takes over,
 starting from the original price.

### Can I undo a quick change?

Yes. Undo puts back every product the change touched, except values edited by hand
since.

### Where does the “Lowest price in the last 30 days” come from?

From a history of every price change recorded from activation on, including hand
edits and imports. Turn it on,
 off or automatic (EU stores) under WooCommerce ›
Sale Scheduler › Settings.

### Does it slow down my store?

No. Changes run in the background in small batches, and the storefront only gets
the optional lowest price label.

### What does deleting the plugin remove?

By default only its queued tasks; its data stays for a reinstall. To remove its 
campaigns, the history of quick
 changes, the activity log, price history and settings
too, tick “Delete all data” under WooCommerce › Sale Scheduler › Settings before
deleting. Products keep their current values, including changes from campaigns that
are still active, so end or revert those first.

### Is there a Pro version?

Yes, sold separately as its own plugin; see “Pro version” above. This plugin is 
complete without it.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“BrainCraft Sale Scheduler & Campaign Calendar for WooCommerce” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ braincraftrs ](https://profiles.wordpress.org/braincraftrs/)

[Translate “BrainCraft Sale Scheduler & Campaign Calendar for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/braincraft-sale-scheduler)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/braincraft-sale-scheduler/),
check out the [SVN repository](https://plugins.svn.wordpress.org/braincraft-sale-scheduler/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/braincraft-sale-scheduler/)
by [RSS](https://plugins.trac.wordpress.org/log/braincraft-sale-scheduler/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.31

 * Renamed to BrainCraft Sale Scheduler & Campaign Calendar for WooCommerce, with
   its own slug.
 * Every feature is included: the plugin has no licence checks.

#### 1.1.27

 * A product’s own WooCommerce sale dates now keep their exact time of day: a sale
   starting at 18:00 no longer holds back a campaign running 09:00 to 17:00, and
   paused dates are put back with their original timestamps when the campaign ends.

#### 1.1.23

 * Campaign discounts now take effect even when a product has its own WooCommerce
   sale dates: dates that would delay or end the discount early are paused for the
   campaign and put back when it ends. A deeper sale of the product’s own that runs
   during only part of the campaign is skipped, with the reason in preview and results.

#### 1.1.20

 * Undoing a cancelled quick change now also restores a product whose change was
   saved just as the background work stopped, keeps any edit made by hand since,
   and waits for a batch that is still writing.

#### 1.1.16

 * When a campaign ends while restoring one of its products is failing, a campaign
   waiting for that product (or one starting later) now waits until the restore 
   succeeds instead of applying on top of the old sale price. The original price
   comes back when both campaigns end.

#### 1.1.14

 * When a higher-priority campaign takes over a product and restoring the other 
   campaign’s price fails (for example a database error), that campaign keeps its
   record of the original price and the takeover waits and is tried again every 
   few minutes. The original price comes back when both campaigns end.

#### 1.1.13

 * A product that could not be restored when a campaign ended or a quick change 
   was undone (a lock, a time-out) is tried again automatically a few minutes later,
   up to three times, and then with a Retry restore button. Prices edited by hand
   in the meantime are kept.

#### 1.1.8

 * Editing a campaign set to repeat in the Pro version no longer removes its repeat
   rule.

#### 1.1.3

 * Recovery of stalled background work now reaches every campaign, not only the 
   newest 100: the watchdog looks only at campaigns with work left, oldest first,
   and carries on from where its last run stopped.

#### 1.1.2

 * Changes that were saved before a later part of the same product write failed (
   for example a brand change) stay eligible for undo and campaign restoration; 
   manual edits made since are kept. Brand changes are checked before the product
   is saved.

#### 1.1.1

 * First release on wordpress.org.

## Meta

 *  Version **1.1.31**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [bulk edit](https://wordpress.org/plugins/tags/bulk-edit/)[campaign](https://wordpress.org/plugins/tags/campaign/)
   [Sale Scheduler](https://wordpress.org/plugins/tags/sale-scheduler/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/braincraft-sale-scheduler/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/braincraft-sale-scheduler/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/braincraft-sale-scheduler/reviews/)

## Contributors

 *   [ braincraftrs ](https://profiles.wordpress.org/braincraftrs/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/braincraft-sale-scheduler/)