Navigation and Roles
Every menu item in the CloudPOS POS app, the permission that shows it, the screen each role opens on, the role-by-permission matrix, and how to switch user or store.
The menu shows only the items your role allows. If a colleague sees a menu item that you do not, your role is missing that permission. Only an administrator can change roles, in the admin panel.
Moving around the app
- Desktop and tablet: the sidebar on the left. Items with a ▸ open a sub-menu. You can collapse the sidebar to icons and expand it again.
- Phone: tap the menu icon to open the drawer. Items are grouped under Main, Sales, Inventory, Reports, Accounts, Directory and Settings. The AI assistant button sits in the same row as Logout.
- Phone billing has a bottom bar: Market (product grid), Billing, Order and Cart.
- Keyboard: press Ctrl+H on billing to see all keyboard shortcuts. See Billing.

*Keyboard Shortcuts (Ctrl+H): global, billing, cart, add-product, shared navigation and checkout shortcuts, plus the keyboard focus outline switch*
The sidebar header and profile card
At the top of the sidebar is the user switcher. At the bottom is the profile card with your name, role and the Active Store.

*Party Accounts > Customer Transaction: every customer debit/credit with amount, customer, type, reference ID and date filters; sidebar shows the profile card with Active Store switcher*
Switch user
Use this when two cashiers share one till.
- Tap your name at the top of the sidebar. The list of sales executives opens.
- Pick the colleague. The dialog Enter password for [name] opens.
- Your colleague types their password and taps Switch.
- You see Successfully switched to [name]. New bills are now made under their name.
The switch is refused when the colleague has no access to the current store: "[name] doesn't have access to current store. Please logout and try." Permission: menu.utility.user_switcher.access.
Switch store
- Open the Active Store list on the profile card.
- Pick another store you have access to.
- The app clears the old store's cached products, categories and print layouts and runs the full store sync again. See Getting started.
Permission: menu.utility.store_switcher.access. If you see No stores assigned, ask an admin to link you to a store.
Every menu item
The permission strings come from your role. Item labels are shown in English and Arabic.
Menu item | Arabic | Sub-items | Permission needed |
|---|---|---|---|
Home | الرئيسية | Billing (standard) |
|
Billing | الفواتير | Billing (supermarket) |
|
Dashboard | لوحة التحكم | Dashboard for your role |
|
Restaurant | المطعم | Restaurant counter |
|
Store | المتجر | Restaurant screen in store mode (summary-only order panel) |
|
Attender | المساعد | Waiter screen with tables |
|
Kitchen Master | المطبخ | Kitchen order board |
|
Sales ▸ | المبيعات | Sales (orders list) |
|
Confirmed Orders |
| ||
Sales Return |
| ||
Day Sale Closing |
| ||
Admin Day Sale Records | role | ||
Online Orders |
| ||
Quotations ▸ | عروض الأسعار | Quotations (create), Quotation List |
|
Category | الفئات | Category list |
|
Product ▸ | المنتجات | Product |
|
Stock |
| ||
Product Barcode |
| ||
Weigh machine download |
| ||
Purchase ▸ | المشتريات | Purchase Orders, Purchase Returns |
|
Reports ▸ | التقارير | Sales Executive Reports |
|
Sales Report |
| ||
Discount Sale Report |
| ||
Product Sales Report |
| ||
Executive Reports | role | ||
Customer Transaction Reports |
| ||
Supplier Transaction Reports |
| ||
Stock Report |
| ||
Non-Stock Report |
| ||
Consumed Stocks Report |
| ||
Transactions ▸ | المعاملات | Invoice |
|
Receipts |
| ||
Customer Voucher |
| ||
Supplier Voucher (Purchase Entry) |
| ||
Proforma Invoice |
| ||
Expense | always shown inside Transactions | ||
Party Accounts ▸ | حسابات الأطراف | Customer Transactions |
|
Supplier Transactions |
| ||
Customers | العملاء | Customer list |
|
Suppliers ▸ | الموردون | Suppliers |
|
Supplier Transactions |
| ||
Supplier Voucher |
| ||
Printer (under Other) | الطابعة | Printer Settings |
|
Settings | الإعدادات | Settings |
|
Logout | تسجيل الخروج | Signs you out | always shown |
Notes:
- Tapping the Reports header opens Executive Reports for a
company_admin, Sales Executive Reports if you have that permission, otherwise the first report you may open. - Home and Billing open the same billing screen. Billing is the supermarket entry. A
restaurant_salesuser gets the restaurant layout on both. - On a phone-sized screen, billing switches to the mobile layout automatically.
Phone drawer sections
Section | Items |
|---|---|
Main | Home, Billing, Dashboard, Restaurant, Store, Attender, Kitchen Master |
Sales | Sales (Sales, Confirmed Orders, Sales Return, Day Sale Closing, Admin Day Sale Records, Online Orders), Quotations (Quotations, Quotation List) |
Inventory | Category, Product (Product, Stock, Product Barcode, Weigh machine download), Purchase (Purchase Orders, Purchase Returns) |
Reports | Reports and all report sub-items |
Accounts | Transactions (Invoice, Receipts, Customer Voucher, Supplier Voucher (Purchase Entry), Proforma Invoice, Expense), Party Accounts |
Directory | Customers, Suppliers (Suppliers, Supplier Transactions, Supplier Voucher) |
Settings | Printer, Settings |
Which screen opens after login
Role | Opens on |
|---|---|
| Attender (restaurant waiter screen) |
| Kitchen Master |
| Dashboard |
| Restaurant |
| Billing |
Which dashboard you see
The Dashboard menu item opens a different dashboard by role:
Role | Dashboard |
|---|---|
| Sales Executive Dashboard (your own sales, your customers, ZATCA overview) |
| Admin dashboard |
All other roles (including | Company Admin Dashboard |
Each card on the dashboard also needs its own widget permission. See Dashboard.
Permissions inside screens
Some buttons inside a screen have their own permission:
Permission | What it unlocks |
|---|---|
| View product details from the billing screen |
| Edit a product from the billing screen |
| See purchase prices anywhere in the app |
| Show one dashboard card (for example |
| Delete a quotation (checked by the server) |
role | Packing and Create Delivery on order details |
Seeded roles and permissions
These are the permissions each role gets when a company is created. Your administrator may have changed them.
Area | company_admin | sales_executive | restaurant_sales | attender | kitchen_master | purchase_manager |
|---|---|---|---|---|---|---|
Home (billing) | – | ✓ | – | – | – | ✓ |
Billing (supermarket) and Quotations | – | ✓ | ✓ | – | – | – |
Quotation delete | – | – | – | – | – | – |
Restaurant | – | ✓ | ✓ | – | – | ✓ |
Attender | – | ✓ | ✓ | ✓ | – | ✓ |
Kitchen Master | – | ✓ | ✓ | – | ✓ | ✓ |
Dining | – | ✓ | ✓ | ✓ | – | – |
Dashboard | ✓ | ✓ | ✓ | – | – | ✓ |
Sales orders and Day close | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Confirmed Orders | – | ✓ | ✓ | ✓ | ✓ | ✓ |
Sales Return and Online Orders | – | ✓ | ✓ | – | – | returns only |
Category, Product, Stock | – | ✓ | ✓ | – | – | ✓ |
Purchase Orders | – | ✓ | ✓ | – | – | ✓ |
Reports | executive summary, customer and supplier transactions, stock, non-stock, consumed | all except product sales | all except product sales | – | – | all except product sales |
Transactions, Party Accounts, Suppliers | – | ✓ | ✓ | – | – | ✓ (no proforma or expense) |
Settings and Printer | – | ✓ | ✓ | ✓ | – | ✓ |
User and store switcher | – | ✓ | ✓ | – | – | ✓ |
| ✓ | ✓ | ✓ | ✓ | ✓ | – |
Store ( | – | – | ✓ | – | – | – |
Other roles:
delivery_executivecan sign in but has no POS permissions by default.super_admin,customer,supplier,fc_executive,company_partnerandcustomer_supportcannot sign in to the POS.- There is no
cashieroradminrole. "Cashier" is only an employee designation.
How it works
- After the store is chosen, the app downloads the company's roles (
GET /api/v1/roles/list). It finds your role by name and reads itspermissionslist. - A menu item is shown only when that list contains the item's permission string. Until the roles finish loading, permission-based items are hidden.
- Roles belong to one company. A company admin edits them in the admin panel under Roles. On free, trial, basic and demo packages, some permissions are locked.
- Changes made in the admin panel reach the device on the next store sync, or in Settings → Offline Data → Roles & permissions → Sync.
- Logout ends the session on the server and clears it on the device. If the server cannot be reached, you are still logged out on the device.