Plugins / CSV Order Status Changer

CSV Order Status Changer

Bulk-change WooCommerce order statuses by uploading a CSV, with live progress, a full result log, and a validate-only mode.

CSV Order Status Changer in the WordPress admin

A courier hands you a spreadsheet of delivered shipments. A payment provider confirms a batch of invoices. Now hundreds of WooCommerce orders need a status update, and clicking through them one by one is not a plan.

CSV Order Status Changer takes a two-column CSV (order ID, target status) and applies it for you: validated first if you want, streamed with live progress, and reported row by row so you know exactly what changed and what needs a second look.

What it does

Upload, watch it run

The upload is read into fixed-size storage pages, then interactive mode processes it in small chunks so the progress bar and result table fill in real time.

CSV Order Status Changer: Upload, watch it run

Background mode for huge jobs

Hand very large or set-and-forget jobs to Action Scheduler and close the page. Stuck jobs are detected and offer a one-click resume.

CSV Order Status Changer: Background mode for huge jobs

Validate before you commit

A validate-only mode previews exactly what would change, per order, without changing anything.

CSV Order Status Changer: Validate before you commit

A result log that answers questions

Every row reports its previous status, new status, and outcome (changed, skipped, needs attention, errored). Search it, filter it, download it as CSV.

CSV Order Status Changer: A result log that answers questions

Forgiving CSV handling

Comma, semicolon, or tab delimiters auto-detected, Excel's UTF-8 BOM handled, optional header row, statuses with or without the wc- prefix, plus a sample template generated from your store's own statuses.

Real WooCommerce changes

Every update goes through WooCommerce CRUD, so order notes and status emails behave exactly like a manual change. A "don't send customer emails" option applies changes silently when you need that.

Full capability list

The headline features above are the highlights. Expand a section for the complete list of everything the plugin can do.

The upload6

A two-column CSV: order ID and target status, handled forgivingly.

  • No plugin-imposed row-count limit; normal hosting and upload limits still apply
  • Optional header row (any row without a numeric order ID is skipped)
  • Target status accepts a WooCommerce slug with or without the wc- prefix
  • Comma, semicolon, or tab delimiters, auto-detected
  • Excel / Windows UTF-8 BOM handled automatically
  • Download a sample CSV template generated from your store's own registered statuses
How it runs6

Pick the mode that fits the job; both show a live progress bar with a cancel button.

  • Interactive mode processes fixed-size chunks, so the progress bar and result table fill in real time
  • Background mode hands very large or set-and-forget jobs to Action Scheduler, so they finish even if you close the page
  • A stuck background job (e.g. when WP-Cron isn't firing) is detected and offers a one-click Resume
  • Cancel a run at any point from the progress bar
  • Validate-only mode previews exactly what would change, per order, without changing anything
  • Do-not-send-customer-emails option applies changes silently (order notes are still recorded)
The result log6

Every row is reported so you know exactly what happened.

  • Per row: previous status, new status, and an outcome
  • Outcomes: Changed (or Would change in validate-only), Skipped, Needs attention, or Errored
  • Search the log by order number, status, or result text
  • Filter the log by outcome
  • Open an order directly from its linked order number
  • Download the result log as a CSV, choosing the delimiter so it round-trips with your upload
Safe & compatible4

Changes behave exactly like a manual edit.

  • Every update goes through WooCommerce CRUD; order notes and status-change emails fire just as with a manual change
  • No direct-database mode (the legacy wp_posts write was removed as HPOS-incompatible)
  • HPOS (High-Performance Order Storage) and Cart & Checkout Blocks compatible
  • The admin screen and linked orders are available only to users who can manage WooCommerce orders

Pricing

Single site

1 site

$4.08 /month

Billed $49 annually

Plus

5 sites

$8.25 /month

Billed $99 annually

Agency

Unlimited sites

$12.42 /month

Billed $149 annually

Annual licences renew for continued updates and support; lifetime licences are a one-time payment. Every plan includes a 7-day money-back guarantee. Secure checkout, invoicing, and licence management by Freemius.

Frequently asked questions

Is there a limit on how many orders I can process?

The plugin does not impose a row-count limit. It streams uploads into fixed-size storage pages and processes them in chunks, but your host's upload, request, storage, and PHP limits still apply. Background mode uses Action Scheduler so work can continue after you close the page.

Will customers get emails when statuses change?

By default, exactly the emails a manual status change would send. Tick "do not send customer emails" to apply changes silently, and order notes are still recorded.

Does it work with HPOS (High-Performance Order Storage)?

Yes. All writes go through WooCommerce CRUD (there is no direct database mode), and the plugin declares HPOS compatibility.

What happens when my license expires?

The plugin keeps working. An active license is needed for updates and support, not for the features you already have.

Is there a refund policy?

Yes, a 7-day money-back guarantee. If the plugin has a bug or problem we can't resolve, email us within 7 days of purchase for a full refund.