Roles and what each sees
Every person holds one or more roles, and a role is a set of permissions. The server checks the permission on every action, and the screens show only what the signed-in person may do. Nobody is shown a door that is locked.
The five roles
| Role | Who | What they do |
|---|---|---|
| Owner / Admin | The licence holder or the person who runs the shop | Everything, including users and roles. |
| Licensed Practitioner | The registered OTCMS practitioner on the premises | Runs the shop's operations: sells, voids, receives, disposes, manages compliance. Cannot manage users. |
| Sales Clerk | Serves at the counter | Sells and looks at the shelf. Cannot void a sale. |
| Inventory Clerk | Receives and counts stock | Receives deliveries, adjusts and quarantines. Cannot sell or dispose. |
| Auditor | An inspector, an accountant, the owner's adviser | Reads everything, exports anything, changes nothing. |
The permissions
| Permission | Owner | Practitioner | Sales clerk | Inventory clerk | Auditor |
|---|---|---|---|---|---|
| Manage users | ✓ | ||||
| Manage roles | ✓ | ||||
| Manage products | ✓ | ✓ | |||
| Receive stock | ✓ | ✓ | ✓ | ||
| View stock | ✓ | ✓ | ✓ | ✓ | ✓ |
| Adjust stock | ✓ | ✓ | ✓ | ||
| Quarantine stock | ✓ | ✓ | ✓ | ||
| Dispose of stock | ✓ | ✓ | |||
| Make a sale | ✓ | ✓ | ✓ | ||
| Void a sale | ✓ | ✓ | |||
| View reports | ✓ | ✓ | ✓ | ||
| Manage compliance | ✓ | ✓ | |||
| View the audit trail | ✓ | ✓ | ✓ | ||
| Export reports | ✓ | ✓ | ✓ |
Why the lines are drawn there
- A sales clerk cannot void. A void returns stock and erases revenue, which makes it the easiest way to take cash from a till. Voids need a practitioner or the owner, and every void carries a reason.
- An inventory clerk cannot sell or dispose. Receiving and counting are one job. Disposing of medicine is a regulated act that the licence holder answers for, so it stays with the practitioner and the owner.
- The auditor changes nothing. An auditor who can also adjust stock is not an auditor.
- Only the owner manages users and roles. The practitioner runs the shop's operations; the owner runs the shop.
What changes on screen
The sidebar has four groups: Sell, Stock, Comply and Manage. A group appears only when the person may open at least one screen in it, and a screen appears only when they may use it.
| Signed in as | Sell | Stock | Comply | Manage |
|---|---|---|---|---|
| Owner | Till, Sales by day | Products, Expiry and quarantine, Purchases | Compliance, Reports, Audit trail | Users |
| Practitioner | Till, Sales by day | Products, Expiry and quarantine, Purchases | Compliance, Reports, Audit trail | |
| Sales clerk | Till, Sales by day | Products, Expiry and quarantine | ||
| Inventory clerk | Products, Expiry and quarantine, Purchases | |||
| Auditor | Sales by day | Products, Expiry and quarantine, Purchases | Compliance, Reports, Audit trail |
The dashboard follows the same rule. Each of its panels belongs to a permission, so a sales clerk sees today's till and the shelf, and an auditor sees the figures without the Close the day button.
Inside a screen, buttons the person may not use are absent rather than greyed out. A sales clerk opening a sale sees the receipt and Print, not Void.
Custom roles
The five system roles cannot be deleted, but anyone with manage roles can change what they hold or add a role of their own, say a Shop manager who does everything the practitioner does plus users. See Users and roles.