Users & Roles

StockFlow has a role-based access control (RBAC) system. Each user is assigned one or more roles, and each role defines exactly what they can see and do.


Built-in roles

RoleDescription
OwnerFull access to everything. Can delete the account. Only one owner per account.
AdminFull access to everything except deleting the account or changing billing.
ManagerFull access to all modules but cannot manage users, billing, or dangerous settings.
Sales RepCan create and manage sales orders and view clients. Cannot view cost prices, reports, or settings.
Warehouse StaffCan manage inventory (add, adjust, transfer). Cannot create sales orders or view clients.
PurchasingCan manage purchase orders, receive stock, and view supplier records. Read-only on sales.
AccountantRead-only access to all financial data — invoices, reports, payments. Cannot create or modify records.
Read OnlyCan view everything but cannot create, edit, or delete anything.

Permission matrix

PermissionOwnerAdminManagerSales RepWarehousePurchasingAccountantRead Only
View Goods List
Edit Goods List
View cost prices
Create sales orders
View all salesOwn only
Add/adjust inventory
Create purchase orders
View all clients
Edit clients
View reports
Manage settings
Manage users
Manage billing

Inviting a user

  1. Go to Settings → Users → + Invite User
  2. Enter their email address
  3. Select a role (or multiple roles — a user can have more than one)
  4. Optionally restrict them to specific warehouses — they can only see inventory and orders for those warehouses
  5. Click Send Invitation

The invited user receives an email with a setup link. The link expires after 72 hours. If they don’t use it, click Resend Invitation from the Users list.


Creating custom roles

If the built-in roles don’t match your needs, create a custom role:

  1. Go to Settings → Users → Roles → + New Role
  2. Enter a role name
  3. For each permission group, choose: Full access, Read only, or No access
  4. Click Save Role

Custom roles appear alongside built-in roles when inviting users.


Managing existing users

Changing a user’s role

  1. Go to Settings → Users
  2. Click the user’s name
  3. Change the Role dropdown
  4. Click Save

The change takes effect on their next page load.

Suspending a user

  1. Click the user’s name → Suspend
  2. The user is immediately logged out and cannot log in
  3. Their records (orders, notes, adjustments) are preserved

Suspended users count against your plan’s user limit. To free up the seat, deactivate them.

Deactivating a user

Deactivated users:

  • Cannot log in
  • Are removed from assignable dropdowns (but their historical records remain attributed to them)
  • Do not count against your user limit

To deactivate: click the user → Deactivate.


Two-factor authentication (2FA)

For individual users

  1. Go to Profile → Security → Enable 2FA
  2. Scan the QR code with an authenticator app (Google Authenticator, Authy, 1Password)
  3. Enter the 6-digit code to confirm
  4. Save the backup codes somewhere safe

Enforcing 2FA for all users

Admins can make 2FA mandatory:

  1. Go to Settings → Security → Require 2FA
  2. Toggle ON
  3. Set a grace period (e.g. 7 days for existing users to enrol)

After the grace period, users without 2FA enabled are blocked until they complete enrolment.


Single Sign-On (SSO)

Enterprise plan only. Configure SSO via Settings → Security → SSO. Supported providers: Okta, Microsoft Entra ID (formerly Azure AD), Google Workspace, and any SAML 2.0-compatible IdP.

When SSO is enforced, local username/password login is disabled for all users.