Blog/Operations
OperationsOctober 11, 2026·9 min read

Restocking fee policy explained for Shopify brands

Shopify shows your restocking fee to customers, then leaves it to a person to actually subtract it. Here is how to set it, word it and keep the number the same in all three places it lives.

AY
Anand Yadav · Founder, ReccordSOP
·Last reviewed October 11, 2026

The short answer

A restocking fee is a percentage of a return that a store keeps back. In Shopify it is one of the default return rules, alongside the return window and return shipping costs.

The detail that catches stores out: Shopify shows the fee but does not take it off the refund. Shopify's documentation says return fees aren't automatically deducted from refunds, and that you need to deduct any applicable return fees manually when you create the refund.

So the fee lives in three places that nothing keeps in sync: the policy page your customer reads, the rule set in your Shopify admin or returns app, and the number your agent types at refund time. The real question is not 10% or 15%. It is whether all three still say the same thing next quarter.

The returns SOP for DTC brands: a step-by-step RMA process

The full returns workflow this fee sits inside, from return request to inspection to refund.

Setting the fee in Shopify

  1. In your Shopify admin, go to Settings > Policies.
  2. In the Return and cancellation rules section, click the rule you want to edit.
  3. Select Charge restocking fee and enter a percentage.
  4. Click Save, then click Turn on.
  5. Update your written return and refund policy so it shows the same percentage. That is a separate field, and nothing links the two.

Two behaviours worth writing into your procedure:

  • The fee still applies when you process a return manually from the admin, even if self-serve returns are switched off.
  • The fee isn't shown when you refund an unfulfilled order. An order that never shipped is a cancellation, not a return.

If you use a returns app, it keeps its own fee setting, and that has to change in step with your policy page too.

Loop Returns return policy configuration SOP

Changing the fee inside Loop in step with your published policy.

Changing it on one return

Shopify lets you edit the restocking fee for a specific return, including on individual items, and you can edit the return shipping fee for a specific return too.

That flexibility is useful and it is also the quietest way your policy stops being true. An agent who waives or cuts the fee on one item, under pressure from an unhappy customer, leaves no note anywhere saying why. Do it often enough and your published percentage no longer describes what customers are actually charged.

So decide in advance when a waiver is allowed and who can approve one. Then an exception is a recorded decision, not a habit.

Refund policy enforcement SOP

Which refund exceptions are allowed, and who has to approve them.

Try it on one of your own procedures.

Record a process once, AI writes the structured SOP. 3 free SOPs, no credit card.

Start for free →

Where it goes wrong at refund time

The fee only becomes real when someone lowers the refund amount by hand. Get that number wrong and it is hard to undo.

  • A refund made from the Shopify admin can't be cancelled or reversed.
  • You can't create a return after a refund has already been issued.
  • A return can only be created for items that have been fulfilled.

Partial refunds carry an extra risk. Shopify notes that a customer who received a partial refund can still dispute the full order with their bank, and you are debited the full amount. To win it back you submit evidence, including the refund amount and date and the Acquirer Reference Number (ARN) for the refund. Keep those details when you issue a refund with a fee deducted.

Refund processing SOP: the Gorgias to Shopify handoff

The refund steps, including writing the outcome back to the ticket so nothing gets lost.

Telling customers before they buy

The rule of thumb is to show the fee before someone buys, not after. Ohio's Attorney General, for example, says Ohio law does not prohibit restocking fees, but sellers should clearly and conspicuously disclose them before the consumer makes a purchase.

That is one state's guidance, and rules differ between states and countries, so check the ones that apply to where you sell. The practical test is the same everywhere: a customer should be able to find the percentage before checkout, not discover it in a refund email.

Wording the policy page

Name four things:

  1. The percentage.
  2. Which products it applies to.
  3. What triggers it, for example opened or used items.
  4. What you won't take back at all.

Be specific. Write each fee as its own line with its own amount and trigger, rather than "fees may apply". A customer should be able to read your page and work out, to the dollar, what they would get back for a particular item.

The trigger also has to match what your warehouse actually treats as resellable. If the policy says opened items carry a fee but the warehouse restocks them as new, the fee will keep getting waived.

ShipBob returns receiving SOP

How returned items are inspected and graded, which is what your fee trigger has to match.

Then mirror your non-returnable items in Shopify's final sale settings, so the store and the policy page describe the same products. Two limits apply there: you can add several products or several collections as final sale, but not a mix of both, and bundles can't be set as final sale.

Where the numbers stop matching

Four ways the fee drifts, each with a sign to look for:

  • The policy page was edited but the Shopify rule wasn't. Customers see a different fee when they request a return than the one they read before buying.
  • The rule was changed but the policy page wasn't. Now the number you can defend in writing is the wrong one.
  • Agents cut the fee on individual returns, with nothing recording who approved it.
  • A market-specific return rule makes your single published number wrong for one region. Shopify lets you set different return rules for different markets.

No settings monitor catches this, because the gap sits between a document and a habit.

How to prove your team read the SOP

Why a read receipt proves a click, not that the refund steps were followed.

Run a three-way check this week. Note the percentage on your published policy page. Open Settings > Policies and read the fee in your return rule. Then look at your last five refunded returns and compare what was actually refunded against both numbers. Any mismatch is a decision someone made without a record.

This is where ReccordSOP helps. Your policy page and Shopify settings can be re-read any time; the refund habit can't. Record the refund procedure once and it becomes a step-by-step SOP with a screenshot of each step. Record it again months later and the changed steps are shown instead of silently replaced, and version history is kept. It also emails the owner when a published SOP has gone 90 days without a review. What it won't do is watch your Shopify settings or change them.

Frequently asked questions

What is a restocking fee policy?

It is the percentage of a return a store keeps back, plus the products and conditions it applies to. In Shopify, a restocking fee is one of the default return rules, alongside the return window and return shipping costs, and it is set as a percentage of the return.

Does Shopify deduct the restocking fee from the refund automatically?

No. Shopify shows the fee to customers and when you create a return, but return fees aren't automatically deducted from refunds. Whoever creates the refund has to lower the amount by hand, so the number they type is what the customer actually gets back.

Do you have to tell customers about a restocking fee before they buy?

You should. Ohio's Attorney General, for example, says restocking fees are allowed but should be clearly and conspicuously disclosed before the purchase. Rules differ by state and country, so check the ones that apply to you, and make sure the fee is on your policy page before checkout.

Can you charge a restocking fee on an order that never shipped?

Not through Shopify's return rules. A return can only be created for fulfilled items, and Shopify doesn't show the restocking fee when you refund an unfulfilled order. An order that never shipped is handled as a cancellation, which has its own window options: no cancellations, until the item is fulfilled, 15 minutes, 1 hour or 24 hours.

Can you waive a restocking fee for one customer?

Yes. Shopify lets you edit the restocking fee for a specific return, including on individual items. Decide in advance when a waiver is allowed and who approves it, so each exception is recorded rather than left to an agent's judgement in the moment.

Ready to record your first SOP?

3 free SOPs to start. No credit card required. See if drift detection keeps your docs honest.

Start for free
AY
Anand YadavFounder, ReccordSOP

I built ReccordSOP after watching too many DTC ops teams lose months to undocumented workflows. These SOPs are battle-tested with Shopify operators running $1M to $50M brands.

Last reviewed October 11, 2026

Related reading