1. Home
  2. Shopify returns management: the complete guide for 2026
  3. How to handle Shopify returns without an app, and when you need one
Shopify returns management: the complete guide for 2026

How to handle Shopify returns without an app, and when you need one

A manual returns process for a Shopify store that works: the request, the admin return flow, labels, restocking and refunds. And the signs you outgrow it.

Plenty of Shopify stores handle returns with nothing but the admin, an email address and a carrier account, and for many that is the right call. An app is a monthly cost and a setup afternoon, and below a certain volume it buys you nothing.

What does cost you, at any volume, is handling returns without a process. Below is the manual process written down, which parts Shopify already does for you, and the signals that mean you have outgrown it.

The manual process, step by step

Seven steps. Most stores are doing five of them and improvising the other two differently every time.

Request. You need four facts: order number, the email on the order, which items, and why. Getting all four in the first message is the biggest time saver in manual returns, and it is entirely a matter of what you ask for.

Approve. Check the order date against your window, check the items are not final sale, decide. Most requests are unremarkable, so this takes seconds once you have the four facts.

Label. Produce a return label or a QR code and send it in the same reply as the approval, not a follow-up. The gap between approval and label is where returns go quiet.

Receive. Match the parcel to the order. Easy if you asked the customer to include the packing slip or write the order number on the box, slow if you did not.

Inspect. Check condition against your policy before anything else. This is the step people skip when busy, and the one that catches wear, missing parts and the wrong item entirely.

Restock. Return the item to inventory at the right location, but only after inspection. Restocking on approval puts unsellable stock back on your product pages.

Settle. Refund, exchange or credit, and tell the customer which, with a timeframe. Say “your bank may take a few days”, because otherwise that is the next email.

Using Shopify’s built-in return flow

Shopify does more of this natively than most merchants realise. Use that before paying for anything.

From the order page you can start a return, select line items and quantities, record a reason, apply a restocking fee, and add exchange items. The return then sits on the order with its own status, so the order is the record rather than your inbox.

In settings, return rules decide eligibility before anyone asks. You set a window using a preset of 14, 30 or 90 days, unlimited, or a custom number, and choose whether the clock starts at delivery of each item or of the last item. You also set who pays return shipping, a restocking fee as a percentage, and which products or collections are final sale. An hour on these rules removes a category of email permanently.

On Shopify’s newer customer accounts you can turn on self-serve returns, which lets a signed-in customer request a return on delivered items from their order page. Two limits. Exchanges cannot be requested that way, so anyone who wants a different size still emails you. And the request does not process itself: you review, approve and label it in the admin.

When the parcel arrives you process the return: restock to a location, fulfil any exchange items, and refund. Refunds can go to the original payment method, to store credit, or split between both, with an optional expiry on the credit.

A request form that saves you a reply

Almost every manual returns process loses a day per return to the same thing: the first email does not contain enough to act on, so you reply asking, and the customer answers the next morning.

Fix that with a form rather than an email address. Shopify themes ship with a contact page you can duplicate and add fields to. Ask for exactly six things:

  • Order number
  • Email address on the order
  • Which items, with quantities
  • Reason, as a dropdown rather than a text box
  • What they would like instead: exchange, store credit, or refund
  • Photos, if the reason is damage or a wrong item

The reason dropdown matters twice. It removes ambiguity now, and after a few months of consistent options it tells you which products generate returns and why. That is data you would otherwise pay an app to collect.

The outcome question is the one nearly every manual setup omits, and it is free revenue. If the form asks about an exchange before it mentions a refund, a share of people who would have taken their money back take a replacement instead, purely because someone offered. A contact form cannot show live stock, so make the exchange conditional in your reply.

Link the form from the policy page, the order confirmation email and the footer, then stop publishing the returns email address, so the form is the path of least resistance.

Labels without an app

If your primary location and your customer are both in the United States, Shopify Shipping generates the return label from the order and this step costs a click.

Everywhere else the admin will not generate it, but it will hold the shipping information. Upload a label file you produced elsewhere as a PDF, PNG or JPEG, or paste a URL with the tracking number and carrier. Do one of those rather than creating the return with no shipping information, because a return with no tracking is a parcel you cannot answer questions about.

The label itself comes from your carrier’s portal. PostNord, DHL, Bring and GLS all sell return products, and several offer a QR code the customer shows at a service point instead of printing anything, which removes the “I have no printer” ticket. Time the portal round trip on your next ten returns, because that number eventually decides the app question. More, including why Shopify Shipping return labels cannot be voided, is in Shopify return labels.

Settling: refund, exchange or gift card

Manual settlement defaults to a refund, because a refund is the fastest thing a person under a queue can do. It is also the worst of the three outcomes for you, so know how to do the other two by hand.

Refund. Process the return, restock, refund to the original payment method. Tell the customer the amount and that their bank adds its own delay.

Exchange. Add the exchange item to the return in the admin, fulfil it, and handle any price difference with a payment link or a partial refund. The friction is the stock check, so do it before you promise anything.

Store credit. Two manual routes. Shopify’s refund flow can send the refund to store credit directly, with an optional expiry. Or issue a gift card from Products and then Gift cards, email the code, and note it on the order. The gift card route lets you add a bonus: refund value 800, gift card issued for 880, a future order bought for 10 percent of margin.

That takes about a minute, and it is the highest-value minute in the process. The reason most stores never do it is that nobody offers, because the offer has to reach the customer while they are still deciding.

Signs you have outgrown manual returns

Not a volume threshold. Five specific symptoms, and one is usually enough.

Returns show up on your calendar. When you set aside time for returns rather than fitting them between other things, the process is a job.

You quote your own policy from memory and get it wrong. Inconsistent decisions between customers is where a policy stops protecting you.

Refunds outnumber exchanges and credit by a wide margin. That is not customer preference, it is the absence of an offer, and it is the least visible item on this list.

Customers ask where their refund is. Each one is a missing status update, and status updates are what nobody has time to send by hand.

Returns spike seasonally and the process falls over. A manual process sized for a normal month does not survive January.

What an app adds

Three things, in order of how much they are worth.

A choice presented at the right moment. The customer sees exchange and store credit, with a bonus if you run one, before the refund button, in a flow that checks stock and issues credit on the spot. You cannot replicate that in a contact form, and it is where the money is.

Removed steps. The label is generated on approval and sent immediately, the tracking lands on the order, the status updates without anyone typing, and routine returns approve themselves against your rules while exceptions queue for a human.

Numbers. Return rate by product and by reason, how many refunds became exchanges or credit, and what that was worth. Manual processes can produce this from a spreadsheet, but almost none do.

If none of those three is a problem you have, stay manual and revisit in a quarter. The comparison of built-in tooling against what an app adds is in the complete guide to Shopify returns management.

Returo is our app, so treat this as the interested party talking. It gives your store a returns portal customers open with an order number and the email on the order, no account and no password, leads with an exchange or a gift card carrying a bonus percentage you set, keeps the cash refund underneath, and generates the return label on approval through Shopify Shipping or PostNord. It is in early access, and you can request access to try it.

Frequently asked questions

How do customers request a return if I have no app?

A contact form or a plain email address on the policy page. Ask for order number, email, items and reason so you can act in one reply. If you use Shopify's newer customer accounts, you can also turn on self-serve returns, which lets signed-in customers file the request from their order page.

How many returns a month before an app pays off?

There is no fixed number, but once returns take more than a couple of hours a week, or you notice refunds you could have turned into exchanges, the math usually favours an app.

Be first in line.

Returo is opening up to its first early-access stores. Tell us where to reach you, or book a slot straight in the calendar.