A permission is one thing you are allowed to do. A role is a bundle of them.
Nobody is given permissions directly. Everybody is given a role, and the role carries the permissions. That is why access changes are quick: an admin edits the role once, and everyone holding it changes together.
This page covers:
- How access is decided
- Every permission, by group
- Roles that only work on a phone
- If a button is missing
How access is decided
Three pieces, and only the first two change often.
- The permission catalogue is fixed. The 33 keys below are the complete set, and new ones only appear when the app gains a genuinely new capability.
- A role is a name, a colour and a description, plus the permissions granted to it. Roles are not fixed: an admin can create new ones.
- Your account holds exactly one role. Everything you can see and do follows from it.
Roles are edited at Settings, under Roles. Only someone with the "Manage roles and permissions" permission can open that page — which is itself one of the 33.
Some roles ship with the app and are marked as system roles. Their name, description, colour and permissions can all be changed, but they cannot be deleted, because the app assumes they exist.
Granting a permission is not the whole job. If a role gains the right to write to something new, the underlying data rules have to allow it too. A permission that was granted but never wired through shows up as a button that appears and then fails, so access changes are worth testing with a real account.
Every permission, by group
The exact key is in the left column. It is what appears on the pill at the top of an article, and what an admin ticks in the role matrix.
| Group | Permission | What it unlocks |
|---|---|---|
| User Management | users.manage | Invite and deactivate users |
| User Management | users.change_role | Change which role a user holds |
| Products | products.create | Create and edit products |
| Products | products.delete | Delete products |
| Products | products.manage_bom | Manage bills of materials |
| Products | products.view_costs | View unit costs |
| Purchase Orders | pos.create | Create and edit purchase orders |
| Purchase Orders | pos.approve | Approve purchase orders |
| Purchase Orders | pos.receive | Receive stock against an order |
| Purchase Orders | pos.view | View purchase orders |
| Inventory | inventory.view | View stock levels |
| Inventory | inventory.adjust | Adjust stock directly |
| Inventory | inventory.view_value | View stock value |
| Inventory | inventory.bins | Manage bin locations |
| Stock Counts | counts.create | Create count sessions |
| Stock Counts | counts.execute | Execute counts on a phone |
| Stock Counts | counts.approve | Approve a count and post it to the ledger |
| Stock Transfers | transfers.create | Create, pack and dispatch transfers |
| Stock Transfers | transfers.receive | Confirm receipt of incoming transfers |
| Assembly Orders | assembly.create | Create and approve assembly orders |
| Assembly Orders | assembly.execute | Execute an order and pack kits |
| Production Orders | production.create | Create and edit production orders |
| Production Orders | production.labour | Log labour against a run |
| Production Orders | production.close | Review costing and close a run |
| Production Orders | production.view | View production orders |
| Sales and Channels | sales.view | View sales orders |
| Sales and Channels | sales.view_costs | View the cost and profit card on an order |
| Sales and Channels | channels.manage | Manage channel sync |
| Sales and Channels | channels.go_live | Switch a channel from shadow to live |
| Settings | settings.system | Change system configuration |
| Settings | settings.integrations | Manage integration credentials |
| Settings | settings.roles | Manage roles and permissions |
| Utilities | utilities.label_printer | Use the label printer |
Four of these deserve a note.
channels.go_liveis separate fromchannels.manageon purpose. Managing sync is routine; switching a channel from watching to actually writing to a live storefront is not.counts.approveis separate fromcounts.executeso the person who counts the shelf is not the person who signs off the variance.products.view_costs,inventory.view_valueandsales.view_costsgate money, not action. A role can run the whole warehouse without ever seeing what anything cost.pos.viewwithoutpos.receiveis a common and deliberate combination: see the order, cannot record the delivery.
Roles that only work on a phone
Some roles are mobile-only by design, not by omission.
Warehouse and production roles do their work standing at a shelf or a machine. Their screens are built for a phone held in one hand, and the desktop pages those permissions would unlock are not part of the job. Signing in on a laptop with one of those roles is expected to show very little.
This is a deliberate narrowing. A screen that a role never needs is a screen that role can never break, and it keeps the mobile flow short enough to finish between two boxes.
If a button is missing
Missing usually means "not yours", not "broken".
- Check the article for the action you are trying to take. The pill at the top names the permission that action needs.
- Compare it with your role. If you do not know your role, whoever administers users can tell you in seconds.
- If you should have it, ask an admin to grant that permission to your role rather than moving your account to a bigger role. Roles stay meaningful only if they stay narrow.
- Sign out and back in after a change. Your permissions are read when your session starts.
Do not work around a missing permission by editing something adjacent that you can reach. A delivery recorded as an adjustment, or an order edited instead of received, produces numbers that are correct today and unexplainable next month.
A fuller walkthrough of the "I cannot open this page" case is at Why can't I open this page?.
Explore
Why can't I open this page? The step-by-step version of the section above, including what to send to an admin. Learn more →
Glossary. Plain-English definitions for the words these permissions use. Learn more →
What each status means. Every status pill on every list, and what comes next. Learn more →