Project Snapshot
| Industry | Pharmaceutical & Life Sciences |
| ERP | Odoo 18 Enterprise |
| Legacy ERP | E-Magic |
| Legacy Data | 10+ years |
| Product Catalogue | 140,000+ SKUs |
| Sales Team | 40–50 salespeople |
| Overall Workforce | 350+ employees |
| Operations | Domestic + International |
| R&D Centres | 2 |
| International Offices | 4 |
| Current Phase | CRM, Sales, Data Migration & Reporting |
| Implementation Approach | Phased ERP Transformation |
The Challenge
For a pharmaceutical company working across pharmaceutical reference standards, impurity standards, certified reference materials (CRMs), custom synthesis, analytical research, regulatory services and contract manufacturing, sales operations involve significantly more complexity than a conventional product-selling business.
The company manages a portfolio of more than 140,000 products, serves both domestic and international customers, and operates with a sales team of approximately 40–50 people.
For around a decade, the company had been using E-Magic as its legacy ERP.
Over those 10 years, the system accumulated more than 65 GB of data. As the volume of information grew, system performance became increasingly difficult to manage.
Routine operations that previously took around 15 seconds could take significantly longer depending on the amount of information involved, with some reports and data retrieval activities taking up to two minutes.
For a business where salespeople frequently need to search historical transactions, prepare quotations and respond to customer enquiries, waiting for information directly affects day-to-day productivity.
At the same time, the sales process itself had become highly specialized.
The company needed to manage:
- Enquiries arriving through multiple channels
- Product-specific salesperson expertise
- Region-based assignment
- Customer-specific pricing history
- Complex pharmaceutical product nomenclature
- Customer segmentation
- Pricing approvals
- Sales support workflows
- Visibility from enquiry through final order
Simply moving the existing process into a new ERP would not address these requirements.
The objective was to rebuild the commercial workflow around the company's actual business rules while migrating the relevant legacy data into Odoo.
A Phased Approach to ERP Transformation
Rather than attempting to replace the entire legacy system in one step, the implementation is being carried out through a phased transformation.
The first phase focused on the commercial side of the business:
Phase 1 — CRM & Sales
Completed
- CRM
- Omnichannel enquiry management
- Automated lead assignment
- Sales workflows
- Customer tiering
- Historical pricing
- Quotation management
- Sales approvals
- Sales support workflows
- CRM and sales transactional data migration
- Custom cross-functional reporting
Subsequent phases are being planned/implemented separately.
This case study focuses specifically on the completed CRM, Sales, Data Migration and Reporting scope.
1. Automating Pharmaceutical Enquiry Assignment
The Business Challenge
The company has approximately 40–50 salespeople, but not every salesperson handles every product.
Salespeople have different areas of product expertise, and enquiry allocation needs to take into account factors such as:
- Product
- Region
- Salesperson specialization
- Other business rules
At the same time, customer enquiries arrive through multiple email channels.
This creates a problem that is common in specialized B2B sales environments:
The first challenge isn't simply receiving the enquiry. It is getting the enquiry to the right person quickly.
Manual allocation creates unnecessary dependency on internal coordination and increases the risk of delays or incorrect assignment.
The Odoo Solution
We configured Odoo CRM to consolidate enquiries from multiple email channels into a centralized CRM workflow.
Custom assignment logic evaluates the incoming enquiry and automatically routes it according to the company's defined business rules, including product and regional requirements.
The result is a structured flow:

This allows the sales team to spend less time managing enquiry allocation and more time responding to customers.
Business Impact
- Faster enquiry assignment
- Reduced manual coordination
- Clearer ownership of opportunities
- Better alignment between products and salesperson expertise
2. Bringing Historical Pricing into the Quotation Process
The Business Challenge
For this business, preparing a quotation is not simply a matter of selecting a product and applying a standard price.
Salespeople often need to understand the customer's previous commercial relationship with the company.
Before determining a new price, they may need to consider:
- Previous prices offered to the customer
- Historical transactions
- Product-specific pricing history
- Customer buying patterns
- Existing commercial terms
This information is particularly valuable when dealing with a large product portfolio and established customer relationships.
The Odoo Solution
We developed a customized quotation workflow that allows salespeople to access relevant historical transaction information while preparing a quotation.
Instead of leaving historical information buried inside previous transactions, the system brings the relevant context into the current quotation process.
The workflow also supports the required pricing approval process.
This allows the salesperson to make a more informed pricing decision without leaving the sales workflow.
Business Impact
- Faster quotation preparation
- Less manual searching through historical transactions
- Better visibility into customer-specific pricing
- More consistent pricing decisions
- Structured pricing approvals
3. Customer Tiering for Smarter Sales Decisions
The Business Challenge
The company categorizes customers based on the annual value of their business.
Different customer segments therefore require different commercial treatment.
For example, the salesperson may need to consider the customer's tier when determining:
- Pricing
- Discounts
- Sales priority
- Delivery priority
- Customer management approach
Previously, such information can easily remain dependent on individual salesperson knowledge.
The Odoo Solution
We incorporated customer tiering into the Odoo sales process.
Customers are classified into defined tiers based on their business value, allowing the sales workflow to use this information as part of commercial decision-making.
This turns customer segmentation from simply a classification exercise into an operational component of the sales process.
4. Managing a Complex Pharmaceutical Product Catalogue
The Business Challenge
The company manages more than 140,000 SKUs.
In a pharmaceutical environment, a product master is significantly more complex than a conventional catalogue.
Products need to be identified and managed using a structured nomenclature, while the product record may also contain information relating to:
- Product classification
- Chemical information
- MSDS documentation
- Hazardous-product information
- Storage requirements
- Shipping requirements
- Pharmaceutical-specific attributes
- Analytical information
The company also follows a structured product-code nomenclature.
An example of an existing product code is:
SD SUI 056560
The underlying logic involves multiple levels of product identification and classification.
The Odoo Solution
We developed a customized product-code generation mechanism based on the company's existing nomenclature rules.
Rather than depending on users to manually construct product codes, the system generates the appropriate code based on the configured business logic.
This provides a consistent approach to product identification while supporting the company's large and complex product catalogue.
Business Impact
- More consistent product identification
- Reduced manual code creation
- Better product master governance
- Scalable management of a 140,000+ SKU catalogue
5. Moving from Order Confirmation to the Right Fulfilment Decision
The Business Challenge
For this pharmaceutical business, confirming a sales order is only the beginning of the fulfilment process.
Once an order is confirmed, the business needs to determine how the product should be supplied.
If the required product is already available in stock, it can be fulfilled directly.
If it is not available, the business needs to determine whether it should:
- Manufacture the product internally, or
- Procure it from an external vendor.
This decision is influenced by multiple factors, particularly lead time and price competitiveness.
The team needs to compare how quickly the internal manufacturing team can produce the product against how quickly an external vendor can supply it, while also considering the commercial implications.
Previously, this decision involved coordination across different teams and access to information from different parts of the business.
The Odoo Solution
We developed a fulfilment decision workflow within Odoo to help the business evaluate the available options after a sales order is confirmed.
The workflow considers the relevant fulfilment conditions:
This allows the business to make the fulfilment decision using structured information rather than relying entirely on manual coordination.
The workflow also provides a connection between the Sales process and the downstream operational activities required to fulfil the order.
Business Impact
- Faster fulfilment decisions
- Better visibility of available fulfilment options
- More informed make-vs-buy decisions
- Better coordination between Sales, Manufacturing and Procurement
- Improved production planning
- Reduced dependence on manual follow-up
6. Creating a Sales-to-Support Workflow
The Business Challenge
Salespeople are supported by internal team members who help them with different operational and data-related activities.
A salesperson may therefore need to assign specific tasks to members of the support team while retaining ownership of the customer opportunity.
Without a structured workflow, this can result in communication gaps and unclear responsibility.
The Odoo Solution
We configured the CRM workflow so that:
Lead / Opportunity
↓
Salesperson
↓
Support Task Assignment
↓
Support Team Execution
↓
Salesperson Follow-up
This allows the salesperson to remain responsible for the opportunity while distributing operational tasks to the appropriate support team members.
7. Migrating 10 Years of CRM & Sales History
The Business Challenge
Replacing a legacy ERP creates a fundamental question:
How do you move years of commercial history into a new system without losing the information salespeople and management depend on?
The company had used E-Magic for approximately 10 years, with more than 65 GB of accumulated data.
The objective wasn't simply to start with a clean Odoo database.
Relevant historical CRM and sales transactional information needed to remain available after the transition.
The Migration Approach
The CRM and Sales phase included migration of the relevant historical transactional data from the legacy environment into Odoo.
The migration was designed around the new Odoo data structure and the requirements of the sales workflow.
This allowed the company to transition to Odoo without completely losing the historical context required for ongoing customer and commercial operations.
Business Impact
Sales teams can continue to access historical information within the new ERP environment rather than depending on the legacy system for previous transactions.
8. Connecting CRM and Sales Through Custom Reporting
The Business Challenge
Standard ERP reports are generally organized around individual modules.
But management often needs to answer questions that cross module boundaries:
- Where did this opportunity originate?
- What was initially quoted?
- What was finally sold?
- How long did the sales process take?
- How did the opportunity move from CRM into Sales?
Looking at CRM and Sales independently doesn't provide the complete picture.
The Odoo Solution
We developed custom reporting that connects the commercial journey across CRM and Sales.
The reporting provides visibility across the workflow:

The reports can bring together information such as:
- CRM information
- Quotation value
- Final sales order value
- Process timelines
- Relevant sales information
This gives management a connected view of the sales lifecycle rather than isolated module-level reporting.
Business Impact
- Better order visibility
- Easier management analysis
- Improved traceability across CRM and Sales
Greater visibility into the movement from opportunity to revenue
Business Impact
The first phase of the transformation delivered improvements across the company's commercial operation.
Faster system response
Routine record creation and day-to-day operations now provide near-instant responses. Typical report generation and data retrieval takes approximately 4–5 seconds, compared with the previous 15 seconds to 2 minutes, depending on the operation.
Faster enquiry assignment
Automated routing helps direct enquiries to the appropriate salesperson based on product, region and other business rules.
Faster quotation preparation
Salespeople can access relevant historical pricing information within the quotation workflow.
Less manual data handling
Automated assignment, product-code generation and connected workflows reduce repetitive manual activities.
Better order visibility
Custom reporting connects CRM and Sales information, allowing management to trace the commercial journey from opportunity to sales order.
Better product master governance
The customized product nomenclature supports consistent identification across a catalogue of more than 140,000 SKUs.
A foundation for the wider ERP transformation
The completed CRM and Sales phase establishes the commercial foundation for subsequent phases of the company's Odoo transformation.
The Result
The first phase moved the company's core commercial operations from a decade-old legacy environment into Odoo 18 Enterprise, while preserving relevant historical CRM and sales information.
But the transformation was not simply about moving data from E-Magic into a new database.
The implementation translated the company's actual sales processes into system-driven workflows:

For a pharmaceutical business managing 140,000+ products, specialized sales teams and complex customer relationships, this created a more structured and responsive foundation for the company's ongoing ERP transformation.
And because the implementation is being delivered in phases, the CRM and Sales foundation can now serve as the starting point for the subsequent expansion of Odoo across the company's wider operations.


