Home
E-commerce

Returns on Shopify: the process, and what it never records

VerifiedVerified & Reviewed
A return on Shopify is an object created against an order in the admin: you select fulfilled items, set a reason, choose whether a label is issued, then process the return and pay the refund. A return and a refund are different things, and only one of them leaves you a record. So the returns tab shows only the breaks that arrived as a request, not every break the order had.

What a return actually is inside Shopify

Inside Shopify a return is a record attached to an order: it names the fulfilled items coming back, the reason they're coming back, and the money that moves when they arrive. A return is the last step of a promise that already broke, and the returns tab only shows the breaks polite enough to arrive as a request. A parcel lands one item short, the customer emails, someone hits Refund because it's faster and kinder, and that order is now permanently outside the returns system: no reason code, no restock, no line in the return report.

A return and a refund are two different objects, and the order you do them in decides what you can see later. A return tracks items coming back and can carry a refund inside it. A refund is only money moving, and Shopify will issue one with no return attached.

Set the rules before the first request

Everything a customer sees when they ask for a return comes from settings you made before any return existed.

  • Return window: 14, 30 or 90 days, unlimited, or a custom count, running either from each item's own delivery or from delivery of the last item in the order.
  • Return shipping: free, one flat fee charged once per return, or the customer buys their own label.
  • Restocking fee: a percentage shown to the customer when they request the return, editable per item.
  • Final sale: products or collections made ineligible outright, though bundles can't be marked final sale.
  • The policy itself: a return policy written or generated in the admin, shown in the checkout footer and linked from the order review page.

Two of those catch people out. Rule changes apply to future orders only, so tightening your window today does nothing about the orders already out there. And Shopify requires a minimum 14-day window for EU customers, counted from delivery of the last item: product behavior you inherit rather than a setting you pick.

The process, request to refund

A return starts one of two ways: you create it from the order in the admin, Shopify's version of issuing a return authorization, or the customer raises it from their order status page under self-serve returns and you approve or decline.

  1. The request arrives, from the order status page or from your team.
  2. You select items and quantities and set a return reason. Only fulfilled items that haven't been refunded can go on a return.
  3. You confirm the fees. Both are shown to the customer and both can be edited on this return.
  4. You choose the shipping: create a label in Shopify, upload one you hold, or send none. Shopify-created labels need your primary location and the customer's address both in the United States.
  5. The parcel comes back and you process the return, choosing a restocking location for each item.
  6. You release any exchange items. Their inventory isn't reserved until this moment.
  7. You refund, in full or in part, to the original payment method or to store credit, and you deduct the restocking fee yourself, because nothing deducts it for you.

Steps three and seven are where the money is, and they're the two nobody automates. A return request can start a workflow without a third-party app, but the fee still comes off by hand.

The steps you cannot take back

Five of these steps can't be undone, and the admin doesn't warn you first. These are the doors that open one way only.

  • The refund: once you initiate it from the admin, it can't be canceled or reversed.
  • The return, after a refund: you can refund without a return, but you can't create a return against an order you have already refunded.
  • A canceled return: can't be reopened.
  • Items already refunded or restocked: can't be removed from a return.
  • Approve and decline: both are permanent on a requested return.

Which is why the fast and kind response is the expensive one. Refunding on the spot closes the door on the return, on the restock, on the reason code and on the report. It feels like good service. It costs you the item and the data every time, and at volume that's a margin leak with a documented cause.

The returns Shopify never records

Go back to the parcel that landed one item short. It never became a return, so it carries no reason code, the item was never restocked, and it's in no report. A few hundred of those a year and your returns data describes a business you're not running.

The boundary sits in Shopify's own documentation: a return can only exist against a fulfilled, unrefunded item. So the parcel that never arrived, the item damaged in transit, the address that failed at the depot and the order canceled before it shipped can't become returns at all. They leave as a refund, a reship or an email. The returns tab is a filtered view of your own failures, and the filter is whether the customer was patient enough to file a request.

Size what that leaves out. E-commerce was 16.9% of US retail sales in the first quarter of 2026, on $326.7 billion in the quarter, and 19.3% of online sales were returned in 2025. That's the visible half. One in five orders hits an operational break after checkout, and most never reach the returns tab.

The return is itself an order, so it breaks too: a parcel that stops scanning on the way back, a refund sitting behind an inspection nobody logged, an exchange held because inventory isn't reserved until processing. Shopify records each state. Nothing watches whether it's still moving.

Every one of them reaches you as a message asking where the order is, which is why they get filed as support. A helpdesk answers the customer. It doesn't restock the item, reship the parcel or move the refund, so the order stays broken while the reply gets faster.

What your return policy owes the law

A return policy is a conversion asset. In parts of the US it's also a document with duties attached.

California Civil Code 1723 says a retail seller that doesn't give full cash or credit refunds has to display that policy conspicuously. Where it's not posted, the buyer may return goods within 30 days and recover the purchase price. That's California specifically, not a national rule.

Under 16 CFR 435.2, a US seller that can't ship within the time it stated, or within 30 days of a properly completed order, has to offer the buyer the option to consent to a delay or to cancel and receive a prompt refund. That duty attaches to the orders above that never shipped on time, which never become returns either. Shopify's own caveat on its templates is the line to close on: you're responsible for following the policy you published.

Fix the order, not just the return

Everything above is the returns process working correctly. The work that keeps orders out of it sits upstream, and its shape is detect, decide, act.

  • Detect: watch the order against the promise it made, so a parcel that stops moving or a box that shipped short is a signal before anyone reaches for the refund button.
  • Decide: rules for what the situation warrants. Reship, refund, replace, or tell the customer before they notice.
  • Act: do it, then tell the customer it's done.

Said plainly: Keeyu doesn't process returns. We're not a returns app, not a returns portal, not a helpdesk, not a carrier and not an order management system, and every rule, label and refund above stays in your Shopify admin. We work in post-purchase operations, on the fulfillment and delivery breaks that create the return in the first place. An app can automate the request, the label and the notifications, and everything irreversible above stays true underneath it.

Every order is a promise, and the ones that break quietly are the ones your returns report will never show you. Keeyu is proactive e-commerce operations: we detect the break in an order, decide what it warrants and act on it, usually before the customer knows anything went wrong, so fewer of your orders leave through the refund button with no reason code, no restock and no record. Book a Keeyu demo and bring the orders you refunded last week.

Frequently Asked Questions

How do returns work on Shopify?

A return is created against a fulfilled order, either by you in the admin or by the customer from their order status page. You select the items and a return reason, confirm the return shipping and restocking fees, issue a label or not, then process the return, restock the items and refund. Shopify documents the whole flow.

Does Shopify handle returns without an app?

Yes, natively. Shopify handles returns, exchanges and refunds in the admin, and return rules set the window, the fees and which products are final sale. Two specifics worth knowing: exchange inventory isn't reserved until you process the return, and the restocking fee has to be deducted by hand.

Can customers request returns themselves on Shopify?

Yes. With self-serve returns turned on, a customer requests a return for delivered items from their order status page. You're notified, you review the request in the admin against your own rules, and you approve or decline it. On approval you can add exchange items, give shipping instructions and send a return label.

How do I send a return shipping label on Shopify?

When you create or approve the return you pick one of three options: create a label in Shopify, upload a label you already hold, or send no label at all. One condition catches people out. Labels created in Shopify require your primary location and the customer's shipping address to both be in the United States.

Does Shopify deduct a restocking fee from the refund automatically?

No. You set the restocking fee as a percentage in your return rules and Shopify shows it to the customer when they request the return, but the amount has to be deducted manually when you issue the refund. At volume that's a straight margin leak, and it's the single most missed step in the process.

Should a Shopify refund go to the original payment method or store credit?

Shopify supports both, and you choose per refund whether the money goes back to the original payment method or to store credit, in full or in part. The original method is what a published return policy normally promises, so it's the safe default on a break that was yours. Store credit suits goodwill: a return outside your stated window, or an item you decide to take back anyway. It stops being goodwill the moment it's the only route on a return your policy says gets cash back.

How quickly do I have to refund a Shopify return?

Shopify sets no deadline. Your published policy does, and so does the law in some cases: under 16 CFR 435.2 a US seller that can't ship in time must offer the buyer the option to cancel and receive a prompt refund. Shopify's own note on generated policy templates is that you're responsible for following what you published.

What is a good return rate on Shopify?

The benchmark most operators use is the NRF estimate that 19.3% of online sales were returned in 2025, so anything materially under that is healthy for most categories. One caveat on your own number: it only counts orders that entered the returns process, and every break refunded on the spot is missing from it.

References

No items found.

Ready to Stop Reacting?

The fastest way to see how Keeyu prevents complaints is to see it in action.

In one call, we’ll map your current operations, show how our AI Agent fits in, and walk through real examples of issues fixed before customers notice.

Most teams go live within 48 hours. We never share your data.