ERPNext has a role-based permission system, which means that you can assign Roles to Users, and permissions on Roles.
ERPNext has a very powerful permission structure that will allow you to set permissions right up to the field level.
Permissions are applied on:
When you define a “match” rule, the User will only be allowed to access (or write) the document if the User has one or more such values (e.g. Company, Territories) and the document has the same values. For example, if you have set a match rule on Sales Order for a particular Role based on “territory”, then all users of that Role will only be allowed to view Sales Orders of that Territory. Let us walk through an example.
ERPNext comes with pre-set permission rules that you can change anytime by going to
Setup > Users and Permissions > Permission Manager
The Permission Manager is an easy way to set / unset permission rules. The Permission Manager allows you to monitor rules per Document Type.
When you select a document type from the drop-down. You will see the rules that have already been applied.
To add a new rule, click on “Add a New Rule” button and a pop-up box will ask you to select a Role and a Permission Level. Once you select this and click on “Add”, this will add a new row to your rules table.
To edit rules, just check or uncheck the boxes stating the permission level and Role and click on “Update”.
To delete a rule, just uncheck all the boxes of the row and click on “Update”
To set “match” rules, select the drop-down in the last column. For example, you want to restrict Users of Role “Sales User” by Territories in Sales Order.
In the same way, add a row for each user.
Note 1: The “match” rules apply to all documents that you have matched by Territory.
Note 2: You can set multiple rules for the same User. In this example, you can set a User to access more than one Territories.