Skip to content

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

  1. Permissions are individual capabilities (e.g., "create a product", "apply a discount", "approve a purchase order").
  2. Roles are collections of permissions (e.g., "Admin", "Store Manager", "Cashier").
  3. 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

PermissionDescription
pos.sellProcess sales transactions
pos.refundProcess refund transactions
pos.voidVoid completed sales
pos.discountApply discounts to items or sales
pos.discount.override_maxOverride maximum discount limits
pos.price.overrideOverride item prices
pos.park_cartPark and recall carts

Inventory Module

PermissionDescription
inventory.viewView inventory levels
inventory.adjustMake manual inventory adjustments
inventory.countPerform physical inventory counts

Transfers Module

PermissionDescription
transfers.viewView transfer list
transfers.createCreate inter-store transfers
transfers.sendSend transfers to other stores
transfers.receiveReceive incoming transfers
transfers.approveApprove transfer requests

Reports Module

PermissionDescription
reports.x_reportGenerate X reports (mid-day summary)
reports.z_reportGenerate Z reports (close register)
reports.zz_reportGenerate monthly ZZ reports
reports.view_localView store-level reports
reports.view_globalView reports across all stores
reports.product_performanceView product performance analytics
reports.sales_by_repView sales grouped by sales representative
reports.profit_marginView profit margin analytics by department
reports.cashier_performanceView cashier performance metrics
reports.discount_analysisView discount usage analytics

Products Module

PermissionDescription
products.viewView product catalog
products.createCreate new products
products.editEdit existing products
products.deleteDeactivate products

Users Module

PermissionDescription
users.viewView user list
users.createCreate new users
users.editEdit user details
users.manage_rolesAssign roles to users

Stores Module

PermissionDescription
stores.viewView store list
stores.createCreate new stores
stores.editEdit store details
stores.provisionProvision new store instances

Sales Reps Module

PermissionDescription
sales_reps.viewView sales representatives list
sales_reps.createCreate new sales representatives
sales_reps.editEdit sales representative details
sales_reps.deleteDeactivate sales representatives

Purchase Orders Module

PermissionDescription
purchase_orders.viewView purchase order list
purchase_orders.createCreate new purchase orders
purchase_orders.editEdit draft purchase orders
purchase_orders.approveApprove submitted purchase orders
purchase_orders.receiveReceive items from purchase orders
purchase_orders.deleteDelete draft purchase orders

Worksheets Module

PermissionDescription
worksheets.viewView worksheet list and details
worksheets.createCreate and edit draft worksheets
worksheets.submitSubmit worksheets for approval
worksheets.approveApprove or reject submitted worksheets
worksheets.applyApply approved worksheets to products
worksheets.deleteDelete draft worksheets

Store Prices Module

PermissionDescription
store_prices.viewView store-specific price overrides
store_prices.manageCreate, update, and delete store price overrides

Suppliers Module

PermissionDescription
suppliers.viewView supplier list
suppliers.createCreate new suppliers
suppliers.editEdit supplier details
suppliers.deleteDelete suppliers

Taxes Module

PermissionDescription
taxes.viewView tax rates and groups
taxes.manageCreate, edit, and delete tax rates and groups

Tenders Module

PermissionDescription
tenders.viewView tender/payment methods
tenders.manageCreate, edit, and delete tender types

Specials Module

PermissionDescription
specials.viewView product specials
specials.manageCreate, edit, and delete product specials

Customers Module

PermissionDescription
customers.viewView customer list
customers.createCreate new customers
customers.editEdit customer details

Registers Module

PermissionDescription
registers.viewView register sessions
registers.openOpen register sessions
registers.closeClose register sessions

Roles Module

PermissionDescription
roles.viewView role list and permissions
roles.manageCreate, edit, delete roles and assign permissions