Version Control
Version | Date | Description | Author |
V0.0 |
| Draft | |
| O&G Next Step Enhancement |
1. Process Overview
Purpose
The Opportunity Management process in Salesforce enables sales and business development teams to manage commercial engagements from early qualification through to closure. It ensures structured pipeline management, visibility across GBUs, and alignment with key business rules.
Key Objectives
Standardize opportunity tracking across all GBUs
Ensure data consistency for pipeline visibility and reporting
Enforce governance through stage progression rules and automation
Enable collaboration across business units and opportunity teams while maintaining data security
Support integration with SAP for downstream processing (e.g., quotes, orders)
Scope
Applies to all BUs using Core CRM to manage commercial opportunities
Includes Opportunity object, related Products, and custom processes (e.g., forecasting, product change)
- While the core process is shared across GBUs, some fields/steps differ by business unit. These are detailed in [Section 9: GBU-Specific vs. Global Processes].
High-Level Process Flow
Opportunity Creation
Triggered manually by users
Record type selection based on user profile
Qualification
Opportunity has to be enriched with Account, Contact, Product for further progression,
Filling in stage details
Stage Progression
Each stage requires specific fields or validations (e.g., Add a contact & product before progressing to 10% stage) enforced
Stage history is tracked for performance and compliance
Closure
Opportunity is either marked Won or Lost
Lost opportunities require reason selection
Won opportunities require realized sales enrichment for next 2 years
Reporting
Opportunities are used for forecasting and performance tracking
Forecast and Realized Sales tab used for tracking both after opportunity is closed won.
Process Overview |
|---|
2. Use Cases & Personas
Key Personas
| Role | Description | Primary Responsibilities in Opportunity Process |
|---|---|---|
| Sales Representative | Primary user responsible for creating and managing opportunities | - Creates and classifies opportunities - Selects Opportunity Type - Manages stage progression and closure - Updates products, dates, forecast volumes |
| Business Development Manager (BDM) | Manages strategic or cross-GBU accounts | - Create shared or confidential opportunities - Monitor key opportunities across GBUs - Collaborate on large or multi-market deals |
| Sales Manager / Commercial Manager | Oversees team performance and pipeline | - Review team opportunities - Update forecasts - Review closed-won reasons and timelines |
| Marketing User | Supports campaign-to-lead conversion, reporting | - Review opportunity influence from marketing - Track progression from converted leads |
| Finance / Pricing Analyst (if applicable) | Controls approval gates or validates commercial terms | - Review key deals for margin - Validate pricing before final stages |
| System Integrations | External systems (e.g. SAP, CPQ tools) interacting with Salesforce | - Trigger quote/order sync - Update opportunity status from downstream ERP |
Reference Documents
Description | Document Link |
Core CRM Opportunity Management - User Training Material | |
| User Training Presentation | |
| Video Tutorials |
Opportunity Process Changes
Disclaimer
Avoid introducing GBU-specific customizations that cause divergence. The objective is to maintain a unified process for consistency and growth.
- Avoid Deharmonization: GBU-specific changes undermine the goal of a standardized approach.
- Maintenance Complexity: Customizations increase system complexity and maintenance costs.
- Scalability Issues: Divergent processes hinder scalability and future growth.
- Tracking and Reporting Challenges: Customizations complicate organization-wide tracking and analysis.
- Alignment with Organizational Goals: Changes should benefit the whole organization, not just one GBU.
Approach for Handling GBU-Specific Change Requests
- Understand the Request: Gather detailed information about the request and its purpose.
- Identify Common Needs: Look for patterns across multiple GBUs to see if the change is widely applicable.
- Assess Impact: Evaluate benefits, risks, and alignment with organizational goals.
- Engage Other GBUs: Consult other GBUs to gauge interest or potential value.
- Present Broader Perspective: Highlight the importance of consistency for organizational success.
- Suggest Alternatives: Offer solutions that address the request without adding customizations.
- Test for Applicability: Pilot the change to validate its use across different GBUs.
- Document Decisions: Clearly document the reasoning and outcomes of each change.
Final Reminder: Always consider the broader impact and prioritize solutions that benefit all GBUs while avoiding isolated change
User Roles and Permissions
Opportunity Lifecycle
Throughout the Opportunity lifecycle, key actions occur at creation, update, cloning, and stage progression, driven by specific business rules to ensure data accuracy and streamline processes.
Opportunity Creation,
- Opportunity Update,
- Opportunity Cloning,
- Stage Progression.
- Validation Rules for Data Integrity
1. On Opportunity Creation
Data Cleanup:
- Condition: When a new Opportunity is created, especially from a cloned Opportunity.
- Fields Updated:
SLV2_OPP_Competition_Known__c: Cleared (set tonull).SLV_Won_Lost_Review__c: Cleared (set to an empty string).StageName: Set to'Opportunity identification (0%)'to indicate a new Opportunity stage.SLV2_OPP_Cloned_From__c: Set to the ID of the original Opportunity if cloned.SLV_Opportunity_Lost_Reason__c,SLV4_Reason_Level_2__c: Cleared.
Customer Segmentation:
- Condition: Automatically created if customer segmentation does not exist.
- Fields Updated: Customer segmentation records created with associated fields, but no existing Opportunity fields are modified.
Assigning Team Members:
- Condition: Automatically assigns the Opportunity owner and CSR team members upon Opportunity creation.
- Fields Updated:
OpportunityTeamMemberrecords: Created withUserIdset to the owner’s ID,TeamMemberRoleto'Account Manager', andOpportunityAccessLevelto'All'(full access).
Marketing Fields Population:
- Condition: Fills in marketing fields on the Opportunity based on the primary contact’s information.
- Fields Updated:
SLV40_Marketing_Source__candSLV40_Marketing_Source_Details__c: Populated from the primary contact’s fields.SLV2_OPP_Primary_Contact__c: Set to the primary contact’s ID.
Visit Report Linking:
- Condition: Automatically links a Visit Report if applicable.
- Fields Updated:
- New
SLV4_1_OpportunityVisitReportLink__crecord:SLV4_1_OpportunityId__cset to Opportunity ID,SLV4_1_VisitReportId__cset to the related report ID.
- New
3. On Opportunity Cloning
- Data Reset:
- Condition: Automatically resets specific fields to prevent carryover from the original record.
- Fields Updated:
SLV2_OPP_Competition_Known__c: Cleared (set tonull).SLV_Won_Lost_Review__c: Cleared.StageName: Set to'Opportunity identification (0%)'.SLV2_OPP_Cloned_From__c: Set to the original Opportunity ID.SLV_Opportunity_Lost_Reason__c,SLV4_Reason_Level_2__c: Cleared.
- Cloning of Team Members and Contact Roles:
- Condition: Copies team members and contact roles from the original Opportunity.
- Fields Updated:
OpportunityTeamMemberrecords: Cloned from original Opportunity’s team members.OpportunityContactRolerecords: Cloned from original Opportunity’s contacts.
2. On Opportunity Update
Handling Ownership Changes:
- Condition: When the Opportunity owner changes.
- Fields Updated:
- Previous owner added as a team member in
OpportunityTeamMemberwithOpportunityAccessLevelset to'Read'. - New owner added with
OpportunityAccessLevelset to'All'.
- Previous owner added as a team member in
Updating Product Fields:
- Condition: When key Opportunity fields like
SLV6_OPP_GBU__corSLV7_OPP_Targeted_first_delivery_date__cchange. - Fields Updated:
SLV2_OLI_Opportunity_GBU__c,SLV_End_Use__c,SLV_Date_of_first_Sales__c: Updated to match the new Opportunity field values for product consistency.
- Condition: When key Opportunity fields like
Account Plan Linking:
- Condition: When the Opportunity is linked to an account that doesn’t yet have an account plan association.
- Fields Updated:
SLV_Account_Plan__c: Set to the account plan ID for the Opportunity’s account.
Community and Partner Sharing:
- Condition: When the Opportunity’s GBU or visibility settings change.
- Fields Updated:
community_sharing__c: Set to theAccountIdif community access is enabled for that GBU.
Region Updates:
- Condition: If the Opportunity’s account is linked to a region or country (e.g., APAC, EMEA, China).
- Fields Updated:
SLV34_2_GBU_Regions__c: Updated based on theBillingCountryorSLV_Region__cfrom the account.
GKAM Sharing:
- Condition: When visibility restrictions apply or GKAM users need access.
- Fields Updated:
OpportunitySharerecords: Sharing levels set based on GKAM rules.
4. On Opportunity Stage Progression
Product Level Validation:
- Condition: When progressing to a Closed stage (e.g.,
Closed - Won,Closed - Lost). - Fields Updated:
StageName: Blocked from setting toClosedstages without a Level 5 product. Displays an error message if validation fails.
- Condition: When progressing to a Closed stage (e.g.,
Stage and Validation Checks:
- Condition: If progressing to
Closed - Won (100%). - Fields Updated:
StageName: Restricted from setting toClosed - Wonif no CSR is part of the team. Displays an error message if no CSR team member exists.
- Condition: If progressing to
Consistency Checks for Wego ID and Innovation Delivery:
- Condition: Ensures
Innovation DeliveryandWego IDfields are consistent for cluster names when Opportunity progresses to any closing stage. - Fields Updated:
- Validates fields for consistency but does not modify them. An error message displays if mismatched.
- Condition: Ensures
Account Screening for Non-SAP Accounts:
- Condition: When Opportunity involves a non-SAP account with a type such as
Prospect. - Fields Updated:
SLV38_Screening_Status__c: Set to'Not Screened'for accounts needing screening.
- Condition: When Opportunity involves a non-SAP account with a type such as
Product Level Validation:
- Condition: When progressing to a Closed stage (e.g.,
Closed - Won,Closed - Lost). - Fields Updated:
StageName: Blocked from setting toClosedstages without a Level 5 product. Displays an error message if validation fails.
- Condition: When progressing to a Closed stage (e.g.,
Stage and Validation Checks:
- Condition: If progressing to
Closed - Won (100%). - Fields Updated:
StageName: Restricted from setting toClosed - Wonif no CSR is part of the team. Displays an error message if no CSR team member exists.
- Condition: If progressing to
Consistency Checks for Wego ID and Innovation Delivery:
- Condition: Ensures
Innovation DeliveryandWego IDfields are consistent for cluster names when Opportunity progresses to any closing stage. - Fields Updated:
- Validates fields for consistency but does not modify them. An error message displays if mismatched.
- Condition: Ensures
Account Screening for Non-SAP Accounts:
- Condition: When Opportunity involves a non-SAP account with a type such as
Prospect. - Fields Updated:
SLV38_Screening_Status__c: Set to'Not Screened'for accounts needing screening.
- Condition: When Opportunity involves a non-SAP account with a type such as
Automations
Log Next Steps (Report)
The "Next Step" field (SLV4_1_Next_Step__c) is critical for tracking actions in the Oil & Gas GBU but cannot be edited inline in reports due to its textarea format. To resolve this, the standard Log Next Step field (NextStep) will be added to reports for inline editing. Updates made in Log Next Step will automatically append to SLV4_1_Next_Step__c with a username and timestamp, ensuring efficient updates, historical tracking, and enhanced usability during monthly reviews.
Flow Name : Opportunity - Set Next Steps
Type: Record triggered flow
Key Features
Inline Editing
- Enable the Log Next Step field for direct inline edits in reports like "O&G - All Open Opportunities."
Automated Appending
- Updates to Log Next Step are appended to SLV4_1_Next_Step__c with user and timestamp metadata while preserving HTML formatting.
Eddie Bunge on 2024-11-27 12:00 PM: Follow up with client on proposal.
- Updates to Log Next Step are appended to SLV4_1_Next_Step__c with user and timestamp metadata while preserving HTML formatting.
Change Detection
- Only new or modified Log Next Step values trigger updates; identical entries are ignored.
Retain or Clear Input
- Post-save, Log Next Step can either remain visible for reference until the next report refresh or be cleared immediately to prevent duplication.
Access Control
- Log Next Step is editable only by users managing opportunities, ensuring appropriate access.
Validation Rules
APEX:
1. Product Level Validation (Stage Progression)
- Condition: When attempting to set the
StageNameto a Closed stage (e.g., "Closed - Won" or "Closed - Lost"). - Trigger: Apex checks if a Level 5 product is associated with the Opportunity.
- Message: "A Level 5 product must be included before closing this Opportunity."
- Enforcement: Trigger prevents the stage update if the condition is not met.
2. Wego ID and Innovation Delivery Consistency Check (Stage Progression)
- Condition: Opportunity is progressing to any closing stage, and the
Wego IDorInnovation Deliveryfields do not align with the expected cluster values. - Trigger: Apex validates these fields for consistency when
StageNameis updated. - Message: "Please ensure Wego ID and Innovation Delivery fields are consistent before closing the Opportunity."
- Enforcement: Trigger halts the stage update if inconsistencies are found.
Standard Validation Rules:
Group | Rule Name | Error Message | Criteria |
End Use Rules | End Use Change Rule | Add End Use in product | Triggered if the product associated with an opportunity does not have an end use specified when required. |
End Use Not Required for Solvay Energy Services | End Use field is required | Triggered for Solvay Energy Services if the "End Use" field is left empty. | |
Contact and Classification Rules | Related Contact Mandatory | Please create a Related Contact using the Related Contact button. | Triggered if no related contact is created when moving to certain opportunity stages. |
Mandatory GBU Classification for Peroxides | For GBU Peroxide the field Classification is mandatory | Triggered if GBU Classification is not completed for Peroxides. | |
Date and Status Rules | Prevent Validity Date in the Past | The CloseDate and Targeted first delivery date must not be in the past. | Triggered if the close date or targeted delivery date is set to a past date. |
Opportunity Status Restriction | Opportunity is closed and can't be updated. Please use the Need Help functionality to request assistance. | Triggered if attempting to modify a closed opportunity. | |
Confidentiality and Ownership Rules | Confidential Opportunity Restrictions | You cannot create a confidential Opportunity without the appropriate permissions. | Triggered if a user without permission attempts to create a confidential opportunity. |
Confidential MBU Owner Restriction | It is not possible to have an MBU user as the owner of confidential data. | Triggered if an MBU user is assigned as the owner of a confidential opportunity. | |
Business Unit and Product Rules | BU Change Restriction for Oil & Gas / EOR | The selected BU is not available | Triggered if selecting a BU not allowed for Oil & Gas or EOR. |
Remove Dummy Product | Please remove the dummy product and replace it by a valid reference to progress to the next stage | Triggered if a dummy product is used beyond a certain opportunity stage. | |
Opportunity Product Requirement | Add Product to opportunity | Triggered if no product is added to the opportunity. | |
Product Forecast Requirement | Stage cannot be changed as there is no Forecast available for Opportunity Product | Triggered if there is no forecast available for an opportunity product. | |
Stage Control Rules | Stage Control - Identification | Cannot change stage from 'Opportunity Identification' to 'Lab test approved and industrial testing in progress' | Triggered if trying to skip stages inappropriately. |
Stage Control - Lab Testing in Progress | Cannot change stage from 'Lab testing in progress' to any of the 'Negotiation' stages | Triggered if attempting to move to negotiation without completing lab testing. | |
Stage Control - Lab Testing Approved | Cannot change stage from 'Lab test approved and Industrial testing in progress' to 'Lab testing in progress' | Triggered if trying to revert back to a previous testing phase. | |
Stage Control - Negotiation | Cannot change stage from 'Negotiation' to 'Lab test approved and industrial testing in progress' or to 'Lab testing in progress' | Triggered if trying to move backward from negotiation to testing phases. | |
Stage Reason Rules | Stage Reason for Lost Opportunities | You need to enter a Stage Reason when Opportunity is Lost or Abandoned. | Triggered if trying to close an opportunity without specifying a reason. |
Opportunity Lost Reason | Please fill in the field 'stage reason' before closing your opportunity | Triggered if "stage reason" field is empty before closing an opportunity. | |
Won/Lost Review Rules | Won/Lost Review Requirement | Please enter Won/Lost Review and Competition Known | Triggered if "Won/Lost Review" and competition information are not filled before closing. |
Won/Lost Review on Last Stage | Won/Lost Review should be blank. | Triggered if "Won/Lost Review" is filled prematurely. | |
Source of Opportunity Rules | Specify Other Source of Opportunity | Please specify the source of opportunity. | Triggered if "Other" is selected as the origin but no details are provided. |
Agent Restrictions | Agents Cannot Close Opportunities | Agents cannot Close Opportunities. | Triggered if an agent tries to close an opportunity. |
Integration Points
Add the information on Opportunities dashboard and the impact it might have on in when changes are made
The best way to get IT support is to use the new
Service One Platform.


