Roles & Permissions User Management
/roles
Lists the business's user roles and lets admins create or edit roles by ticking permission checkboxes grouped by module and feature.
This screen requires the roles.view permission. The table lists every role defined for the business with just two columns, Role and Action. The two default roles, Admin and Cashier, are created automatically for every business; Admin can never be edited or deleted from here, while Cashier can be edited (and its "default" flag is cleared once you do) but never deleted. All other roles show both Edit (needs roles.update) and Delete (needs roles.delete) actions. An Add button, gated by roles.create, opens the create-role form.
The create/edit form starts with a Role Name field, an Is Service Staff checkbox (relevant to the Restaurant module), and a View Export Buttons permission, then works through long checkbox groups — one per feature area (Users, Roles, Contacts/Suppliers, Products, Sales, Purchases, Stock, Reports, and so on) — each with its own Select All toggle at the top of the section. Selling-price-group visibility permissions and repair-status permissions (when those modules apply) are folded into the same permission list and saved alongside the rest.
Saving calls syncPermissions(), so the checked boxes fully replace the role's previous permission set. Role names are stored internally suffixed with the business ID to keep them unique across businesses sharing the same database, and duplicate role names within a business are rejected.
Step-by-step Workflow
- Review existing rolesScan the Role column to see what roles already exist before creating a new one.
- Start a new roleClick Add and give the role a name; non-default roles can be freely renamed later.
- Grant permissions by sectionWork through each feature-area checkbox group (Users, Products, Sales, Purchases, Reports, etc.), using each section's Select All toggle to speed up broad grants.
- Save the roleSubmitting the form syncs the checked permissions to the role, replacing any it previously had.
- Assign the role to usersGo to the Users screen and set this role on the relevant staff accounts, individually or via the bulk Role action.