I have having been testing out the CRM module in ERPNext as part of a client implementation project. It seems the process flow is very confusing (buggy at times) and it is not clearly documented. I have worked with various CRM products (Zoho, Salesforce, NetSuite, HubSpot, etc.) in the past 12+ years and from my experience I can say that ERPNext’s CRM module definitely has a lot of scope of improvement.
In this post, I’ll try to elaborate the issues faced and possible solutions.
ERPNext’s CRM module has 6 primary objects as given below;
A new lead is created
When a new lead is created, the system will automatically create a new contact (this is the biggest issue)
From this lead, the user can take 4 actions:
- Create Customer
- Create Opportunity
- Create Prospect
- Create Quotation
- There’s also an additional action called “Add to Prospect”
The sales user who is in charge of processing the leads and “converting” them is now confused in terms of what action to take. I understand that a defined process can be enforced but if the company has a team of 20+ sales executives, it will be difficult to enforce and maintain such a process.
The biggest problem with the above process is that contacts are created at the time of lead creation.
Contact creation is typically a part of the “lead conversion” process wherein you “convert” the lead into an “account (customer)” and the associated “contacts”
Not all leads will be valid (almost 60-80% will be junk leads collected from various sources like data mining, website forms, conferences, etc.) and so it makes no sense to create contacts in the system which are invalid.
A lead need not necessarily have fully verified data but when you “convert” the lead, the “account” and “contacts” ought to be verified as you only convert the lead post interaction with the lead.
Also, there is no clear indication of whether the “opportunity” is to be linked to a lead or a prospect and what exactly is the intended use case of separating out the “Add to Prospect” functionality?
In most popular CRM systems, the process of lead conversion is extremely simple and standardized 3 step process.
Create a Lead → Convert the lead into Create an Account (company) & Contact (person) → Create Opportunities / Quotations
Ref: Create and Convert Leads as Potential Customers Unit | Salesforce
Most of the other popular CRM systems out there follow this exact, tried and tested process of lead conversion.
The advantage of this process is that it has a clear hierarchy, move ahead in a linear fashion and avoids any cyclical redundancy between the objects (leads, contacts, prospects, opportunities, customers, quotations, etc.)
- Disable the auto-creation of “contact” when a new “lead” is created.
- Role of “Prospect” object should be clearly defined. I think creation of prospect should be optional.
- Lead actions should be restricted. Eg: You cannot directly create an opportunity for a lead without first “converting” the lead into either a prospect or (account + contact)
- The lead form should have a clearly defined “Convert Lead” button which will open a pop-up box from where the lead can be converted into a customer/contact/opportunity (refer the Salesforce pop-up box image above)
Let me know what do you guys think.
PS: I looked in the forums and the “automatic contact creation” has already been reported here but it seems it has not been worked upon
There’s also a GitHub issue for the buggy Prospects functionality