v1.0 release candidate — 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 failed items.

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.

Read getting started
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 target rows and values. Search or sort 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 created 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.

Get launch updates
  • Temporary sales, starting immediately
  • Up to 25 prices per campaign
  • Simple products
  • All four selectors, frozen preview, history
  • No scheduling, variations or rollback
Five sites
$149/ year · 5 sites

The complete Pro feature set for a small portfolio of stores or client sites.

Get launch updates
  • Everything in Pro
  • Use on up to five sites
  • The same snapshots, scheduling, variations, Resume, and rollback on every site
Agency
$249/ year · unlimited sites

The complete Pro feature set without a site-count ceiling.

Get launch updates
  • Everything in Pro
  • Unlimited site activations
  • Built for agencies managing multiple WooCommerce catalogues

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.

PricePilot is in final release preparation. Read the workflow now or contact Codeprint for launch availability.

Get launch updatesRead the docsWordPress.org submission pending.