xpay✦ Commerce
Directory
WooCommerce plugins
Scheduled Sales, Discounts and Omnibus Price History for WooCommerce
Scheduled Sales, Discounts and Omnibus Price History for WooCommerce
Schedule sale prices and discounts months ahead, with EU Omnibus built in: the lowest 30-day prior price, checked before each sale, and price history.
5.0
(8 ratings)Will this break my store?
What the WordPress.org registry says about keeping Scheduled Sales, Discounts and Omnibus Price History for WooCommerce running.
Tested to 7.1.3
Tested against the WordPress branch in use today.7 days ago
At least 18.3 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.5.8
woocommerce
These must be installed and active first.2
Maintenance & trust
Scored on how Scheduled Sales, Discounts and Omnibus Price History for WooCommerce is looked after — not on how many stores run it.
97
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
12 / 15Listing transparency
10 / 10Ratings
5.0
8 ratingsReal example: Black Friday + Christmas + January Sale, all scheduled at once
Say you sell a t-shirt at 29,99 € and want three sales planned for November and beyond:
- Edit the product in WooCommerce → find the “Scheduled sale prices” section
- Add: 19,99 € from Nov 28 to Dec 1 (Black Friday)
- Add: 30% off from Dec 20 to Dec 26 (Christmas)
- Add: 12 € off from Jan 5 to Jan 15 (January sale)
- Save the product once. Done.
- Before anything goes live, the editor tells you what the EU Omnibus rules will see: Christmas at 20,99 € is not lower than the 19,99 € of Black Friday a few weeks before, so it should not be announced as a reduction, and the January sale will be measured against 20,99 €, not 29,99 €.
Every sale can be a fixed price, a percentage off or an amount off, and you see the resulting price before saving. Each sale can start and end at an exact time (hour and minute), so flash sales begin and end right when you plan them, and WordPress cron (configurable down to every 5 minutes) applies each price automatically. No separate campaign screen to learn: everything lives in the product editor you already use.
Scheduled Sales, Discounts and Omnibus Price History for WooCommerce extends WooCommerce’s native sale scheduling by letting you queue up unlimited sale prices per product, each with its own dates, times and discount type. It also handles the prior price the EU Omnibus Directive asks you to show: it checks every scheduled sale before it runs, shows the right prior price on your store, and keeps a price history you can export.
Why this plugin?
- All-in-one free solution combining: multiple sales per product, percentage and fixed amount discounts, variations support, CSV import/export, activity log, overlap priority, dashboard widget and Command Palette
- EU Omnibus prior price, before and after the sale: the editor warns you while you plan a chain of sales, your store strikes through or shows the right prior price, and the price history tab is your record of which price applied when
- Integrated directly into the product editor — no separate complex screens to learn
- Lightweight: no build process, no external dependencies, no JavaScript frameworks
- HPOS-ready (High-Performance Order Storage) and ready for the WordPress Command Palette (Cmd+K / Ctrl+K)
- Built and maintained by a WordPress specialist with 15+ years of experience publishing plugins on WordPress.org
Key Features
- Schedule multiple sale prices per product
- Fixed price, percentage discount or fixed amount off, with a live preview of the final price
- Optional minimum and maximum final price, so a percentage discount never goes further than you want
- Dynamic pricing: Schedule both discounts and price increases
- Each sale has its own start and end date and time, down to the minute
- Omnibus check while you plan: each scheduled sale shows the prior price it will be measured against, counting your other scheduled sales, and warns you when it would not be a real reduction
- Omnibus on your store: the prior price struck through instead of the regular price, or a note with it, with your own text and the number of days your country asks for
- Price history: every price change of every product and variation for 13 months, searchable and exportable to CSV
- Configurable check frequency (every 5, 10, 15, 30 minutes or hourly)
- Works with simple and variable products
- Configurable priority when sales overlap
- Import and export scheduled sales via CSV
- Activity log with configurable retention period
- Automatic deletion of expired sales
- Admin notifications when sales activate or end
- Alert notifications before sales expire
- Dashboard widget with sales overview
- Compatible with HPOS (High-Performance Order Storage)
- Automatic sale activation and deactivation via cron
- Import existing WooCommerce sales
- Clean orphaned scheduled sales from deleted products
- Command Palette integration (Cmd+K / Ctrl+K) for quick access to export and overview
Use Cases
- Plan Black Friday, Christmas and seasonal sales months in advance, all in one visit to the product editor
- Schedule different discounts for different promotional periods without losing track of the legally required reference price
- Implement dynamic pricing for high-demand periods (hotels, events, tickets)
- Seasonal price adjustments (peak season vs. off-season)
- Manage flash sales and special offers
- Coordinate pricing across multiple products
- Track pricing history with activity log
- Keep a record of which price applied when, ready to export if anyone asks
- Receive alerts when sales are about to end
- Automatically clean expired sales
Settings Options
- Default overlap priority (lowest, highest, first, last)
- Enable/disable activity log
- Log retention period (30-365 days)
- Automatic deletion of expired sales (never, 30-365 days)
- Sale check frequency (every 5, 10, 15, 30 minutes or hourly)
- Sale activation notifications
- Notifications before sale ends (1-30 days)
- Overlap warnings when creating schedules
- EU Omnibus prior price: strikethrough, when and where to show the note, days counted and note text
Requirements
- WordPress 5.8 or higher
- WooCommerce 6.0 or higher
- PHP 7.4 or higher
Support
Need private support or custom development?
Do you need one-on-one help, priority troubleshooting, or a custom feature, integration, or tweak built specifically for your site? I offer private support and custom development. Just contact me and tell me what you need.
Need help or have suggestions?
Love the plugin? Please leave us a 5-star review and help spread the word!
About AyudaWP.com
We are specialists in WordPress security, SEO, AI and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.
Does this work with variable products?
Yes, the plugin fully supports both simple and variable products. Each variation can have its own scheduled sales and priority settings.
What happens if two sales overlap?
You can configure the priority (lowest price, highest price, first scheduled, or last scheduled) both globally in settings and per product/variation. The plugin will automatically apply the sale price according to your priority setting.
Can I import existing WooCommerce sales?
Yes, the plugin includes an “Import current sale” button that converts existing WooCommerce sales into scheduled sales, allowing you to add more sales to the same product.
Can I bulk import sales?
Yes, use the CSV import feature in the settings page to bulk import scheduled sales for multiple products. You can also download a CSV template to see the required format.
Is this compatible with HPOS?
Yes, the plugin is fully compatible with WooCommerce’s High-Performance Order Storage (HPOS).
How often does the plugin check for sales to activate?
By default WordPress cron checks every hour, but you can change this to every 5, 10, 15 or 30 minutes in the Settings tab. More frequent checks make exact start and end times more precise. Note that WordPress cron depends on your site receiving traffic to run on schedule.
Can I schedule sales by exact time, not just by date?
Yes. Since version 1.3.0 each scheduled sale has a start and end time (hour and minute), interpreted in your store’s timezone. Sales created before 1.3.0 keep working: with no specific time set, they start at the beginning of the first day and end at the end of the last day.
Can I automatically delete old expired sales?
Yes, you can configure automatic deletion of expired sales after a specified period (30, 60, 90, 180, or 365 days) in the General settings tab. This helps keep your database clean.
How long are activity logs kept?
You can configure log retention from 30 to 365 days in the General settings. Logs older than the retention period are automatically deleted.
What happens to scheduled sales when I delete a product?
You can use the “Clean orphaned schedules” button in the Overview tab to remove all scheduled sales from deleted or invalid products.
Can I get notified before a sale ends?
Yes, you can enable notifications to alert you a specified number of days (1-30) before a sale expires, giving you time to plan your next promotion.
Can I schedule price increases, not just sales?
Yes! While the plugin is designed primarily for scheduling sale prices (discounts), you have complete flexibility to set any price – including prices higher than the regular price. This allows you to handle seasonal pricing adjustments, high-demand periods, or other dynamic pricing strategies.
Note: If you schedule a price higher than the regular price, the product will simply show the scheduled price without displaying a “sale” badge or strikethrough pricing.
Does this plugin work with the WordPress Command Palette?
Yes! Since version 1.2.0, the plugin registers two commands in the WordPress Command Palette (Cmd+K on Mac, Ctrl+K on Windows): “Export scheduled offers to CSV” for quick CSV downloads, and “Show scheduled offers” to jump directly to the overview page. These commands work from any admin screen (requires WordPress 6.3 or higher).
How do I show the lowest price of the last 30 days (EU Omnibus prior price)?
The Directive asks that a price reduction shows the prior price: the lowest price of the product in the 30 days before the reduction. When sales follow each other, that price is not your regular price.
- In the product editor, each scheduled sale shows the prior price it will have, counting your other scheduled sales, and warns you when a sale would not be lower than it.
- On your store, the plugin strikes through the prior price instead of the regular price, or adds a note with it.
- The Price history tab keeps every price change for 13 months and exports it to CSV.
The plugin only knows prices from when it is active on your site. When you install or update it, each product gets its current price as a starting point. It does not interpret the law for you or guarantee compliance: check that the prior price shown fits your case.
Why is the struck-through price lower than my regular price?
Because the product was cheaper in the days before the sale, and that is the price the rules measure the reduction against. If the sale is not lower than that price, the plugin shows it as a plain price, without strikethrough or note. You can go back to striking through the regular price in the Settings tab.
Can my theme or another plugin show the prior price?
Yes. Developers can use ayudawp_msps_get_prior_price(), ayudawp_msps_get_prior_price_note() and ayudawp_msps_strikes_prior_price(), or the msps_omnibus_price_note_html filter to change or remove the note.
Categories
Plugin details
Tags on WordPress.org
