Understanding Frappe User Permissions: A Comprehensive Guide
In any business application, managing who can access what is critical for security, compliance, and operational efficiency. Frappe, the open-source framework behind ERPNext, offers a robust and flexible permission system that allows administrators to fine-tune access controls. Let's dive into the details of how Frappe's permission system works.
The Permission Hierarchy
Frappe's permission system is built on several interconnected components:
User Management
User Types
Frappe allows you to classify users into different types, each with its own set of default permissions:
Each user type has predefined role assignments that can be further customized.
User Setup
When creating a new user, you'll define:
Role-Based Access Control
Roles
Roles are the cornerstone of Frappe's permission system. A role is a collection of permissions that define what actions a user can perform on specific DocTypes (database tables).
Standard roles in Frappe include:
Role Profiles
Role profiles streamline user setup by bundling multiple roles together. For example, you might create:
This allows quick assignment of multiple roles to new users in one step.
Permission Settings
Role Permissions
Role permissions define what actions (Create, Read, Write, Delete, Submit, Cancel, Amend, Print, Email, Report, Import, Export, Share) a role can perform on a specific DocType.
To set up role permissions:
These permissions apply system-wide to all documents of the selected DocType.
Permission Rules
For each role-doctype combination, you can set:
Recommended by LinkedIn
Field-Level Permissions
Frappe also supports field-level permissions, allowing you to hide specific fields from certain roles.
To set field permissions:
For example, you might set salary fields to perm level 2, and only give the HR Manager role permission at level 2.
User Permissions
While role permissions define what actions users can perform, user permissions restrict which specific records they can access.
Setting Up User Permissions
For example, if you set user permission for a specific Department, the user will only see records linked to that department across all DocTypes with Department fields.
User Permission Configuration
You can further configure how user permissions work via:
Advanced Permission Features
Document Share
The Share feature allows temporary permission grants on specific documents without changing the underlying permission system.
Permitted Documents for User
This report (available under Setup > Permissions) shows which documents a specific user can access, helping administrators troubleshoot permission issues.
Role Permission for Page and Report
Beyond DocTypes, Frappe also manages permissions for:
You can configure these from the "Role Permission for Page and Report" page.
Permission System Best Practices
Troubleshooting Permission Issues
When users can't access documents they should:
Conclusion
Frappe's permission system provides granular control over who can access what in your organization. By properly configuring users, roles, and permissions, you can create a secure environment where users have exactly the access they need—no more, no less.
Mastering this system takes time, but the investment pays off in improved security, better compliance, and more efficient workflows as your organization grows.