TL;DR

Uncovering the key elements in a Salesforce setup can significantly reduce costs. Our detailed analysis of our client’s use of the Sales & Service Cloud showed that they were rarely using the Opportunity model. By switching to a Platform+ license, we cut their monthly costs by almost half.

Expanded Motivation

In today’s fast-paced business environment, efficiency is key. Salesforce, as a leading CRM platform, offers immense capabilities to neatly fit your workflows and supplement day-to-day activities, which in itself also presents challenges in optimization. Companies often find themselves navigating through a myriad of features, trying to identify what’s essential for their unique business case and operational needs.

Salesforce is known for its adaptability and ability to grow with your business, but it can be expensive. Our client in the construction space was running ~300 enterprise licenses - just to keep the lights on. Nurturing the system and adjusting it to their needs with in-house teams and external partners made budgeting a challenge from time to time. Thus, naturally, our client was looking for ways to cut costs without compromising the speed and quality of changes and improvements delivered - bordering on an impossible challenge.

In-Depth Setup Analysis

Over the years the client’s org became a behemoth of customizations of objects, flows, lwc’s and apex - varying in their degree of complexities. Investigating their core use of the Sales & Service cloud features we found that they were not using the possibilities and functions but rather diverted into an almost fully customized approach that fit their business process elegantly.

The system was built around Opportunity and Lead records, but those weren’t being used much. This led us to decide to move these processes to the already central custom Project object to simplify things for end users.

The clients Salesforce data model
The clients Salesforce data model


Most of the actual business logic already lived in the Project and its related data models.

Innovative Approach

The idea was quite simple: Move the existing business processes for opportunities and leads into projects (which served the same purpose to begin with).
The challenge was - how can we migrate successfully without halting the current users and make it a seamless experience for end-users?

Customization is a core strength of Salesforce. However, customization without a strategy can lead to inflated costs and underutilized resources. Our approach is to tailor Salesforce solutions that align perfectly with our client’s business processes and objectives.

We faced two main questions:

  • • How could we introduce these changes?
  • • How can we do it without disrupting the users?


To find an answer to those concerns we had to first start off by understanding how deep the rabbit hole goes. To be able to find a rough estimate of the time & effort needed we had to find a quick way to digest the system without diving into much details.

Using our Salesforce Developer setup we had the neat capability to search for any references to opportunities or leads

Using Salesforce Developer tools to search for opportunity references
Using Salesforce Developer tools to search for opportunity references


We began by thoroughly examining how the system depended on Opportunity and Lead references. This gave us a clear starting point for moving forward.

We drafted a concise and general plan on how to approach the project:

  • • Recreate Opportunity and Lead fields on the project
  • • Migrate all opportunity and lead data into new fields on the project (using Dataloader)
  • • Create lookup relations to reference projects throughout all affected objects (which had previous reference to Oppys or Leads)
  • • Populate all newly created project lookups on all records (using an Apex script)
  • • Migrate all relevant flows
  • • Migrate relevant apex code & tests
  • • Migrate relevant LWC, Aura and Visualforce components
  • • Deep and heavy testing


It was clear to us that this approach would yield the results we wanted overall. The only point left to address, a pretty significant one at that, was how to deliver the change without disrupting users in their daily activities.


Our Solution

The key is, that you will disrupt users - but how could that be kept to a minimum? After considering all aspects of the current setup, business needs, and processes we decided to split the problem into smaller, more manageable chunks.

We decided to take a domain perspective to solve the problem - meaning we would split and group the task into common areas that we could tackle separately. As a domain base, we used the object types that are used in automatons (flows, workflow rules, triggers, etc.) and looked at all relevant aspects that revolve around those domains

Splitting the problem into domains
Splitting the problem into problem Domains


Taking this approach allowed us to fence in the areas - thus reducing complexity, and allowing us to make a step-by-step migration towards the new data model. To our end-users, it almost seemed like nothing was changing at all, except that they now only worked within the project object.

For the actual Salesforce Development and migration work needed we naturally used the general development process using developer and UAT sandboxes to prepare the changes for each domain, one by one. Once a domain was fully tested and verified on UAT we released the migration changes.

Resulting Triumph

The technical execution involved careful planning and meticulous attention to detail. We ensured a smooth transition with minimal disruption to the daily operations of our client.

This change let us significantly lower the client’s license costs, making Salesforce fit better with their business practices and goals. It took about ~220 hours to complete, saving them roughly 10,000€ each month - seeing a return on their investment within five months.

This project also gave us a chance and a proper framework to re-visit older implementations and address technical debt to further improve the system.

Conclusive Thoughts

Is this approach right for your organization? The decision between customizing Salesforce or using its standard features depends on what your business needs.

It is always advisable to stay close to the Salesforce way as their features are, for the most part, finely attuned to work well with each other. As your business grows and changes, so do your requirements to a functioning CRM - so revisiting and challenging your current setup possibly allows you to discover ways to optimize your system and reduce costs.

Take Action

Is this approach right for your organization? The decision between customizing Salesforce or using its standard features depends on what your business needs.

Join Our Newsletter

Don't miss out on our latest Salesforce Dev News!

Related Articles

Optimizing Salesforce costs

Optimizing Salesforce costs

TL;DR Uncovering the key elements in a Salesforce setup can significantly reduce costs. Our detailed analysis of our client’s use of the Sales & Service...

Read More
Record Filter

Record Filter

TL;DR Explore the benefits of the composite pattern in Salesforce record filtering. This technique offers a novel way to manage complex conditions more efficiently, transforming...

Read More

Have Any Project in Mind?

Get in touch with us today to take advantage of our deep technical expertise in Salesforce development and bring your unique vision to life