We’ve implemented 100+ SugarCRM systems for organisations around Europe in the past few years. Having the right stakeholders giving input into the design of the system is something we emphasise during the project planning. It can make a huge difference to affecting the overall design, performance and overall success of the CRM project.
One request that often gets discussed is having a field in the Opportunity module where sales users can detail why they lost a deal. This is a great idea for post-sale analysis of lost opportunities and is a great enabler of some wide-eyed management meetings.
But, what never gets asked, and what this post is about – is “Why did we win this deal”. So many sales organisations are too focused on why they are losing without analysing why they are winning.
Hopefully, this post will inspire you to tweak the design in your system, and here is a guide to making the fields dynamic in Sugar.
Why make these fields dynamic? Two reasons really. The first, and most important, is to make the user experience of Sugar as best as can be. This means only showing the right information at the right time. The second reason is a technical one: We want these fields to be required. A user cannot save their “Won” or “Lost” opportunities without stating why. But they cannot state why until the opportunity sales stage field is set to “Closed Won” or “Closed Lost”.
So how do we do it?
Step 1 – Create your new fields. In this example, we will have two fields for extensive analysis. A dropdown, which should make reporting easy and enable some bar/pie charts to provide insight into the main categorised reasons why we are winning / losing deals. The second is a TextArea type field where the sales rep can detail some extra notes. Again, this will be reportable but won’t enable report charts.
- Module: Opportunities
- Name: “Reason Why”
- Required = Yes
- Type: Dropdown
- “Cost too high”
- “Competitor provided better price”
- “Did not match requirements”
- “The ‘need’ was not strong enough”
- “Colour was not available”
- “Our cost was better than competition”
- “Our offering met their requirements more than the competition”
- “The colour was exactly what they were looking for”
- “The customer favoured our brand image”
- “The bespoke servicing option was highly admired”
- Module: Opportunities
- Name: “Reason Why Description”
- Type: TextArea
- Required = Yes
Step 2 – Configure your layouts. Since both of these fields will be visible when “Closed Won” or Closed Lost” is selected, make sure you add them to the same row. This is the optimal way for the layout. Don’t forget to add these fields to the List View and Search.
Step 3 – Configure your SugarCRM calculated field logic. Configuring the “Reason Why” dropdown is easy. Go into the field in Studio and from the “Dependent” dropdown, select Parent Dropdown. On the next screen, drag and drop the reasons for losing the deal into the “Closed Lost” column, and similarly the same for the “Closed Won” column.
Step 4 – Defining the formula for the dependency of the TextArea field is a little more tricky, but easy if you understand typical boolean logic. In the field for “Reason Why Description”, tick the box for dependent and then select “Edit Formula”. We will use the “Or” and “Equal” functions to get this field to show when either the “Closed Lost” or “Closed Won” value is selected from the Sales Stage field. The formula we used is:
or(equal($sales_stage,"Closed Won"),equal($sales_stage,"Closed Lost"))
Save your changes.
Step 5 – Test. Create a new Opportunity record and select either Closed Won or Closed Lost from the Sales Stage field. You will see both fields appear, however, the values in the “Reason Why” dropdown will be dynamic.
Now your business will be able to analyse why you are winning business (from the sales rep’s view). It’s important to communicate that simply putting “Because the sales rep was awesome”, even if this is the case. You have to get your reps to think about real meaningful terminology and language to describe why the deal was won or lost.
Here is a video of us implementing this in one of our demo systems: