User roles and permissions

Last reviewed: 2026-08-07 · Last updated: 2026-10-12

Scope: The four built-in roles, the full permission matrix, how to build a custom role, and how to shape a role around a real job.

Update: Added the Editor role and the Webhooks permission, and updated the options on the API Credentials, Workspace Setting and People permissions.

A user role is a named set of permissions. Everyone in your workspace holds one, and it decides which modules they see and what they can do in each of them.

Most teams never need to build one. JomeInvoice creates four roles for you when your workspace is created, and for a small team those four are usually enough. Build a custom role when none of them fits the job, for example someone who needs to export but should not change anything.

Being able to see something does not mean being able to export it. Export is granted separately from View. If a role can open the Sales list but the export fails or the button does nothing, check that Export is granted on that row, not just View. This catches people out most often with auditors and accountants, whose whole job is to take data out.

The four built-in roles

Every workspace starts with these, under Settings → Workspace Settings → User Roles:

Role Description shown on screen
Owner Full access to all features and settings
Admin Full administrative access to all features and settings
Member View-only access to all modules except Activity Trail and Settings
Editor Full access to Customers, Suppliers, Sales, Purchase, Self Billed, and logs

These four cannot be changed or removed. On the User Roles list they offer only View Role, so you can open one and read what it grants, but there is no Edit or Delete. A role you create yourself offers Edit Role and Delete Role instead.

Member is view-only, and that includes exporting - a Member cannot export. If someone needs to pull data out for reporting, Member is not enough; build a custom role that grants Export on the rows they need.

Editor is for colleagues who work on documents every day. It has every option on the Sales, Self-billed, and Purchase rows and on Customers Management and Suppliers Management, so an Editor can create, edit, delete, and export there. It also has every option the Activity Trail, Consolidation Log, Import Log, and Email Logs rows offer. In Settings it can view Workspace Setting but not change it, and it has no access to People, API Credentials, or Webhooks, or to Integrations. Open it with View Role to see exactly what it grants.

Owner is a special case. It cannot be given to a colleague, and an Owner's own role cannot be changed - which is why Owner does not appear in the Role dropdown when you edit someone. There is exactly one ownership path per workspace, so for day-to-day administrative access give a colleague Admin instead. If ownership genuinely has to move, for example because the Owner is leaving the company, contact JomeInvoice to arrange the transfer.

How a custom role is put together

The Edit User Role screen is a long list of permission rows. Each row is one area of JomeInvoice, and the rows are grouped by module: Sales, Customers, Suppliers, Self-billed, Purchase, Activity Trail, Consolidation Log, Import Log, Email Logs, Integrations, and Settings.

For each row you choose what the role can do there. Most rows offer these options:

Option Meaning
None The role has no access to this area
View Open and read the records
Create Add new records
Edit Change existing records
Delete Remove records
Export Take the data out of JomeInvoice
All Everything the row offers

Throughout the rest of this guide, the full set means exactly those seven options. Some rows offer fewer, and those are listed explicitly below.

Picking more than one

View, Create, Edit, Delete, and Export combine. Choose any mixture of them on a row - View and Export together for someone who reports but never changes anything, or View, Create, and Edit for someone who works on records but should not delete them.

None and All do not combine, because each is a statement about the whole row. Choosing either replaces whatever else you had selected.

Select every one of View, Create, Edit, Delete, and Export and your selection switches itself to All. That is the same grant expressed more simply, not a change to what you chose.

Every permission row

Group Permission rows Options offered
Sales Request None, View, Export
Sales Invoices, Credit Notes, Debit Notes, Refund Notes The full set
Customers Customers Management The full set
Suppliers Suppliers Management The full set
Self-billed Invoices, Credit Notes, Debit Notes, Refund Notes The full set
Purchase Request None, View
Purchase Invoices, Credit Notes, Debit Notes, Refund Notes The full set
Activity Trail Activity Trail None, View, Export
Consolidation Log Consolidation Log None, View, Edit, Delete, Export
Import Log Import Log None, View
Email Logs View Email Logs None, View
Integrations Integrations The full set
Settings Workspace Setting, People None, View, Create, Edit, Delete, All
Settings API Credentials None, View, Create, Edit, Delete, Regenerate, All
Settings Webhooks None, View, Create, Edit, Delete, All

Some rows deliberately offer fewer options, and it is worth knowing why before you plan a role around them:

  • Sales → Request and Purchase → Request have no Create or Edit. Requests are created by your own customers on your public request page, so creating and editing them is always open to the people submitting them rather than something you grant to your staff. Sales → Request adds Export; Purchase → Request is View only.
  • Import Log and Email Logs offer only None and View. Both are logs of what already happened, so there is nothing to create or edit - and no Export, which means a read-and-export role still cannot export from them.
  • Activity Trail displays Create, Edit, and Delete, but they are greyed out and cannot be selected. It is an audit log, so the choices that mean anything are None, View, and Export.
  • Consolidation Log has Create greyed out. Consolidations are produced by running a consolidation, not by adding a log entry by hand, so the choices are None, View, Edit, Delete, and Export.
  • Workspace Setting, People, and Webhooks show Export greyed out, so it cannot be selected on them.
  • Settings → API Credentials covers the API sources in Settings → Workspace Settings → API Keys & Webhooks, and shows Regenerate where other rows show Export. View shows the API Credential section, Create allows Add API Source, Edit allows editing a source and the Purchase Module ERP Secret, Regenerate issues a new Client Secret for a source, and Delete allows Activate and Deactivate. A role cannot hold any of these without View. See Organisation, Main HQ and branches for what each action does.
  • Settings → Webhooks covers the Webhook Subscription section of the same tab. View lists your webhooks, Create allows Add new webhook, Edit allows Edit, Rotate, and switching a webhook on or off, and Delete allows Delete.

Create a user role

  1. Go to Settings.
  2. Find Workspace Settings, then click View.
  3. Click on User Roles.
  4. Click on Create User Role.
  5. Fill in Name, Description, and select the appropriate permissions for this Role.

Give the role a name your colleagues will recognise, such as "Finance" or "Purchasing", and a description that says who it is for. Both appear on the User Roles list, so a vague description makes the list harder to maintain later.

Deleting a role you no longer need

A custom role can only be deleted once nobody holds it. If anyone is still assigned to it, Delete Role stops and tells you:

This role is currently assigned to users. Please reassign or remove users before deleting.

Move those people to another role first - or remove their access if they are leaving - then delete the role. Nobody loses access silently because a role disappeared underneath them.

Give someone a role

A role does nothing until someone holds it. People are managed in Settings → People, which lists everyone in your workspace with their name, email, contact, job title, role, and status.

Invite someone

  1. Go to Settings → People.
  2. Click Add User.
  3. Enter their email address and choose the role they should hold.
  4. Click Invite.

They receive an invitation by email and appear on the list once they have accepted and verified.

Change someone's role, or remove them

Open a person from the People list to reach their Edit User page. There you can change their Role, set a Job title and Contact, and save.

The Role dropdown offers Admin, Member, Editor, and every custom role you have created. Owner is not on the list, because ownership cannot be handed over this way.

Remove access on the same page takes someone out of your workspace. Use it when a colleague leaves. Their role is not deleted - only their access.

Changing someone's role changes what they can do immediately. It does not change which branches or sources they cover, or what they are notified about - those come from the teams they belong to. See Teams: branch access, sources, and notifications.

If your workspace uses single sign-on, see Set up Enterprise SSO for how a new SSO user gets their first role.

Choosing a role shape

Start from the job the person actually does, then grant only the rows that job touches. Every row not mentioned should stay at None.

The person Give them Keep at None
Finance, issues and submits invoices Sales → Invoices, Credit Notes, Debit Notes, and Refund Notes at All, so they can create, correct, and export. Customers Management with Create and Edit, so they can fix buyer details that block a submission. Sales → Request at View, or Export if they reconcile requests All Settings rows
Accounts-receivable clerk, reads and reports but never edits View and Export on the four Sales rows and on Customers Management. Export is what makes the role useful, so do not stop at View Create, Edit, and Delete everywhere. All Settings rows
Purchasing, supplier side only Suppliers Management, the four Self-billed rows, and the four Purchase rows, at the level they need. Purchase → Request at View The four Sales rows, Customers Management, and all Settings rows
Auditor or external accountant, read plus export View and Export on Sales, Self-billed, Purchase, Customers Management, Suppliers Management, Activity Trail, and Consolidation Log. View on Import Log and Email Logs. Do not use the built-in Member role for this - it cannot export Create, Edit, Delete, and Integrations. All Settings rows
Anyone who must not change how the workspace behaves Whatever their day job needs from the module rows Settings → Workspace Setting, Settings → People, Settings → API Credentials, and Settings → Webhooks

The built-in Member role already covers the plainest read-only case, but its description is explicit that it excludes Activity Trail and Settings. If someone needs to read the Activity Trail, they need a custom role.

Before you grant Settings access

Four permissions deserve a second thought, because their blast radius is the whole workspace rather than one record.

Settings → API Credentials → Regenerate and Delete. Regenerating a source's Client Secret stops the system using that source from submitting until the new secret is put into it, and Deactivate stops it at once. Grant these only to whoever also maintains the integration. The credentials are in Settings → Workspace Settings → API Keys & Webhooks, described in Organisation, Main HQ and branches. If submissions start failing on authentication after a regeneration, API submission errors covers what to update.

Settings → Workspace Setting grants access to settings that change how invoices behave for everyone, not just for that person. Submission address, submission date type, calculation-mismatch validation, and the customer and supplier matching rules all live there. See Workspace Settings and How JomeInvoice matches buyers and suppliers for what those settings do.

Settings → People covers managing people and user access, so a role holding it can invite colleagues, change their roles, and remove their access.

Settings → Webhooks with Create or Edit lets a role decide where JomeInvoice sends your invoice status updates. Grant it only to whoever owns the receiving system. See Receive invoice status updates with webhooks.

There is no permission row for teams. Roles govern the People area, not the Team tab, so grant Settings access with that in mind. What teams do is covered in Teams: branch access, sources, and notifications.