WP Manifestindependent plugin directory
manifest / ecommerce / ez-order-clone

EZ Order Clone for WooCommerce

Simple Wordpress / WooCommerce plugin for cloning orders

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/ez-page-eu/ez-order-clone/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

EZ Order Clone is a lightweight and intuitive plugin designed to fill the gap left by WooCommerce’s lack of a native order duplication feature. By providing a simple, one-click solution, it empowers store administrators to effortlessly clone any existing order and set the new copy’s status to "Pending payment", making it easier to recreate orders without manual data entry.

Key Features

  • One-Click Cloning: Duplicate existing orders directly from the order management screen.
  • Consistent Data Handling: Carry over products, billing, and shipping details into the cloned order.
  • Time-Saving: Eliminate the need to re-enter order details from scratch.
  • Pending Payment Status: Automatically mark new orders as "Pending payment" for streamlined follow-up or further modifications.

Who Should Use This Plugin?

EZ Order Clone is ideal for:

  • Store owners and shop managers who frequently need to recreate or test orders.
  • Developers managing WooCommerce stores, especially when handling custom requests or streamlining internal workflows.

Version 1.1.0 compatibility

Supports WooCommerce 7.1 and newer, using WooCommerce CRUD APIs for both legacy order storage and High-Performance Order Storage (HPOS). HPOS compatibility is declared through the WooCommerce feature API. Redirects and row highlighting support both order administration screens.

Clones retain historical currency, prices, discounts, taxes, fees, shipping instances, addresses and payment method. Tax rates and coupon conditions are not recalculated. Deleted products/variations and expired/deleted coupons do not prevent cloning. New orders remain pending payment, with fresh order/item IDs and without the original payment, refund or stock-reduction state.

The order custom-field allowlist remains _billing_nip only. Item metadata (including variation attributes) is retained, excluding stock/refund bookkeeping keys. Other plugins' order-level metadata is not copied automatically.

Verified matrix (2026-10-21)

WooCommerce WordPress PHP Order storage tested
7.1.0 6.1.8 7.4.33 Legacy, HPOS, HPOS with synchronization
8.2.0 7.1.3 7.4.33 Legacy, HPOS, HPOS with synchronization
9.9.5 7.1.3 8.3.36 Legacy, HPOS, HPOS with synchronization
10.9.0 7.1.3 8.3.36 Legacy, HPOS, HPOS with synchronization
11.2.1 7.1.3 8.3.36 Legacy, HPOS, HPOS with synchronization

Integration tests use real WordPress/WooCommerce installations and MariaDB 11.4.5, with a fresh PHP process to read each saved clone. All 870 PHP assertions and 12 JavaScript validation cases passed. Handler tests also cover redirects, invalid IDs, permissions and nonce validation. Integration tests cover historical line data, changed tax rates, deleted products/variations, expired/missing coupons, NIP, metadata isolation, unchanged source orders, pending status and save-failure cleanup. On WooCommerce 8.2 and newer in this matrix, tests disable the woocommerce_hpos_enable_sync_on_read filter and inject stale legacy metadata to check that cloning reads HPOS data. WooCommerce 7.1 predates that filter and is tested with its available storage and synchronization mechanisms.

These are representative tested releases across the supported range; every intermediate patch release and third-party integration has not been tested. Test scripts, fixtures, runtimes and results are kept in the local .agents/ directory, which is excluded from Git.