Roles & Permissions

View as Markdown

ESO uses a role-based access control system. Every member of your organisation is assigned a role, and each role comes with a predefined set of permissions. Administrators can further fine-tune access with per-user overrides and access scopes.

Built-in roles

org:admin

Full access to everything in the platform. Admins can:

  • Manage all inventory, packing lists, containers, projects, and clients.
  • Read and write invoices, quotes, and supplier data.
  • Manage organisation settings, invite links, and member roles.
  • Grant and revoke permissions for other users.

org:member

Standard operator access. Members can:

  • Create, view, and update inventory, packing lists, containers, projects, and clients.
  • Finalise and progress packing lists through the shipping lifecycle.
  • Read invoices; create and update quotes and suppliers.
  • Cannot: delete inventory, delete packing lists, write invoices, manage organisation settings, or manage permissions.

truck_broker

Restricted access for external logistics partners. Truck brokers can only:

  • View packing lists that have been explicitly assigned to their broker company. They cannot see any other data in the organisation.

Permission reference

Permissions are grouped by feature area:

PermissionKeyDescription
View packing listspacking_lists.readSee packing lists and their items.
Create packing listspacking_lists.createCreate new packing lists.
Update packing listspacking_lists.updateEdit items while in an editable status.
Delete packing listspacking_lists.deleteDelete packing lists.
Finalize / ship / closepacking_lists.finalizeAdvance through shipped → delivered → closed.
Revert packing list statuspacking_lists.revertStep a packing list back one status.
Delete attachmentspacking_lists.attachment.deleteRemove files from packing lists.
View audit historypacking_lists.audit.readSee the status-change history log.
View inventoryinventory.readSee inventory items and quantities.
Create inventoryinventory.createAdd new inventory items.
Update inventoryinventory.updateEdit items and adjust quantities.
Delete inventoryinventory.deleteRemove inventory items.
View inventory auditinventory.audit.readSee historical audit entries for inventory.
Merge inventoryinventory.mergeMerge duplicate inventory records.
View containerscontainers.readSee containers and their attachments.
Create containerscontainers.createAdd containers and upload files.
Update containerscontainers.updateEdit container details.
View projectsprojects.readSee projects.
Create / update projectsprojects.writeCreate and edit projects (includes financials).
Delete projectsprojects.deleteRemove projects.
View clientsclients.readSee clients.
Create clientsclients.createAdd new clients.
Update clientsclients.updateEdit client details.
Delete clientsclients.deleteRemove clients.
View invoicesinvoices.readSee invoices and payment data.
Manage invoicesinvoices.writeCreate, edit, and record payments.
View quotesquotes.readSee quotes.
Manage quotesquotes.writeCreate and update quotes.
View supplierssuppliers.readSee supplier catalogue.
Manage supplierssuppliers.writeCreate and update suppliers and services.
View org settingssettings.org.readSee organisation configuration.
Update org settingssettings.org.updateChange organisation-level settings.
View memberssettings.members.readSee who is in the organisation.
Invite memberssettings.members.inviteGenerate invitation links.
Update memberssettings.members.updateChange member roles.
Remove memberssettings.members.removeRemove users from the organisation.
View permissionssettings.permissions.readSee role and override configuration.
Manage permissionssettings.permissions.updateModify roles and per-user overrides.

Per-user permission overrides

Administrators can grant or deny individual permissions to specific users independently of their role. For example, you could grant invoices.write to a single org:member without changing their role. Navigate to Settings → Permissions and find the user to add an override.


Access scopes

In addition to permissions, users can be restricted to specific projects, clients, or locations. When a scope is configured, the user can only see data that falls within those scoped resources. Access scopes support both allow and deny effects:

  • Allow scopes — The user can only see the listed resources.
  • Deny scopes — The user can see everything except the listed resources. Scopes are also configurable from Settings → Permissions.