Multi-store6 min read
Approval Workflows for Changes to Live Shopify Stores
Refunds, stock edits and discounts change a live store instantly. How to set roles, approvals and an audit trail so your team moves fast without costly mistakes.
In this guide
In a Shopify store, most changes go live the moment someone presses save. That speed is great for a solo merchant. For a team, it means one mistyped discount, one refund to the wrong order or one stock count set to zero reaches customers straight away, and nobody else saw it coming.
An approval workflow puts a second pair of eyes on the changes that cost money, without slowing down everything else. This guide covers which changes need one, the building blocks, how to write a request an approver can actually check, and how to roll it out before the busy season.
Start with what Shopify’s permissions already do
Shopify lets you assign permissions to staff through roles, and they are more granular than many teams use. For orders alone, there are separate permissions for Edit orders, Refund to original payment method, Refund to store credit, Record payments and Capture payments; inventory and discounts have permissions of their own (store permissions).
Use them. Someone who answers customer emails rarely needs refund rights, and a contractor editing product pages does not need to capture payments. Permissions answer the question who can make this change. An approval workflow answers a different one: should this particular change go live. You need both.
Which changes deserve a second look
Not every edit needs approval. Sort changes by what a mistake would cost:
| Change | Cost of a mistake | Suggested control |
|---|---|---|
| Refunds, cancellations, payment captures | Money leaves or is lost, often irreversibly | Admin only |
| Inventory levels | Overselling, or products hidden as sold out | Approval required |
| Discounts | Margin lost on every order until noticed | Approval required |
| Product tags | Collections or filters shift | Automatic |
| Customer notes, blog posts | Low and easy to fix | Automatic |
The rule of thumb: the harder a change is to undo, and the more money it moves, the more control it needs.
The building blocks
1. Roles
Start with a small set of roles and give each person the lowest one that lets them do their job:
- Admin: manages people, settings and the audit log.
- Manager: approves changes and sees every screen.
- Staff: does the daily work on the screens and stores they have been given.
Limit staff by screen (someone handling support may not need inventory) and by store (a contractor working on one brand should not see the others).
2. Approval levels per type of change
For each risky change, decide whether it applies automatically, waits for approval, or can only be done by an owner. Allow the level to differ per store: a test store can be relaxed while the main store stays strict.
3. A before-and-after view
An approver should see exactly what will change, how many objects it touches, and whether it can be undone. “Approve change #482” with no detail turns approvals into rubber-stamping.
4. An audit log
Record sign-ins, failed sign-ins, role changes and other sensitive actions, newest first. When something goes wrong, the first question is always “who changed this, and when?”
5. Two-factor sign-in for everyone
Roles and approvals mean little if a password is phished. Make two-factor sign-in a team rule, not a personal choice.
Writing an approval request that can be checked
Most approvals fail not because the approver is careless but because the request gives them nothing to check. A good request says:
| Field | Example |
|---|---|
| Store | EU store |
| What | Discount code WINTER15, 15% off outerwear |
| Before / after | No code → active from Nov 20 to Nov 30 |
| How many objects | 1 discount, 42 products in the collection |
| Why | Planned campaign, approved in Monday’s meeting |
| Can it be undone | Yes, deactivate the code; orders already placed keep the discount |
If a request cannot fill that table, send it back.
Separation of duties
The person who asks for a change should not be the one who approves it. For a two-person team this is easy. For a solo owner with one assistant, it means the assistant prepares and the owner approves, never the other way round for refunds.
Name a primary and a backup approver for each store, so requests do not wait while someone is on leave. If approvals regularly take longer than a working day, people will look for ways around them.
Emergencies
Sometimes a change cannot wait: a discount is giving away too much, or stock is wrong on a product that is selling fast. Decide in advance:
- Who may act without approval in an emergency, and on which changes.
- That an emergency change is reviewed the next working day.
- That switching something off (a discount, a product) is usually safer than changing a number under pressure.
Common mistakes
- Approving everything. If tags and blog posts need approval, approvers start clicking yes without reading, and then they click yes on the refund too.
- One shared login. An audit log cannot tell you who did it if everyone signs in as the same person.
- Never revisiting roles. People change jobs; seasonal staff leave. See our guide to seasonal staff access across multiple Shopify stores.
- Approvals in chat. A thumbs-up in a group chat is not attached to the change it approves. Keep sign-off next to the change itself.
- Same rules for every store. A test store and your main store do not carry the same risk.
Rolling it out without slowing the team
- Start strict on money, relaxed on the rest. Put refunds and payment captures behind the owner, stock and discounts behind approval, and leave everything else automatic.
- Name approvers for each store so requests do not sit waiting.
- Review after two weeks. If an approval type is always granted without changes, consider relaxing it. If mistakes still slip through, tighten it.
- Check the audit log monthly, especially after someone leaves the team.
Before Black Friday
Black Friday is November 27, 2026 and Cyber Monday November 30. If you are introducing approvals, do it in October so the team is used to them before peak traffic. During the peak itself, many teams also freeze non-urgent changes; see how to run a change freeze around Black Friday. Refunds deserve particular care in the weeks after; our guide to holiday refunds, captures and discount rules covers them.
Approvals across several stores
With several stores, each store’s admin has its own staff and permissions, so approvals end up scattered. Keep the rule that each change belongs to one store and is approved for that store, even when the same change is going to several stores; a count or discount that is right for one may be wrong for another. Collect the pending changes for every store in one place so nothing is missed. More on this in how to manage multiple Shopify stores and changes across multiple Shopify stores.
FAQ
Does Shopify have an approval workflow for staff changes?
Shopify’s staff permissions control who can make a change, with separate permissions for things like refunds, payment captures, inventory and discounts. A second-person sign-off before a change goes live is something you add with a process or an app.
Who should be allowed to issue refunds?
As few people as possible. Refunds send money out and usually cannot be taken back. Many teams keep refunds and payment captures with the owner, or with one named manager.
How many approvers does a store need?
At least two: a primary and a backup. More than that and nobody feels responsible for the queue.
Will approvals slow my team down?
Only if you put everything behind them. Approve the few changes that move money or stock, and leave low-risk edits automatic.