Back-Office Tools for Shopify Teams: When to Build Your Own
Narrow staff actions, approval steps, bulk edits with a preview and weekly reports: where Shopify admin stops fitting your team, and how internal tools fill the gap.
In this post
- The gaps at a glance
- Staff who need one action, not a whole area
- Approval before money moves
- Bulk edits you can see before they run
- The report someone builds by hand
- What every internal tool should have
- Build it on current foundations
- When it should run on a server of its own
- Rolling it out
- FAQ
- Where to start
Shopify admin organises work by area: orders, products, discounts, customers. Most teams fit that shape. Some jobs do not: a warehouse lead who needs one action, a manager who wants to sign off before money moves, an export someone rebuilds by hand every Monday. That is where a small back-office tool of your own earns its place.
Here are the common gaps, what Shopify offers today, and what a tool built for your team adds.
The gaps at a glance
| Gap | What Shopify offers | What a tool of your own adds |
|---|---|---|
| Staff need one action, not a whole area | Permissions by area | A screen with only that action |
| Money moves without a second look | Separate Refund and Cancel permissions, tags | A real approval step before the action runs |
| Big edits with no preview | CSV import, bulk editor | A preview and a confirm step |
| The weekly report built by hand | Analytics, exports | A report that is ready on Monday |
Staff who need one action, not a whole area
Shopify store permissions are set by area. Refund and Cancel are separate permissions, which helps, but permissions cannot be limited to individual orders. A warehouse lead who needs to do one thing in orders gets the orders area to do it.
For narrow, repeated jobs, a common approach is a small internal screen that exposes only that one action. The person gets exactly what they need, the rest of the admin stays closed, and every action is recorded with who did it.
That screen does not have to live outside Shopify. An app can add admin actions and admin blocks to the admin itself: an action opens from the More actions menu on a page such as an order, or from the bulk actions menu when several are selected, and a block shows as a card next to the existing information. For the team, the tool feels like part of Shopify.
Approval before money moves
A Shopify Plus merchant on the Community, working with outsourced support agents, asked whether a manager could approve refunds and cancellations before they happen. Their concern was concrete: cancelling an order voids the payment authorization at once, so a batch of mistakes cannot easily be reversed. Tagging orders for review helps managers filter, but it does not stop an action in real time.
Discounts raise the same question. In another thread, a staff member created an automatic discount instead of a code, and every customer got it until someone noticed. Shopify’s Discounts permission covers both discount codes and automatic discounts.
The Community’s advice is sound: define the workflow first, then choose between built-in features, an app or custom work. We cover the general setup of roles, approval levels and audit logs in approval workflows for live store changes, and the refund side in a returns and refunds process for Shopify. When your rules are specific (who can ask, who must approve, which amounts or stores need a second look), an approval step built around your team is a typical back-office tool.
Bulk edits you can see before they run
Another Community question: about 12,000 products need a different value in one field. The replies list bulk-editing apps and Shopify’s own CSV import and export for product metafields. The CSV route works for basic changes, with limits the thread points out: it is file-based, there is no undo, and ID and handle columns must stay unchanged. Our guide to product CSV import and export covers that route.
For a one-off, a ready tool is enough. If your team runs a job like this every week, a tool that shows the change first and runs it only after someone confirms saves hours and mistakes.
Under the hood, large jobs like this usually rely on bulk operations: one query, run by Shopify in the background, returning a JSON Lines file that can be read record by record. From API version 2026-01, an app can run up to five bulk queries per shop at the same time, and a bulk query must finish within 10 days. Shopify’s own tip is to test the query normally first, because errors are much clearer outside a bulk run.
Order work follows the same pattern. Tagging and fulfilling in batches is built into the admin, as our guide to bulk fulfilling and tagging orders shows; a custom tool is worth it when your batch has rules the admin filters cannot express.
The report someone builds by hand
Export, paste, clean, chart: every week, by the same person. For a simple report, scheduled sheet tools and automation services are a good start. When the numbers come from several systems, or need your own definitions, a small internal dashboard fits better. Built once, it is ready on Monday morning without anyone building it.
Write down the definitions before anyone builds the report. “Orders this week” can mean created, paid or shipped; “returns” can mean requested or refunded. A tool that uses the wrong definition just produces the wrong number faster.
What every internal tool should have
Whatever the job, a back-office tool your team relies on should cover the basics:
- Sign-in per person. No shared logins, so every action has a name on it.
- A record of every change. Who did what, when, and what the value was before.
- Clear limits. The tool only exposes the actions it was built for.
- A preview for anything in bulk. Show what will change, then run it.
- An owner. One person who knows how it works and who to call when it breaks.
Build it on current foundations
If an older internal tool or script is involved, two facts are worth knowing:
- Shopify’s REST Admin API became legacy on October 1, 2024, and since April 1, 2025 all new public apps must be built only with the GraphQL Admin API. New capabilities arrive on GraphQL, so list what still calls REST and plan to move it the next time you touch it.
- Shopify’s API terms apply to every developer who touches your store’s data: use it only to provide the service to you, do not sell or share it except as the terms allow, delete it within 30 days after uninstall or when it is no longer needed, request only the data needed, and do not use it to train AI or machine-learning systems without consent. Ask any developer how they meet these rules.
When it should run on a server of its own
Most tools run happily on shared infrastructure. Some do not fit: your own data rules, your own connections to other systems, or work you want kept apart from everyone else’s. For those, the tool can run on a server built for you, not shared.
Rolling it out
- Pick one job. The one with the most hours or the most costly mistakes.
- Write the rules down. Who does it, who approves, and what must never happen.
- Start with the people who do the job. Let them try it on real but low-risk work first.
- Run old and new side by side for a week, and compare the results.
- Then remove the old access. If a staff member no longer needs the whole orders area, take it away.
Agencies doing this for client stores face the same steps across many stores; see agency store access and AI tools for keeping each person to their stores.
FAQ
Can I limit a Shopify staff member to certain orders?
Not with built-in permissions. They are set by area, such as orders or products, not by individual order. A small tool that exposes only one action, on only the orders it should, is the usual way around it.
Can Shopify require approval before a refund?
Refunds have their own permissions, so you can choose who may refund at all. There is no built-in step where one person requests a refund and another approves it before it runs. That step needs an app or a custom tool.
Can an internal tool appear inside the Shopify admin?
Yes. An app can add admin actions, which open from the More actions menu on pages such as an order, and admin blocks, which show as cards on those pages.
Do I need to rebuild an old tool that uses the REST Admin API?
Not immediately, but plan for it. REST has been legacy since October 1, 2024, and new capabilities arrive on GraphQL. Move it the next time you change the tool.
Where to start
Pick one job your team does by hand or with too much access, and describe it in a few lines: who does it, in which tools, what goes wrong and who should approve it. How to brief a developer shows what to include, and custom app or off-the-shelf helps you check that building is the right call. Our page on custom Shopify integrations lists the kinds of back-office tools we build.
Have a job like this? Talk to us and we will reply with how we would approach it.