Understanding User and Role Permissions in ERPNext: A Step-by-Step Guide

In ERPNext, every user is assigned a role, and each role has specific access to certain DocTypes. This structure ensures users only see and work with the data relevant to their job.

Basic Concept:

User: A person who logs into the system E.g.Sales User, Accounts User, Purchase User, Stock User etc

Role: Defines what a user is allowed to do E.g.Sales User can create Quotations and Sales Orders

DocType: Any module or document in ERPNext E.g.Quotation, Sales Invoice, Purchase Order

Role Permissions: Set through the Role Permission Manager, these control what actions (Read, Write, Submit, etc.) a role can perform on a specific DocType.

Flow Summary (as shown in the diagram):

  • A User is assigned one or more Roles

  • A Role defines access to specific DocTypes

  • Permissions are managed using the Role Permission Manager

This system ensures secure, role-based access throughout ERPNext.

How Role Permissions Work in ERPNext

Once a role is assigned to a user, you control what that role can do using the Role Permission Manager.

🔧 What is the Role Permission Manager?

It is a tool in ERPNext used to define what actions a role can perform on a particular DocType — like Sales Invoice, Purchase Order, Customer, Territory etc.

Option What it allows
Read View the document
Write Edit the document
Create Make new records
Delete Remove records
Submit Submit finalized documents
Cancel Cancel submitted docs
Amend Make changes after cancellation
Report View reports
Export / Import Download/upload data
Set User Permissions Allow setting custom access for users
Share Share document with others
Print Print or generate PDF
Email Send document via email
Only if Creator Restrict access to records created by that user

🔍 Let’s See a Use Case: Sales User Has Only “Create” Permission

🧑‍💼 Scenario:

Kanishka is a Sales Executive with the Sales User role.

Currently, the role has only one permission for the Territory DocType:

✔ Create

❌ Read

❌ Write

❌ Others

Kanishka logs in and tries to open the Territory list, but receives an error message.

🧩 Why This Happened:

With only Create access:

User can open the form to create a new record But cannot view:

  • The list view

  • The record she just created

  • Any existing data

This causes an error when user trying to access the Territory.

✅ Solution: Add “Read” and “Write” Permission

Steps to fix:

Go to Role Permission Manager

Select Territory as the DocType

Choose Sales User

Enable: ✔ Read ✔ Write

Save

🎯 Result: Now, Kanishka can:

  • View the Territory list

  • Access and edit her records

  • Create new Territories without errors

✅ How to Set Up User Permission

User Permission: Restrict the user to a specific value from a DocType. E.g.: Arun should have access only to the "Mumbai" Territory out of all Territories

Follow these simple steps:

Go to: User → User Permissions

Click on ➕ Add User Permission

Fill the following:

User: arun@test.com

Allow: Territory

For Value: Mumbai

💾 Save

Now Arun is restricted to Mumbai only when using Territory fields.

🔍 How to Verify: Open the report: Permitted Documents for User

Enter:

Doctype: Territory

User: arun@test.com

✅ Result: It will only show Mumbai in the list

🎯 Benefit: This makes sure your users only work on the data relevant to them. No confusion, no unauthorized access. Helps maintain clean workflows, data security, and department-wise separation.

✅ Conclusion

Understanding and configuring User, Role, and Permissions in ERPNext is essential to maintain data security, ensure role-based access, and support smooth business operations.

With:

Role Permissions, you define what a role can do (Read, Write, Create, etc.)

User Permissions, you control which records the user can access

Properly setting these ensures that:

Users only see what they’re meant to

Errors are avoided

The system remains clean, secure, and efficient

🔐 Right Access for the Right People — that’s the power of ERPNext Permissions!

Discard
Save
This page has been updated since your last edit. Your draft may contain outdated content. Load Latest Version

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on