POS Permission System
X POS lets you control which actions each POS operator is allowed to perform reprinting invoices, giving discounts, changing prices, issuing refunds, closing shifts, running reports, and more. You define a set of roles, decide what each role can do, and assign a role to each user. Permissions apply everywhere the user works, including fully offline.
Overview
Instead of every cashier having full access, X POS groups actions into roles. A role is simply a named list of allowed actions (for example Cashier, Supervisor, Manager). You turn actions on or off for each role, then assign that role to your staff.
A user's abilities come from the role assigned to them. If a user has no role, they are treated as a basic Cashier with no elevated permissions.
This controls what users can do inside the X POS app. It is separate from general system access it only governs POS actions.
What Can Be Controlled
Each role can allow or block the following actions, organized into groups:
Billing & Invoicing
- Close Shift: End the current POS shift
- Reprint Invoice: Reprint an already-completed invoice
- Print Draft Invoice: Print an order before it is finalized
- Shift Report: View the shift summary report
Discounts & Pricing
- Apply Additional Discount: Add a discount to the whole bill
- Edit Discount Field: Change the discount amount in the cart
- Change Price: Override an item's price
Sales Operations
- Sale Return: Process returns and refunds
Cash Management
- Expense: Record cash taken out of the register
- Bank Drop: Record a cash deposit / drop
Reports
- Current Stock by Brand: Run the stock-by-brand report
- Current Stock Report: Run the current stock report
Administration
- Manage Role Permissions: View and edit which roles can do what
By default, none of these actions are granted to a new role you switch on only the ones each role needs.
Default Roles
X POS comes with three ready-made roles:
| Role | What they can do |
|---|---|
| Cashier | Ring up and complete sales. No elevated actions cannot change prices, give extra discounts, issue refunds, or run reports. |
| Manager | Everything except managing the permission settings themselves. |
| Administrator | Everything, including managing role permissions. |
You can use these as-is, edit them, or create your own roles alongside them. Your customizations are preserved through updates.
Assigning Roles to Users
Roles are assigned inside a POS Profile, in the list of users who may use that profile. For each user you can set:
- POS Role: The role that determines what the user can do
- Discount Limit: The maximum discount percentage this user may apply (defaults to no limit)
- Is Cashier: Whether the user can open the Cashier settlement screen
Because the role is set per profile, the same person can have different permissions in different stores or registers if needed. If no role is chosen for a user, they fall back to basic Cashier access.
Full-Access Users
Certain administrative users automatically have every POS permission, no matter which role they are given:
- The main Administrator account
- Any user set up as a System Manager
This ensures owners and administrators are never locked out of an action.
The Discount Limit
Separate from the on/off permissions, each user can have a Discount Limit a cap on how large a discount they may apply, entered as a percentage.
The two work together:
- The discount permissions decide whether a user can discount at all.
- The discount limit decides how much they can discount.
For example, a supervisor might be allowed to give discounts, but capped at 15%. Leaving the limit unset means no cap.
How Permissions Take Effect
When a user logs in, X POS applies their role automatically:
- Actions they are not allowed to perform are hidden or disabled in the interface, so they don't see buttons they can't use.
- Even if an action is attempted another way, the system still enforces the permission behind the scenes — so a blocked action cannot be forced through. For example, a cashier without Change Price who tries to alter an item's price will have it reset to the standard price automatically.
Permission changes take effect immediately as soon as you update a role, the affected users get the new rules without needing to restart anything.
Managing Permissions (Role Permissions Screen)
Users who have the Manage Role Permissions action (and full-access administrators) get a Role Permissions screen inside X POS. From there you can:
- Pick a role.
- See its permissions grouped by category, with a running count of how many are enabled.
- Toggle any action on or off each change is saved right away.
Users without this permission cannot open or change the screen.
Working Offline
Permissions travel with each user, so the desktop app enforces the same rules even with no internet connection. When the app syncs, it stores each user's role, allowed actions, and discount limit locally. An offline operator is held to exactly the permissions that were in effect at the last sync.
Example Setup
Goal: Cashiers can sell but not change prices or give refunds. Supervisors can do both, but discounts are capped.
- Keep the default Cashier role as-is (no elevated actions).
- Create a Supervisor role and enable: Change Price, Sale Return, Apply Additional Discount, Close Shift, and Shift Report.
- In the POS Profile's user list, set cashiers to the Cashier role and supervisors to the Supervisor role. Give each supervisor a Discount Limit of 15%.
Result:
- A cashier cannot change prices or issue refunds those controls are unavailable, and price overrides are blocked.
- A supervisor can change prices and process returns, but cannot discount beyond 15%.
- An administrator can still do everything, regardless of role.