WPCommex Sale Orchestrator

The all-in-one suite to plan, automate and measure every sales campaign in your WooCommerce store — dynamic discounts, sales targets, product merchandising, campaign planning and analytics in one plugin.

Version 2.1.4 WooCommerce 7.0+ WordPress 5.8+ HPOS Compatible

Introduction

Thank you for purchasing WPCommex Sale Orchestrator. This guide walks you through every feature step by step. Please read it carefully — it will help you get the most out of the plugin.

WPCommex Sale Orchestrator is a complete sales-management suite for your WooCommerce store. Instead of manually editing product prices one by one, you build smart rules once and let the plugin do the work — reliably and at scale.

🏷

Dynamic Discounts

Apply timed, random or fixed discounts to a chosen number of products from a list — with exclusions and full variable-product support.

🎯

Sales Targets

Set goals by units sold, orders or unique customers and get notified by email when they are achieved.

🧹

Product Arrangement

Curate the order products appear in a category with a drag-and-drop interface.

📅

Event Reminders

Plan seasonal campaigns with recurring reminders and task checklists.

📊

Reports

Visualise discount performance, revenue impact and target achievement.

Requirements

Before installing, make sure your environment meets the following minimum requirements.

WordPress5.8 or higher
WooCommerce7.0.0 or higher
PHP7.4 or higher
MySQL5.6+ / MariaDB 10.1+
Memory128 MB recommended
WooCommerce must be installed and active. If it is not, the plugin will show a notice and its features will stay hidden until WooCommerce is enabled.

The plugin is fully compatible with WooCommerce High-Performance Order Storage (HPOS / custom order tables).

Installation

You can install the plugin from the WordPress dashboard or via FTP.

Method 1 — WordPress Dashboard (recommended)

  1. Download the plugin ZIP from your CodeCanyon Downloads page. Choose “Installable WordPress file only”.
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  3. Select the ZIP file and click Install Now.
  4. Click Activate Plugin.
  5. A new menu item, Sale Orchestrator, appears in your admin sidebar.

Method 2 — FTP / File Manager

  1. Unzip the installable plugin file on your computer.
  2. Upload the wpcommex-sale-orchestrator folder to /wp-content/plugins/.
  3. In WordPress, go to Plugins, find the plugin and click Activate.
If you receive the error “The package could not be installed. No valid plugins were found,” you most likely uploaded the full CodeCanyon archive. Upload only the installable WordPress file (the inner ZIP), not the whole download.

What happens on activation

On activation the plugin automatically creates its database tables and schedules the background tasks it needs (daily discount processing and reminder checks). No manual setup is required.

Admin Overview

After activation you will find everything under the Sale Orchestrator menu.

MenuWhat it does
DashboardA bird's-eye view of active discounts, targets, arrangements and upcoming events.
Dynamic DiscountCreate and manage discount lists, then apply or remove discounts.
Sales TargetsDefine and track sales goals with email notifications.
Product ArrangementSet a custom product order for individual categories.
Event RemindersSchedule recurring campaign reminders and checklists.
ReportsAnalyse performance and export reports.
Access is available to Administrators and Shop Managers, as well as users who can edit products or orders.

📈 Dashboard

The Dashboard is your control center. It summarises the activity of every module at a glance.

  • Active Discounts — how many discount lists are currently active, plus totals.
  • Sales Targets — active and total targets with achievement rates.
  • Product Arrangements — custom and default arrangements optimising your catalog.
  • Event Reminders — upcoming events and overall progress of their checklists.
  • Recent Sales — a 7-day chart of total vs. discounted sales.
Use the Dashboard daily to spot which campaigns are live and which targets are close to being met.

🏷 Dynamic Discounts

The heart of the plugin. A Discount List is a reusable rule that selects products and applies a discount to a chosen number of them — automatically or on demand.

Creating a discount list

  1. Go to Sale Orchestrator → Dynamic Discount and click Add New Discount List.
  2. Fill in the General Settings: a list name, an optional description, and the Active toggle.
  3. Define Product Selection — choose where products come from (see the table below). You can add multiple selection blocks.
  4. Optionally add Excluded Products (see the next section).
  5. Configure the Discount Settings, duration, cooldown and additional settings.
  6. Click Create Discount List.

Product selection sources

SourceDescription
ProductPick individual products by name.
CategoryInclude every product in one or more product categories.
TagInclude every product carrying one or more tags.
SKUMatch products by an SKU pattern (contains, starts with, ends with).

Discount settings explained

OptionWhat it controls
Number of Products to DiscountHow many products from the selection receive a discount at any one time.
Selection MethodHow those products are chosen: Random, Most Recent or Oldest.
Discount TypePercentage off, or a Fixed Amount off the price.
Discount ValueThe base amount or percentage to apply.
Use Random Discount ValuesPick a random discount between a minimum and maximum for variety.
Round PriceRound the final sale price up or down to the nearest 10 / 100 / 1000.
DurationHow long each discount lasts (hours or days). Leave the duration so it never expires for a permanent discount.
CooldownThe minimum time before the same product can be discounted again by this list.
Start / End DateThe window during which the automatic daily processor may apply new discounts.
Only In-Stock ProductsSkip out-of-stock products when applying discounts.
RecurrenceRepeat the discount pattern weekly, monthly, quarterly, bi-annually or annually.

Applying & removing discounts

From the discount list table you can:

  • Apply Discounts — immediately apply the rule to the selected number of products. A progress bar shows live status.
  • Remove Discounts — remove every discount this list applied and restore regular prices.
  • Batch size — set how many products are processed per step (1–50). Lower values are gentler on small hosting plans.
The apply/remove process runs in sequential batches with a live progress bar. After each batch the plugin re-reads the saved price to confirm it was written, and the completion message tells you how many products were applied and verified — so you always know the result, even on modest hosting.

Variable products

Variable products are fully supported. The discount is applied to every eligible variation and the parent product's price range (the “from” price, price filters and sorting) is kept in sync automatically.

Discounts are written to the product's standard WooCommerce sale price fields. If you later edit a product manually in WooCommerce, your manual change takes precedence.

Excluded Products

Every discount list has an optional Excluded Products section. Anything you add there is guaranteed never to be discounted by that list.

How it works

The plugin builds the final set of eligible products like this:

Final products = (Included selection)  −  (Excluded selection)

Both the include and exclude sides support the same four sources — Product, Category, Tag and SKU — so you can, for example, include a whole category but exclude a few specific products or an entire sub-set by tag.

  1. Open a discount list (create or edit) and scroll to Excluded Products.
  2. Click Add Excluded Products.
  3. Choose a source type and pick the products / categories / tags / SKU pattern to exclude.
  4. Add as many exclusion blocks as you need, then save.
Example: Include the category “Shoes”, but exclude the tag “New Arrivals” — your latest arrivals will keep full price while everything else in Shoes is eligible for the discount.

🎯 Sales Targets

Set measurable goals for groups of products and track how close you are to reaching them.

Creating a target

  1. Go to Sale Orchestrator → Sales Targets and click Add New.
  2. Give the target a name and select the products, categories, tags or SKUs it applies to.
  3. Choose the Target Type and Target Quantity.
  4. Set a Start and End date.
  5. Optionally enable Email notifications and choose recipients.
  6. Save the target.

Target types

TypeGoal is measured by…
ProductsThe number of units sold.
OrdersThe number of orders containing the product.
UsersThe number of unique customers who bought the product.

Notifications & tracking

  • Include previous sales — count sales made before the start date, or only new sales.
  • Order statuses tracked — by default Completed and Processing orders count toward a target.
  • Email alerts — get reminded a configurable number of days before the deadline, and when a target is achieved.
Target progress updates automatically when an order is completed, and you can press Refresh Stats on a target at any time to recalculate immediately.

🧹 Product Arrangement

Control the exact order in which products appear inside a category — perfect for promoting featured items or seasonal picks.

Creating an arrangement

  1. Go to Sale Orchestrator → Product Arrangement and click Add New.
  2. Select the category the arrangement applies to.
  3. Drag products into the desired order. The order you set is the order shoppers will see.
  4. Configure the options below and save.

Arrangement options

OptionDescription
Suggestion TextThe label shown in the catalog “Sort by” dropdown (default: Site Recommendation).
Set as DefaultMake this arrangement the default sort order for the category.
AvailableShow this arrangement as a selectable option in the “Sort by” dropdown.
Hide Out of StockRemove out-of-stock products from the arranged listing.
Products per PageOverride how many products are shown per page in this category (0 = use the theme default).
When an arrangement is set as Default, the category page opens in that order automatically. Shoppers can still switch to other sort options unless you prefer to keep yours.
Arrangements work on the storefront category pages of any standard WooCommerce-compatible theme.

📅 Event Reminders

Never miss a sales event again. Plan it once and the plugin reminds you every year — automatically.

Creating an event

  1. Go to Sale Orchestrator → Event Reminders and click Add New.
  2. Enter a name (e.g. Black Friday), a description and the event date.
  3. Choose a recurrence so the event repeats on schedule (see below).
  4. Pick the reminder days — how many days before the event you want to be notified (you can choose several).
  5. Choose the notification channels: email and/or an admin notice, and set recipients.
  6. Optionally add a checklist of preparation tasks.
  7. Save the event.

Recurrence — “set once, recur for all years”

Set the original date a single time and pick a recurrence. The plugin always calculates the next upcoming occurrence, no matter how many years pass — so an annual event keeps reminding you every year, on the same month and day, forever.

RecurrenceRepeats…
NoneOne time only.
DailyEvery day (or every N days).
WeeklyEvery week (or every N weeks).
MonthlyEvery month.
QuarterlyEvery 3 months.
Bi-annuallyEvery 6 months.
AnnuallyEvery year.

Checklists

Each event can have a checklist of tasks (with optional due dates). Tick items off as you prepare; the Dashboard shows the overall completion percentage for each upcoming event.

A daily background check sends each reminder once on the right day. Reminder emails are de-duplicated, so you will never receive the same reminder twice in one day.

📊 Reports

Measure the impact of your campaigns with built-in charts and exportable reports.

  • Discount reports — see how many products are discounted, the revenue they generate and a performance score per product. Filter by a specific list and date range.
  • Sales-target reports — progress toward each target and completion rates.
  • Sales performance — store-wide trends, including discounted vs. total sales.
  • Date-range filter — focus any report on a specific period (past dates only).
  • Export — download any report as CSV or Excel (XLSX) for further analysis. The XLSX writer is built in — no server extensions required.
Reports use the same product/order data as the rest of the plugin, so the numbers always reflect what is actually applied — including excluded products and variable products. They are calculated in an HPOS-safe way.

Frequently Asked Questions

Does it work with variable products?
Yes. Discounts are applied to each variation, and the parent product's price range is kept in sync so listings, the “from” price and price filters all stay correct.
Will discounts apply reliably on cheap / shared hosting?
Yes. The apply and remove processes run in sequential batches and verify each price after it is written, reporting any products they could not confirm — so the result is dependable even on entry-level hosting.
Can I stop specific products from ever being discounted?
Absolutely — use the Excluded Products section of each discount list. Anything added there is removed from the list of eligible products, even if it matches your main selection.
How does the “set once for all years” event reminder work?
Enter the event's date once and choose a recurrence (e.g. Annually). The plugin always computes the next upcoming occurrence, so it keeps reminding you every cycle — automatically — without any further input.
What happens to my data if I uninstall the plugin?
Nothing is deleted unless you explicitly enable “Remove all data on uninstall”. When that option is on, the plugin removes its own tables, options, scheduled tasks and product meta on deletion.
Which user roles can access the plugin?
Administrators and Shop Managers, as well as users who can edit products or edit orders.
Is the plugin translation-ready?
Yes. It ships with a .pot template and ready-made translations for many languages in the /languages folder, and is fully compatible with translation tools such as Loco Translate and WPML.

🔧 Troubleshooting

A discount was applied but the storefront still shows the regular price

Clear any caching plugin / server cache and refresh the product page. The plugin writes WooCommerce's price-lookup data directly, but aggressive page caches may still serve an old copy for a few minutes.

The apply process seems to stop midway

Lower the batch size (e.g. to 10) and try again. Very small hosting plans process fewer products per step. Keep the browser tab open until the progress bar reaches 100%.

An arrangement order is not showing on the category page

Make sure the arrangement is set to Available (and optionally Default), that the category matches, and that your theme uses the standard WooCommerce catalog ordering.

Event reminder emails are not arriving

Confirm that your site can send email at all (test with any SMTP plugin). Also check the event is active, that email notifications are enabled, and that the recipients are valid. Reminders are sent by a daily background task, so allow the day's scheduled run to occur.

To investigate an issue more deeply, enable WP_DEBUG in wp-config.php. The plugin only writes diagnostic logs when debugging is enabled.

Performance & Hosting

The plugin is designed to be fast and dependable, even on modest hosting.

  • Prices are written directly to the database and the WooCommerce price-lookup table, avoiding slow full product re-saves.
  • Work is processed in small, configurable batches with a live progress bar, so large catalogs stay responsive.
  • Each batch is verified after writing, and any unconfirmed products are reported so you can re-apply them.

Recommended settings for large catalogs

  • Start with a batch size of 20; reduce to 10 on entry-level shared hosting.
  • Keep the browser tab open and your connection stable while a large apply/remove runs.
  • Use the “Only In-Stock Products” option to avoid processing products that are not for sale.

📝 Changelog

Version 2.1.4

  • Dynamic Discount Engine — rule-based automated discounts with flexible product selection (product, category, tag, SKU) and exclusions, random or fixed values, smart rounding, durations, cooldowns, scheduling and recurrence. Full support for simple and variable products, including individual variations.
  • Sales Targets — revenue and quantity goals across products, categories or tags, with progress tracking and email notifications.
  • Product Merchandising — drag-and-drop product ordering per category, with default and selectable sort options.
  • Campaign Planner — event calendar with interactive checklists, multi-day reminders and recurrence.
  • Reports & Analytics — discount, target and performance reports with charts, a date-range filter and CSV / Excel (XLSX) export.
  • Compatibility — WooCommerce HPOS, 12 translations, RTL, and all assets bundled locally.

💬 Support & License

We're here to help you succeed with the plugin.

Getting support

If you run into any issue or have a question, please reach out through the support channel listed on the item page. When contacting support, include:

  • Your WordPress and WooCommerce versions.
  • The plugin version (currently 2.1.4).
  • A clear description of the problem and the steps to reproduce it.
  • Any relevant screenshots.

License

This plugin is licensed under the GNU General Public License v2.0 or later (GPL-2.0+). Bundled third-party libraries (Select2, Chart.js, ApexCharts and the jQuery UI theme) are distributed under the MIT license — see the included LICENSES-THIRD-PARTY.md file.

Updates

Download the latest version from your CodeCanyon Downloads page, then upload it through Plugins → Add New → Upload Plugin. Your discount lists, targets, arrangements and events are preserved across updates.

Enjoying the plugin? A rating and review on CodeCanyon means a lot and helps us keep improving it. Thank you!