User Roles

Every role on the platform and a clear who-can-do-what summary.

2 min read

User Roles

Why this matters

Access on NQLA is permission-based (Spatie). Every action — creating a product, approving an inventory request, assigning a driver — is gated by a permission. Each role only sees and does what its permissions allow, so it pays to know which role you (or your staff) hold.

The roles

  • Merchant / Client — manages products, inventory requests, orders, returns, wallet, and subscription.
  • Delivery Company Admin / Staff — manages drivers, assigns orders to drivers, and the company wallet.
  • Driver — executes deliveries and reports the outcome.
  • Storage Company Admin / Staff — manages warehouses and confirms (or rejects) inventory requests.
  • Admin / Super Admin — full platform management.
  • Staff — internal operational role.
  • Customer Support — read-only access.
  • Pending Company — a newly registered company awaiting approval.

Who can do what (the merchant lifecycle)

Step Who acts Who else is involved
Create a product Merchant
Submit inventory request Merchant Admin approves → Storage confirms
Create an order Merchant Admin approves → Delivery assigns driver → Driver delivers
Submit a return Merchant or Customer Admin reviews & processes
Request a withdrawal Merchant Admin approves
Manage subscription Merchant Billed via Stripe

The key idea: a merchant starts most flows, but admins, storage companies, and delivery companies must act on them before they complete. You will spend a lot of time watching statuses change.

Where to look

For a deeper, role-by-role breakdown of exactly which screens and permissions each role has, see the Roles section — in particular Client / Merchant.