Step 1 — Start with the truth: do the orders exist?
Before touching any permission, confirm whether the orders actually exist and whether an administrator account can see them. Log in as an admin and check the orders screen. If the admin sees the orders but the Shop Manager does not, this is a staff-access problem. If nobody sees them, it is an order-creation or order-storage problem — a completely different fix. Diagnosing the wrong one wastes the most time.
Step 2 — Check role capabilities
The Shop Manager role is granted specific WooCommerce capabilities to view and manage orders, as described in WooCommerce’s roles and capabilities documentation. If those capabilities have been stripped — often by a role-editor plugin or a botched custom role — the orders screen can come up empty even though the orders are there. Confirm the user genuinely has the Shop Manager role and that its order capabilities are intact.
Step 3 — Rule out the order-storage setting (HPOS)
Modern WooCommerce stores can use High-Performance Order Storage (HPOS), which stores orders in dedicated tables instead of the legacy posts table. If a plugin reads orders from the old location, or syncing between the two is off, new orders can appear in one place and not another. Check which storage your store uses and whether every order-related plugin is HPOS-compatible.
Step 4 — Then plugins, caching, and filters
If roles and storage check out, work through the remaining usual suspects.
- A role-editor or security plugin quietly changed the manager’s default permissions.
- An admin-customisation or caching plugin is hiding fresh records from the screen.
- The manager is simply looking at a filtered or date-limited view of the orders list.
- A conflicting plugin altered the orders screen after an update.
The best-practice fix
Fix the role or capability issue directly, at the smallest level that solves it. Granting everyone full administrator access makes the symptom disappear, but it widens your attack surface and makes future mistakes more likely — exactly the opposite of good security hygiene. Least privilege is the right answer: give the manager the access the job needs, no more.
Who can see the orders → what’s wrong
The fastest diagnostic is comparing what an admin sees with what the manager sees.
| Admin sees orders? | Manager sees orders? | Likely cause |
|---|---|---|
| Yes | No | Role capabilities, a role-editor plugin, or a filtered view. |
| No | No | Order creation/storage (HPOS) or a checkout/webhook failure. |
| Yes | Some, not new ones | Caching or an admin-UI plugin hiding fresh records. |
| Yes (in old table) | No (reads new table) | HPOS vs legacy storage mismatch. |
Mistakes that make this harder
- Granting full admin access as a quick fix, creating a real security risk.
- Changing permissions before confirming whether the orders even exist.
- Ignoring HPOS — assuming all plugins read orders from the same place.
- Missing a filter or date range left active on the orders screen.
- Blaming WooCommerce when a role-editor or security plugin made the change.
How we handle order-visibility tickets
In our experience, “the manager can’t see orders” almost always resolves to one of two things: a capability that got stripped, or an order-storage/plugin mismatch after an update. We start by comparing the admin and manager views because that one check rules out half the possibilities in seconds — then fix at the role level, never by escalating access.
- Compare admin vs manager visibility before changing anything.
- Keep roles scoped to least privilege, and audit role-editor plugins.
- Confirm every order-related plugin is HPOS-compatible after updates.
- Document the cause so the same plugin or setting does not bite again.
Frequently asked questions.
Should shop managers be full admins?
Usually not. A Shop Manager should have only the access needed to manage orders, products, and store operations. Granting full admin to fix a visibility issue is fast but increases your security risk and makes accidental changes more likely.
Can a plugin hide WooCommerce orders?
Yes. Role-editor plugins, order-storage settings (HPOS vs legacy), admin-customisation plugins, caching plugins, and security plugins can all affect which orders a given role sees. A recent plugin update is a common trigger.
What is HPOS and why does it matter here?
High-Performance Order Storage keeps WooCommerce orders in dedicated database tables instead of the legacy posts table. If a plugin reads from the old location or syncing is off, new orders can appear in one place and not another, which looks like a visibility bug.
No orders are showing at all — is it a permissions problem?
Probably not. If even an administrator sees no new orders, the issue is more likely order creation or storage — for example a payment webhook not completing the order. See WooCommerce orders not updating after payment.
Research sources.
This guide was checked against current platform and search documentation before publication.
