v1.0 is out — permanent price changes, variations and exact rollbackRead the notes →
WooCommerce plugin

Change a thousand prices. Undo them exactly.

PricePilot runs bulk sales and permanent price changes on your WooCommerce catalogue. It photographs every price before it writes, shows you the exact list first, and reverses to the stored values — never to a reverse calculation.

25 prices free, no accountWooCommerce 9.0+PHP 8.1+
WOOCOMMERCE → PRICEPILOTPREVIEW FROZEN
CAMPAIGNSummer essentials · −20%
READY
PRICES24
AVG CHANGE−$8.43
INVALID0
ProductSKURegularSale
Canvas WeekenderCAN-041$72.00$57.60
Trail Flask 750mlFLA-113$24.00$19.20
Field Notes SetNOT-208$12.00$9.60
24 / 24 prices checked
Nothing is written until you approve this list
2workflows that never interfere with each other
100%of changed prices snapshotted before the write
50prices per batch, so big catalogues do not time out
0manual edits silently overwritten
Two jobs, kept apart

Most plugins muddle sales with price edits. That is how stores lose their regular prices.

A two-week promotion and a supplier cost increase are different operations on different fields. PricePilot makes you pick one up front, then guarantees the other data is untouched.

Temporary sale

Put a category on sale until Friday.

Writes WooCommerce's own sale price and sale-end date. Your regular prices are never touched, so the promotion expires by itself — even if the plugin is deactivated.

FieldBeforeAfter
regular12.0012.00 kept
sale9.60
sale ends14 Aug

Already discounted? Choose once whether to skip those products, replace their sale, or discount further.

Permanent changePRO

Raise a supplier's range by 4%, ending in .99.

Rewrites regular prices only. Sale prices and sale dates — including schedules that have not started yet — come out byte-for-byte identical.

FieldBeforeAfter
regular72.0074.99
sale64.0064.00 kept
sale window1–7 Sep1–7 Sep kept

Round to currency precision, down to .99, .95, or a whole number — after the maths, not before.

Why you can trust it with 3,000 SKUs

The interesting engineering is not the discount. It is the undo.

01

Exact snapshots, not reverse maths

Rollback writes back the stored value each product had before the run. Applying −20% then +25% does not get you home; a snapshot does.

02

Your manual edits win

Before writing, each product is compared with the snapshot. If you or another plugin changed it, PricePilot skips it and tells you.

03

Overlaps need a signature

If two campaigns target the same product, you see both prices side by side and acknowledge the overlap before either one runs.

04

Batched, resumable, idempotent

Work runs through Action Scheduler in batches of about 50. Resume retries only what did not land.

05

Written through WooCommerce

Every change uses WooCommerce product APIs, so caches, lookup tables and variable parents stay current.

06

Uninstalling keeps your history

Deleting the plugin leaves campaigns and snapshots in place by default. Removing the data is an explicit choice.

Four steps

You approve a list, not a promise.

The whole design goal is that you never press a button and hope. By the time anything is written, you have read the exact number that will land on every product.

Try it on your catalogue
01

Choose what to reprice

Products, categories and their descendants, tags, or a list of SKUs. Variable products expand into variations; parents are never repriced directly.

02

Set the rule

Use a percentage, a fixed amount, or one exact price. Negative or nonsensical results are refused instead of quietly becoming zero.

03

Read the frozen preview

Review the exact product IDs and values. Search, sort, or export the list. Change a rule and the preview rebuilds before it can be approved.

countavg changelowest resultalready on saleinvalid rowsoverlaps
04

Approve — and keep the receipt

Every campaign records who approved it, which items succeeded, failed or were skipped, and the values they had before.

Pricing

Free until you outgrow it.

The free version is not a demo — it runs real sales on up to 25 prices. Pro is for catalogues where 25 stopped being enough.

Free
$0forever

For a small catalogue and the occasional weekend promotion. Everything is snapshotted, same as Pro.

Download from WordPress.org
  • Temporary sales, starting immediately
  • Up to 25 prices per campaign
  • Simple products
  • All four selectors, frozen preview, history
  • No scheduling, variations or rollback
Agency
$149/ year · 25 sites

For people who reprice other people's catalogues. Same features, licensed across client sites.

Get Agency
  • Everything in Pro, on 25 sites
  • Per-campaign audit trail with the approver's name
  • PHP hooks for your reporting
  • Priority support

Prices exclude VAT · licences handled by Freemius · a lapsed licence keeps working, it just stops updating

FAQ

The questions people actually ask before installing.

Something missing? Read the docs or ask us before you buy.

What happens if I deactivate the plugin mid-sale?+

Nothing breaks. Sale end dates live in WooCommerce's native fields, so the sale still expires on schedule. Scheduled campaigns that have not started are unqueued and rebuilt on reactivation.

Can it destroy my regular prices?+

A temporary sale never writes to the regular price field. A permanent change does so deliberately, after storing the old value for an exact rollback.

What if I edit a price by hand after a campaign runs?+

Your edit stands. Rollback restores only products whose prices still match what the campaign left behind; anything changed since is reported and left alone.

Does it work with 10,000 products?+

Previews and writes run in background batches, so nothing depends on your browser staying open. Large jobs take minutes and remain visible while they run.

Why is the free version limited to 25 prices?+

Because a clear cap beats a partial run. If your selection matches 26 products, PricePilot refuses the campaign and tells you. It never applies the first 25 and abandons the rest.

Multicurrency, tax-inclusive pricing, subscriptions?+

Not in v1. PricePilot works on the raw prices WooCommerce stores. We would rather do one thing exactly than several things approximately.

Run your next sale without holding your breath.

Install the free version, point it at one category, and read the preview. If the list looks right, it is right — that is the whole idea.

Install free from WordPress.orgCompare Free and ProNo account. No card. No trial clock.