How to Edit a Processing Order in WooCommerce
You open a paid order to swap a product or fix a quantity, and the items box says “This order is no longer editable.” This guide explains exactly what WooCommerce locks, the one-filter snippet that unlocks it, what that snippet does not do, and when you need something else.
What WooCommerce actually locks
WooCommerce decides whether an order’s items can be edited with WC_Order::is_editable(). It returns true only for three statuses: Pending payment, On hold and the internal auto-draft. Once a payment goes through and the order moves to Processing, the admin order screen locks:
- adding, removing or changing line items and quantities
- fees, shipping lines and coupons
- the “Recalculate” button
Hovering over the message shows WooCommerce’s own hint: change the status back to “Pending payment” to edit.
Option 1: the status dance (no code)
- Change the order status to On hold (or Pending payment) and click Update.
- Edit the items, then click Recalculate.
- Collect or refund any price difference (see below).
- Set the status back to Processing and click Update.
It works, but status changes have side effects. Moving the order from On hold back to Processing sends the customer the “Processing order” email again (if you used Pending payment instead, it also re-sends that email), and any integration that watches status changes will see two extra transitions. Be careful on stores with automation.
Option 2: the wc_order_is_editable snippet
The lock is filterable. Adding this to a child theme’s functions.php or a code-snippets plugin makes Processing orders editable in the admin, with no status changes:
add_filter( 'wc_order_is_editable', function ( $editable, $order ) {
if ( $order->has_status( 'processing' ) ) {
return true;
}
return $editable;
}, 10, 2 );
After that, the items box on a Processing order shows the usual “Add item(s)” and “Recalculate” buttons.
What the snippet does not do
| You might expect | What actually happens |
|---|---|
| The customer is charged the difference | No money moves. Recalculate only updates the totals on the order. |
| The customer is refunded if the total drops | No. Use the Refund button on the order (manual or via gateway). |
| Customers can edit their own orders | No. The filter only affects the admin screen. |
| Fulfillment waits while you edit | No. The order stays Processing, so anything that acts on Processing may already have picked it up. |
That last row is the one that bites. Once an order is Processing, a packing tool or shipping integration may have already printed the label. Editing it afterwards changes your records but not the parcel.
When customers are the ones who need to edit
Most edits start with the customer, often seconds after checkout: a wrong flat number, an old autofilled address, a forgotten order note. For those, an admin-side snippet means an email, a reply and a manual edit, all racing your own fulfillment.
The alternative is to give customers a short, controlled window to fix it themselves. OrderMender (free) pauses a new order in a “Hold for Editing” status for a time you choose (5 minutes to 12 hours). The customer can correct their shipping address, billing address or order note from the thank-you page, My Account or a secure guest link. Then the order returns to Processing on its own. Because the order is not Processing while the window is open, fulfillment tools leave it alone until it is released.
It deliberately does not let customers change items or quantities, because that moves money. For item changes, use the admin options above.
Frequently asked questions
Why does WooCommerce say “This order is no longer editable”?
WooCommerce only allows line items, fees, shipping lines and coupons to be edited while an order is Pending payment, On hold or a draft. Once it moves to Processing, the items box locks and shows that message. It is controlled by the wc_order_is_editable filter.
Can I change the address on a Processing order without a snippet?
Yes. The billing and shipping address fields in the admin order screen are not locked by status. Click the pencil icon next to the address, edit it, and click Update. The lock only applies to items, fees, shipping lines and coupons.
Does making a Processing order editable charge or refund the difference?
No. Recalculating changes the order totals but does not move money. If the new total is higher you have to collect the difference yourself, and if it is lower you have to issue a refund.
Can customers edit their own Processing orders?
Not with the snippet, which only affects the admin screen. Customer self-service needs a plugin. OrderMender, for example, lets customers correct their address and order note in a short window after checkout.
Related: How to let customers edit orders in WooCommerce · Let customers change their shipping address after checkout.