Enhance Odoo's CRM with custom fields, workflows, and automation to better track leads, customer interactions, and sales pipelines.
Before implementing any functionality, we need to create the basic structure of our customized module.
CRM Customization
__init__.py
, __manifest__.py
models
name.views
name.You need to provide basic description of the module, assert authorship, and choose a distribution license.
dictionary
with the following info:Adding icon to represent the app.
Your customer needs to classify leads/opportunities by their business type for better segmentation and targeted sales approaches.
res.partner
model as the following:Your customer needs to make Phone No mandatory for (Company) and Mobile No mandatory for (Individuals)
CRM → Sales → Customers
res.partner
model as the following:company_type
= companycompany_type
= individualAdd an auto-generated unique sequence number to each lead/opportunity.
CRM → Sales → My Pipeline
crm.lead
model to add the sequence field and do the followingYour customer needs to ensure each user can only see their own CRM leads and contacts
crm.lead
(Leads/Opportunities) and res.partner
(Contacts)Your customer needs to have an automatic locking mechanism for CRM opportunities when they are moved to the "Won" stage, preventing further modifications by standard users while allowing read-only access.
CRM → Sales → My Pipeline
Your customer needs to automatically set the title of opportunities in the Odoo CRM module to the name of the selected company.
CRM → Sales → My Pipeline
crm.lead model
do the following:Your customer needs to implement a validation mechanism in the CRM to restrict users from entering invalid phone numbers. The system should ensure that only valid phone number formats are accepted.
CRM → Sales → My Pipeline
crm.lead model
do the following: