How to change a Shopify order after checkout, including local delivery and pickup orders

In my last post about selling by weight, I ran into a wall: Shopify won't let you edit an order that goes out by local delivery.

That wall isn't only a catch weight problem.

A customer orders salmon, lemons and a bunch of dill for Thursday delivery. Wednesday night, the salmon doesn't come in. Or the customer messages: “Can you add a bottle of olive oil?”

Simple request. You open the order, look for Edit, and it isn't there.

So how do you change a Shopify order after checkout, when Shopify won't let you edit it?

Let's go through the real options, and what each one breaks.

Shopify's edit button, and its fine print

For most orders, Shopify has a proper Edit order screen. Add items, remove them, change quantities. If the total goes up, it sends the customer an invoice. If it goes down, you refund.

If you ship by courier, stop reading. That's your answer.

But Shopify's own considerations for editing orders are clear: orders with local delivery can't be edited. Not in the admin, and not through the API either, so most apps can't do it for you.

Merchants have been asking about it since 2020. Grocers, butchers, bakeries, florists. Exactly the stores where orders change the most.

So here's what people actually do.

Option 1: refund the item off the order

Taking something off is the easy direction. Open the order, click Refund, pick the item, and refund it.

This works on local delivery orders. The item is marked as removed, the money goes back, and the delivery stays a delivery.

Two things to watch:

  • Restocking.Choose whether the item goes back into inventory. If it never came in, it shouldn't.
  • It only goes one way.A refund can take an item off. It can't put a new one on.

So “the salmon didn't come in” is solved. “Swap it for trout” isn't.

Option 2: cancel and place it again

The brute force fix. Cancel the order, refund it, and create a new one with the right items.

It works. It's also the messiest option:

  • The customer gets a cancellation email and a new confirmation. Cue the “did my order go through?” message.
  • They pay again, or you take payment over the phone.
  • The order number changes, and your sales reports show an order that never happened.

Fine once a month. Painful once a day.

Option 3: switch it to shipping, then edit

Some apps (and some stores by hand) quietly change the delivery method to a regular shipping rate, because shipping orders can be edited.

It unlocks the edit button. And breaks the reason you used local delivery in the first place.

The order drops out of your local delivery list. Routes, delivery apps and packing filters that look for local delivery won't see it. Someone has to remember that this “shipping” order is actually going in the van.

If an app promises to edit local delivery orders, ask what it does to the delivery method. That's usually the trick.

Option 4: a second order for the extras

Leave the original alone. Create a draft order for the olive oil, send the customer an invoice, and deliver both together.

Closest to the right idea. But here's the thing.

When you pick local delivery on the draft, Shopify charges the delivery fee again. And you can't just set it to $0: if you replace it with a free custom line, the draft becomes a shippingorder, and you're back at option 3.

The workaround that keeps it local delivery is a discount code for free delivery on that draft. It works. It's also one more code to make, and to remember to delete.

And now the packer has two orders for one customer, with nothing on the packing slip saying they belong together. Add a note to both.

Option 5: an order editing app

There are plenty of order editing apps on the Shopify App Store, including ones that let customers edit their own orders. For shipping orders, they're good.

For local delivery and pickup, check three things first:

  • Does it keep local delivery? Or does it switch the order to shipping (option 3) or cancel and recreate it (option 2) behind the scenes?
  • What happens when the customer owes more? Payment link? Collect at the door? Can you waive a dollar without a fight?
  • Does the packer see the change? On the packing slip, not just in the admin.

Where the simple options still win

To be fair, you don't always need any of this:

  • You ship by courier? Shopify's Edit order. Done.
  • Changes are always removals? Refund the item (option 1). No app needed.
  • A change once a month? Cancel and recreate it, and apologise for the extra email.

A better tool only earns its place when you deliver locally, offer pickup, and orders change every week.

What I'd set up first

Whatever route you pick, these save phone calls later:

  • Ask about substitutions before they pay.One choice on the cart page: substitute something similar, refund it, or call me first. Then you're not guessing on Wednesday night.
  • Decide your swap rule now. Cheaper substitute? Refund the difference. Pricier one? Charge it, or eat small differences. Pick one and write it down.
  • Never charge delivery twice. If extras go on a second order, make sure it rides along with the first for free.
  • Put changes where the packer looks.The default packing slip prints the order note. Tags don't print.
  • Test it with a real order. Place a local delivery order yourself, take an item off, add one, and check what the customer receives and what your delivery list shows.

Here's my honest answer

If you ship, use Shopify's Edit order and move on.

If you deliver locally and only ever remove items, refund them off the order.

If you deliver locally andswap or add items, you need something that changes the order without editing it, keeps the delivery as it is, and settles the money both ways. That's the case Shopify doesn't cover.

The order they placed vs the order you packed.

An out-of-stock item shouldn't cost you a cancelled order.


We built Swapwisefor that last case. On the order page you take items off, swap them, or add new ones, and see the refund or the amount owed before anything happens. Extras go on a linked add-on order with the same delivery or pickup and no second fee. It's coming to the Shopify App Store.

How do you handle order changes on local delivery today? I'd love to hear what's working, and what's quietly breaking. Drop us a line.