Roles & Permissions

Twelve built-in staff roles plus custom roles, each backed by explicit permissions - every console action checks one.

The model

  • The Owner is the account itself - full access, always
  • Staff are separate logins you invite, each carrying a role (or a custom permission set)
  • Every console action - ajax call, settings save, nav area - is mapped to a permission slug and checked server-side; hiding a button is never the only gate
  • Senior roles can manage the staff below them; who can manage whom follows the rank ladder

The role ladder

RoleBuilt for
ClerkBack office: create payment links, view sales
TellerPOS terminal only (pos.u.cash) - no console access at all
LeadRuns the terminal and issues refunds
AccountantEdits financials and transactions
AuditorRead-only financials and audit trail
DesignerBranding and design only
SupervisorCustomer care, refunds, terminal, staff support
ManagerSettings, payment methods, payouts, most areas
DirectorManager plus payouts and audit visibility
OfficerConfigures payment methods and wallets (compliance officer)
AdminEverything except managing other admins
Master adminManages all staff, including admins
CustomPick the exact permissions and name the role yourself

Permissions that matter most

  • Wallets and processors (wallets.edit, payments.processors.edit) - who can change where money goes and which rails are live; keep this tight (officer, manager, admin)
  • Financials (financials.view/edit) - balances, fees, credits
  • Transactions - view, edit, refund, delete are separate permissions
  • Payouts (payouts.create) - starting payout requests; completing them needs financials edit
  • POS and teller operate - terminal access; teller.manage separately gates teller configuration

Managing staff

Invite staff from the console, assign roles, and scope accounts to a single store where needed. Additional staff seats beyond your plan's included seats are one-time purchases from your credit balance. Every staff action lands in the audit log - who did what, when, from where.

POS staff can be created without an email - they sign into the terminal with a username and PIN (resettable from the Staff area), which keeps counter hires out of your email directory entirely. Senior roles can suspend, activate, archive, and take over accounts below them in the ladder.