Permissions and Roles
The POS system uses a role-based permission system to control who can access each feature. Permissions are grouped into modules, assigned to roles, and roles are assigned to users on a per-store basis.
How Permissions Work
- Permissions are individual capabilities (e.g., "create a product", "apply a discount", "approve a purchase order").
- Roles are collections of permissions (e.g., "Admin", "Store Manager", "Cashier").
- Users are assigned one or more roles, optionally scoped to a specific store.
When a user logs in, the system loads their roles and the associated permissions. Each screen and action checks for the required permission before allowing access. If the user lacks the permission, the button or menu item is hidden or the action is blocked.
Default Roles
The system comes with three default roles:
Admin
Has all permissions. Intended for headquarters administrators who manage the entire system. Admins can access every screen, modify any data, and perform all operations across all stores.
Store Manager
Has most permissions except administrative ones (creating stores, managing roles, provisioning). Store managers can run their store's daily operations, manage inventory, process sales, view reports, and manage local users.
Cashier
Has POS-related permissions only. Cashiers can process sales, apply discounts (within limits), open and close registers, and handle refunds. They cannot access inventory management, reports, or administrative features.
Assigning Roles to Users
Navigate to HQ Manager > Users, select a user, and go to the "Roles" tab. Click "Add Role Assignment" and select:
- Role: The role to assign.
- Store: The store this role applies to. Leave blank for a global (all-store) assignment.
A user can have different roles at different stores. For example, a person might be a Store Manager at one location and a Cashier at another.
Creating Custom Roles
Navigate to HQ Manager > Roles and click "New Role". Enter a name and description, then check the permissions to include. Custom roles allow you to create fine-grained access levels tailored to your organization. For example, you might create a "Senior Cashier" role that has all Cashier permissions plus pos.discount.override_max.
Complete Permission List
POS Module
| Permission | Description |
|---|---|
pos.sell | Process sales transactions |
pos.refund | Process refund transactions |
pos.void | Void completed sales |
pos.discount | Apply discounts to items or sales |
pos.discount.override_max | Override maximum discount limits |
pos.price.override | Override item prices |
pos.park_cart | Park and recall carts |
Inventory Module
| Permission | Description |
|---|---|
inventory.view | View inventory levels |
inventory.adjust | Make manual inventory adjustments |
inventory.count | Perform physical inventory counts |
Transfers Module
| Permission | Description |
|---|---|
transfers.view | View transfer list |
transfers.create | Create inter-store transfers |
transfers.send | Send transfers to other stores |
transfers.receive | Receive incoming transfers |
transfers.approve | Approve transfer requests |
Reports Module
| Permission | Description |
|---|---|
reports.x_report | Generate X reports (mid-day summary) |
reports.z_report | Generate Z reports (close register) |
reports.zz_report | Generate monthly ZZ reports |
reports.view_local | View store-level reports |
reports.view_global | View reports across all stores |
reports.product_performance | View product performance analytics |
reports.sales_by_rep | View sales grouped by sales representative |
reports.profit_margin | View profit margin analytics by department |
reports.cashier_performance | View cashier performance metrics |
reports.discount_analysis | View discount usage analytics |
Products Module
| Permission | Description |
|---|---|
products.view | View product catalog |
products.create | Create new products |
products.edit | Edit existing products |
products.delete | Deactivate products |
Users Module
| Permission | Description |
|---|---|
users.view | View user list |
users.create | Create new users |
users.edit | Edit user details |
users.manage_roles | Assign roles to users |
Stores Module
| Permission | Description |
|---|---|
stores.view | View store list |
stores.create | Create new stores |
stores.edit | Edit store details |
stores.provision | Provision new store instances |
Sales Reps Module
| Permission | Description |
|---|---|
sales_reps.view | View sales representatives list |
sales_reps.create | Create new sales representatives |
sales_reps.edit | Edit sales representative details |
sales_reps.delete | Deactivate sales representatives |
Purchase Orders Module
| Permission | Description |
|---|---|
purchase_orders.view | View purchase order list |
purchase_orders.create | Create new purchase orders |
purchase_orders.edit | Edit draft purchase orders |
purchase_orders.approve | Approve submitted purchase orders |
purchase_orders.receive | Receive items from purchase orders |
purchase_orders.delete | Delete draft purchase orders |
Worksheets Module
| Permission | Description |
|---|---|
worksheets.view | View worksheet list and details |
worksheets.create | Create and edit draft worksheets |
worksheets.submit | Submit worksheets for approval |
worksheets.approve | Approve or reject submitted worksheets |
worksheets.apply | Apply approved worksheets to products |
worksheets.delete | Delete draft worksheets |
Store Prices Module
| Permission | Description |
|---|---|
store_prices.view | View store-specific price overrides |
store_prices.manage | Create, update, and delete store price overrides |
Suppliers Module
| Permission | Description |
|---|---|
suppliers.view | View supplier list |
suppliers.create | Create new suppliers |
suppliers.edit | Edit supplier details |
suppliers.delete | Delete suppliers |
Taxes Module
| Permission | Description |
|---|---|
taxes.view | View tax rates and groups |
taxes.manage | Create, edit, and delete tax rates and groups |
Tenders Module
| Permission | Description |
|---|---|
tenders.view | View tender/payment methods |
tenders.manage | Create, edit, and delete tender types |
Specials Module
| Permission | Description |
|---|---|
specials.view | View product specials |
specials.manage | Create, edit, and delete product specials |
Customers Module
| Permission | Description |
|---|---|
customers.view | View customer list |
customers.create | Create new customers |
customers.edit | Edit customer details |
Registers Module
| Permission | Description |
|---|---|
registers.view | View register sessions |
registers.open | Open register sessions |
registers.close | Close register sessions |
Roles Module
| Permission | Description |
|---|---|
roles.view | View role list and permissions |
roles.manage | Create, edit, delete roles and assign permissions |