User Types
ERPNext distinguishes between different types of users:| User Type | Description | Desk Access |
|---|---|---|
| System User | Internal employees with desk access | Yes |
| Website User | External users (customers, suppliers) | No |
| Customer | Portal access for customers | No |
| Supplier | Portal access for suppliers | No |
The roles “Customer” and “Supplier” have
desk_access = 0 by default, as configured in install.py:242-245.Creating Users
Navigate to User List
Go to Home > Users and Permissions > User or search for “User” in the search bar.
Enter User Details
Fill in the required information:
- Email: Used as username and for notifications (must be unique)
- First Name: User’s first name
- Last Name: User’s last name
- Send Welcome Email: Check to send login credentials
Assign Roles
Add roles in the Roles table to grant permissions. Multiple roles can be assigned to one user.
Set User Permissions (Optional)
Restrict user access to specific companies, warehouses, or other documents using User Permissions.
Employee Records
Employee records link system users to HR data and enable employee-specific permissions.Creating an Employee
Fill Basic Information
- First Name, Middle Name, Last Name: Employee’s full name
- Company: The company the employee belongs to
- Date of Joining: Start date
- Status: Active, Inactive, Suspended, or Left
Link to User (Optional)
Set User ID to link this employee to a system user account. This enables:
- Expense claims
- Leave applications
- Attendance tracking
- Task assignments
Employee-User Linking
When Create User Permission is enabled, the system automatically adds user permissions for both the Employee record and the Company. This restricts the user to only see data for their company.
Employee Status Validation
Role Profiles
Role Profiles are pre-configured sets of roles for common job functions.Default Role Profiles
ERPNext creates these role profiles during installation:Assigning Role Profiles
Select Role Profile
In the Role Profile field, select a pre-configured profile (e.g., “Accounts”, “Sales”, “Purchase”).
Role Profiles are templates. Changing a role profile after assignment won’t automatically update existing users - you need to reassign the profile.
User Permissions
User Permissions restrict which documents a user can access based on specific values.Common Use Cases
Restrict by Company
Restrict by Company
Limit a user to only see transactions for one company in a multi-company setup.
Restrict by Warehouse
Restrict by Warehouse
Limit a warehouse user to only their assigned warehouse.
Restrict by Territory
Restrict by Territory
Sales users can only see customers and transactions in their territory.
Restrict by Employee
Restrict by Employee
Employees can only view their own records and related documents.
Creating User Permissions
Create New Permission
Click New and fill in:
- User: Select the user to restrict
- Allow: Select the DocType (e.g., Company, Warehouse)
- For Value: Select the specific document (e.g., “Wind Power LLC”)
- Is Default: Check if this should be the default value in forms
Permission Rules
Permission rules define what actions users with specific roles can perform on DocTypes.Understanding Permission Levels
| Permission | Description |
|---|---|
| Read | View documents |
| Write | Edit existing documents |
| Create | Create new documents |
| Delete | Delete documents |
| Submit | Submit documents to lock them |
| Cancel | Cancel submitted documents |
| Amend | Amend cancelled documents |
Customizing Role Permissions
Modify Permissions
For each role:
- Check/uncheck permission boxes (Read, Write, Create, etc.)
- Set permission level (0-9) for field-level permissions
- Define conditions using “If Owner” or “User Permission” filters
Best Practices
Security
Organization
- Create role profiles for common job functions
- Use consistent naming conventions for employees and users
- Document custom permission rules
- Regularly clean up inactive user accounts
- Link employees to users for better reporting
Employee Management
- Always fill in complete employee information
- Keep employment status updated (Active/Inactive/Left)
- Use the Reports To field to build organizational hierarchy
- Enable user permissions for employees who need restricted access