Hi everyone,
I’d like to open a discussion regarding a significant limitation in Frappe/ERPNext: the inability to change a user’s email address, as it is the primary unique identifier for a user .
This has become a recurring and frustrating issue for several of my clients. The core problem arises in two common scenarios:
-
Human Error: A simple typo is made when creating a new user’s email.
-
Employee Turnover: When an employee leaves, we need to assign their To-Dos, Leads, and assignments to a new employee. Currently, the only way to effectively do this without losing data linkage is to give the new employee the same email address and simply change the password.
As I’m sure many can appreciate, this is not a secure practice. It poses a significant risk: the ex-employee can still request a password reset and potentially regain access to the system.
The core issue seems to be that email is the unique key for everything – login, assignments, To-Dos, notifications, etc. This creates a bottleneck.
It’s a design choice that feels unnecessarily restrictive. It would arguably be better to forbid changing the username and allow for email updates, or preferably, have a separate, internal, immutable User ID for all system linkages.
Frappe/ERPNext is a sophisticated system. I am surprised that we are forced to rely on this workaround. There have been discussions about this before, and others have shared similar concerns (e.g., for LDAP implementations where employees share email addresses) .
I believe addressing this is crucial for enhancing security and user management flexibility. Has anyone found a safe and reliable way to handle this? Is this a feature that is on the roadmap for future versions?
Looking forward to the community’s thoughts and hopefully a response from the core team.
Thanks.
