Skip to main content

How do I stop an order shipping while the customer can still edit it?

Use Tacey's Order holds setting to keep orders from being fulfilled until the customer's edit window closes, and learn when Tacey holds an order on its own.

Written by Joseph Odera

Turn on Hold fulfillment while the edit window is open. When a customer changes their delivery address, the order then waits in Shopify, on hold, until their time to make changes has run out, so it cannot ship before they have finished.

Where to find it

Editing Tools → Global settings → Order holds. It sits directly under the Edit window section.

How to turn it on

  1. Open Editing Tools and choose the Global settings tab.

  2. Make sure Let customers edit their own order is on in the Edit window section.

  3. In Order holds, switch on Hold fulfillment while the edit window is open.

  4. Click Save.

This setting is off by default.

If you switch it on while customer editing is off, the page tells you straight away: "This has no effect while "Let customers edit their own order" above is off, since there is no edit window to hold fulfillment for." There is nothing to hold for, so nothing is held.

What happens when it is on

When a customer saves a new delivery address, Tacey places a hold on the order's fulfillment in Shopify. The hold stays until the edit window closes, then Tacey releases it and the order can be fulfilled as normal. You see the hold in Shopify on the order page, the same way you would see any other fulfillment hold.

This protects you from a second change arriving after the warehouse has already picked the order for the first address.

Today this hold is placed after an address change. Other kinds of change (items, notes, discounts) do not place this hold; if one of them leaves a balance to pay, the automatic payment hold below applies instead.

The hold Tacey places on its own, whatever this setting says

There is a second, separate hold that has no switch: when a customer owes you money, the order is held until they pay.

For example, a customer adds a product or upgrades to faster shipping, and the order now has a balance due. Tacey holds fulfillment so you do not ship something that has not been paid for, and adds the tag tacey-payment-owed to the order so you can spot it in your order list.

That hold does not last forever. Each tool that can create a balance has its own waiting time (24 hours unless you change it on that tool's settings page). If the customer still has not paid when it runs out, Tacey releases the hold anyway, so an unpaid edit can never block an order indefinitely. The tacey-payment-owed tag stays on the order so you can follow up.

A change that costs nothing extra, like a corrected address in the same shipping zone, is not held. It can ship straight away.

Why most stores leave this off

The setting's own note says it: most merchants leave this off, since Tacey already holds fulfillment automatically whenever a customer owes an unpaid balance. Holding every edited order for the full window slows down orders that were already correct. Turn it on if your warehouse picks orders very quickly, or if you have had problems with a customer changing their order twice.

What this does NOT do

  • It does not stop a third-party warehouse that reads orders directly. A fulfillment hold blocks Shopify's own fulfillment requests. Some warehouse and 3PL systems pull orders on their own schedule and may not respect a hold. Check with your provider.

  • It does not change how long the edit window is. That is set in the Edit window section.

  • It does not hold orders nobody edited. An order the customer never changes is not held by this setting.

Frequently asked

Can I release a hold early?

Yes. Release it in Shopify the same way you release any other fulfillment hold. If a customer still owes a balance, check the order first so you do not ship something unpaid.

Why is my order on hold if I never turned this on?

Almost always because the customer owes a balance from a change they made. See the related article.

Related

Did this answer your question?