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.
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 full returns workflow this fee sits inside, from return request to inspection to refund.
Two behaviours worth writing into your procedure:
If you use a returns app, it keeps its own fee setting, and that has to change in step with your policy page too.
Changing the fee inside Loop in step with your published policy.
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.
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.
The fee only becomes real when someone lowers the refund amount by hand. Get that number wrong and it is hard to undo.
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.
The refund steps, including writing the outcome back to the ticket so nothing gets lost.
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.
Name four things:
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.
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.
Four ways the fee drifts, each with a sign to look for:
No settings monitor catches this, because the gap sits between a document and a habit.
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.
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.
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.
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.
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.
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.
3 free SOPs to start. No credit card required. See if drift detection keeps your docs honest.
Start for freeI 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
A return policy is a promise. A returns SOP is the machine that keeps it the same way every time.
A refund starts in your helpdesk and ends in your store. The seam between them is where refund procedures quietly break.
A read receipt proves a click. Here is what proves the work, and why the difference costs you most in Q4.
We use essential cookies for sign-in and a small amount of analytics to improve the product. Privacy policy.