Guide

Building custom roles — a practical example

We build a real role from scratch — a Procurement Manager who runs purchasing but never sees your margins — then a quick read-only Auditor role for filing season.

8 min read Updated June 2026

The three built-in roles cover most vendors, but as you grow you'll want roles that match exactly how your business divides work. The cleanest way to learn the custom-role builder is to build a real one — so in this guide we'll create a Procurement Manager: someone who orders stock and enters purchase bills, but who must never see what you sell at or how much you make. Then we'll knock out a read-only Auditor role in a couple of minutes.

Plan requirementCustom roles are available on Growth and Enterprise plans. On the Starter plan you have the three built-in roles — Admin, Sales Rep, and Installer — covered in Team & roles.

Overview

A custom role is just a name plus a set of toggled permissions, organised into the five categories — Sales, Inventory, Finance, Installations, and Settings. You enable what the role should do and leave everything else off. Default-deny: anything you don't switch on stays hidden.

Configuring a custom role's permission matrix.
Configuring a custom role's permission matrix.

The goal

Picture Ramesh, who manages your warehouse and supplier relationships. He needs to:

But Ramesh must not be able to:

None of the three built-in roles fit: a Sales Rep sees quotations, an Installer sees nothing useful for purchasing, and an Admin sees everything including margins. So we build a new one.

Create the role

  1. Open Settings → Team → Roles.
  2. Click New role.
  3. Name it Procurement Manager and, optionally, add a short description like "Manages stock and purchase bills; no sales or margin access."
  4. Click Create to open the permission editor for the new role.

Set the permissions

The role starts with everything off. Now switch on only what Ramesh needs, category by category:

  1. Under Inventory, enable View catalog and Edit products / stock.
  2. Under Finance, enable only the purchasing permissions — View purchase bills and Create purchase bills. Leave View margins and Record customer payments switched off.
  3. Under Sales, leave everything off — no view quotes, no create quotes, no customer financials. This is what hides your sale pricing.
  4. Under Installations, leave everything off (Ramesh isn't on the roof).
  5. Under Settings, leave everything off so he can't change company config or invite users.
  6. Click Save role.

Purchasing lives under FinanceIt's tempting to think purchase bills belong to Inventory, but in evSuryam they're a Finance permission because they carry cost figures. The trick is that purchase-cost permissions and margin permissions are separate toggles — so you can grant the first and deny the second, which is exactly what hides your selling margin from a procurement role.

The permission table

Here's the finished Procurement Manager role, permission by permission. Use it as a checklist when you build yours.

PermissionProcurement Manager
Inventory: view catalog Enabled
Inventory: edit products & stock Enabled
Finance: view purchase bills Enabled
Finance: create purchase bills Enabled
Finance: view margins— Disabled
Finance: record customer payments— Disabled
Finance: view GST reports— Disabled
Sales: view quotations— Disabled
Sales: create quotations— Disabled
Sales: view customer financials— Disabled
Installations: all— Disabled
Settings: all— Disabled

Assign and test

Creating the role doesn't give anyone access — you still assign it to people. Then verify it does what you intended before trusting it.

  1. Go to Settings → Team and either invite Ramesh fresh (see Getting started for the invite flow) or open his existing record and change his role to Procurement Manager.
  2. Ask Ramesh to log in (or use an incognito window with a test account).
  3. Confirm he can open the catalog, edit stock, and add a purchase bill.
  4. Confirm he cannot see the Quotations menu, sale prices, the margin column on the catalog, or Settings.

Always test with a real loginPermissions are enforced on the server, including on exports and PDFs — but the only way to be certain a role behaves is to log in as someone who holds it and try to reach the screens you meant to block.

A second example: Auditor

At GST filing time your CA needs to look at everything but should never change anything. A read-only Auditor role takes two minutes:

  1. Create a new role named Auditor.
  2. Enable every view permission — view quotations, view invoices, view purchase bills, view GST reports, view margins, view catalog.
  3. Leave every create / edit / delete permission off, and leave all of Settings off.
  4. Save, assign it to your accountant, and revoke it after filing season if you prefer.

The result: your CA can pull every number they need for the return without any risk of accidentally editing an invoice or changing a setting. For the full picture of how roles and financial visibility work together, head back to Team & roles.

← Back to all resources

Ready to commission more, chase less?

14-day free trial. No credit card. Set up in under 10 minutes.

See plans Start free trial