SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Migrating CPQ to Advanced Calculator and JSQCP
January 25, 2019 | 11:00 a.m. IST
Satya Sekhar
Developer Evangelist,
Salesforce
Awanish Shukla
Lead Architect,
Girikon Solutions
Sonika Tomar
Salesforce Consultant,
Girikon Solutions
Forward-Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any
such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could
differ materially from the results expressed or implied by the forward-looking statements we make. All statements
other than statements of historical fact could be deemed forward-looking, including any projections of product or
service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding
strategies or plans of management for future operations, statements of belief, any statements concerning new,
planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and
delivering new functionality for our service, new products and services, our new business model, our past operating
losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting,
breach of our security measures, the outcome of any litigation, risks associated with completed and any possible
mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our
ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and
successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and
selling to larger enterprise customers. Further information on potential factors that could affect the financial results
of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our
quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important
disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are
not currently available and may not be delivered on time or at all. Customers who purchase our services should
make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no
obligation and does not intend to update these forward-looking statements.
Go Social!
Salesforce Developers
Salesforce Developers
Salesforce Developers
The video will be posted to YouTube & the
webinar recap page (same URL as registration).
This webinar is being recorded!
@salesforcedevs
Have Questions?
• Don’t wait until the end to ask your question!
• Technical support will answer questions starting now.
• Respect Q&A etiquette
• Please don’t repeat questions. The support team is working their
way down the queue.
• Stick around for live Q&A at the end
• Speakers will tackle more questions at the end, time-allowing
• Head to Developer Forums
• More questions? Visit developer.salesforce.com/forums
Agenda
ü Introduction to Salesforce CPQ
ü What is quote application?
ü Product and Price Rules
ü CPQ calculators
ü Migration to advance calculator
ü Quote calculator and page security plugin
ü Demo
Quote process without Salesforce CPQ
How Salesforce CPQ helps?
ü Increase quotation speed to win more sales
ü Eliminate errors while create quote
ü Do not need to remember anything(inventory) while creating the
quote
ü Auto generated document
What is CPQ?
Salesforce CPQ is a software by Salesforce for companies to provide accurate
pricing with any given product configuration scenario.
Add Product Calculate Price + Quantity + Discount Generate Quote
CPQ=
CPQ process
Product Rule
Ensures right product / package selected by Sales rep.
Types of product rules:
ü Validation Rules
ü Selection Rules
ü Filter Rules
ü Alert Rules
Price Rule
ü Price rules automatically do calculation and update quote line fields
ü Price rules updates a field on quote or quote line with a static value, field
value, or summary variable.
ü Price rules are activated during quote creation by clicking Save or Calculate
CPQ Calculators
Legacy Calculator:
✓ Runs calculation in Apex
✓ ‘Workflow Rules’ and ‘Process Builders’ to
update Quote Line fields on Quote line creation
with the Legacy Calculator
Advance Calculator:
✓ Runs in JavaScript & calls Heroku application to
run the calculation
✓ Quote-line data exists in memory
✓ Fast calculations
Migration to advance calculator
ü Price rules consideration
(https://help.salesforce.com/articleView?id=cpq_price_rule_considerations.htm&type=5)
ü Create the following picklist values for "Calculator Evaluation Event" on the Price Rule object (For
older versions)
On Initialization, Before Calculate, On Calculate, After Calculate
ü Create picklist value "Formula" on Price Condition object's "Filter Type"
ü Look into the price rules and apply proper calculator evaluation event
ü For more complex logic, we have an option to write JSQCP
ü Move logic from workflow rules & process builders to price rules
ü Review formula
ü Review the profile settings
https://help.salesforce.com/articleView?id=000270195&type=1&language=en_US
Preparation
Migration: Formula Level Changes
Supported:
ü Formula references to the Quote object
ü Relationship from the Quote object
Non-Supported:
ü Formulas like DISTANCE(),GEOLOCATION(),GETSESSIONID(), Global
variables (variable beginning with $)
ü Relationship from the Product object
ü Third level reference field
( for example: quote>opportunity>contract.field__C)
ü Standard fields on standard objects
Getting Started with JSQCP
JavaScript quote calculator plugin(JSQCP):
ü Moving complex logic to JSQCP
ü Workflow & process builder field update logic to price rule or JSQCP
ü Page security plugin
Things to know before starting with JSQCP
ü JSFORCE
ü Calculation sequence of advanced calculator
ü Working with promises
JSForce
https://jsforce.github.io/start/
Calculation Sequence
https://help.salesforce.com/articleView?id=cpq_quote_calc_process.htm&type=5
References
Javascript Quote Calculator Plugin (JSQCP)
ü onInit
ü onBeforeCalculate
ü onBeforePriceRules
ü onAfterPriceRules
ü onAfterCalculate
Promises
var promises = [];
promises.push(
conn.sobject("opportunity")
.select("*")
.where({ Id: quoteModel.opportunityid})
.execute(
function(err, records){
if (err) {
return Promise.reject (
new Error('Error querying data’)
);
}
return records;
Promise.resolve();
}
)
);
Adding more promises
promises.push(
conn.apex.post("/api", body, function(err, res) {
if (err) {
console.error(err);
return Promise.reject(err);
}
return res;
Promise.resolve();
})
);
Calling multiple promises at once
Promise. All(promises).then((data) => {
console.log(data[0]);
console.log(data[1]);
});
Page Security Plugin
export function isFieldEditable(fieldName, line){
if(fieldName == SBQQ__AdditionalDiscount__c)
{
return false;
}
return null;
}
Demo
Requirement 1: If product quantity >50 then apply 50 % discount
Requirement 2: Page security plugin implementation
Requirement 3: Flat 10% discount for new customer
Q & A
Try Trailhead: trailhead.salesforce.com
Join the conversation: @salesforcedevs
Join Trailblazer Community Group: bit.ly/webinarinapac
Survey
Your feedback is crucial to the success of our
webinar programs. Please fill out the survey at
the end of the webinar. Thank you!
Migrating CPQ to Advanced Calculator and JSQCP

Weitere ähnliche Inhalte

Was ist angesagt?

Salesforce CPQ, Orders, Contracts, Amendments and Renewals
Salesforce CPQ, Orders, Contracts, Amendments and RenewalsSalesforce CPQ, Orders, Contracts, Amendments and Renewals
Salesforce CPQ, Orders, Contracts, Amendments and RenewalsVinay Sail
 
Managing Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox ArchitectureManaging Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox ArchitectureAlexander Sutherland
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan OsgoodSalesforce Admins
 
Oracle Hyperion and Planning Public Sector Budgeting
Oracle Hyperion and Planning Public Sector BudgetingOracle Hyperion and Planning Public Sector Budgeting
Oracle Hyperion and Planning Public Sector BudgetingIssam Hejazin
 
How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… Alithya
 
Using Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecurityUsing Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecuritySalesforce Admins
 
Salesforce CPQ Quote it Fast, Sell it Right
Salesforce CPQ Quote it Fast, Sell it RightSalesforce CPQ Quote it Fast, Sell it Right
Salesforce CPQ Quote it Fast, Sell it RightCloud Analogy
 
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...Salesforce Admins
 
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptx
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptxFastTrack for Dynamics 365 Overview Partner Pitch Deck.pptx
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptxKamilaCordier2
 
CPQ - An Introduction
CPQ - An IntroductionCPQ - An Introduction
CPQ - An IntroductionSarah Baker
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planningepmvirtual.com
 
Oracle Enterprise PBCS Driver Based Planning and Budgeting
Oracle Enterprise PBCS Driver Based Planning and BudgetingOracle Enterprise PBCS Driver Based Planning and Budgeting
Oracle Enterprise PBCS Driver Based Planning and BudgetingRati Sharma
 
Change, Release, Management In-Depth vTom.pptx
Change, Release, Management In-Depth vTom.pptxChange, Release, Management In-Depth vTom.pptx
Change, Release, Management In-Depth vTom.pptxAdilPatel34
 
Best practices for salesforce cpq implementation
Best practices for salesforce cpq implementationBest practices for salesforce cpq implementation
Best practices for salesforce cpq implementationAnjali Mudgal
 
Getting started with Salesforce security
Getting started with Salesforce securityGetting started with Salesforce security
Getting started with Salesforce securitySalesforce Admins
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetupMuleSoft Meetup
 
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...Jade Global
 
Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)US-Analytics
 

Was ist angesagt? (20)

Salesforce CPQ, Orders, Contracts, Amendments and Renewals
Salesforce CPQ, Orders, Contracts, Amendments and RenewalsSalesforce CPQ, Orders, Contracts, Amendments and Renewals
Salesforce CPQ, Orders, Contracts, Amendments and Renewals
 
Managing Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox ArchitectureManaging Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox Architecture
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
 
Oracle Hyperion and Planning Public Sector Budgeting
Oracle Hyperion and Planning Public Sector BudgetingOracle Hyperion and Planning Public Sector Budgeting
Oracle Hyperion and Planning Public Sector Budgeting
 
How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways… How Do I Love Cash Flow? Let Me Count the Ways…
How Do I Love Cash Flow? Let Me Count the Ways…
 
Using Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecurityUsing Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and Security
 
Salesforce CPQ Quote it Fast, Sell it Right
Salesforce CPQ Quote it Fast, Sell it RightSalesforce CPQ Quote it Fast, Sell it Right
Salesforce CPQ Quote it Fast, Sell it Right
 
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
 
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptx
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptxFastTrack for Dynamics 365 Overview Partner Pitch Deck.pptx
FastTrack for Dynamics 365 Overview Partner Pitch Deck.pptx
 
CPQ - An Introduction
CPQ - An IntroductionCPQ - An Introduction
CPQ - An Introduction
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planning
 
Oracle Enterprise PBCS Driver Based Planning and Budgeting
Oracle Enterprise PBCS Driver Based Planning and BudgetingOracle Enterprise PBCS Driver Based Planning and Budgeting
Oracle Enterprise PBCS Driver Based Planning and Budgeting
 
Change, Release, Management In-Depth vTom.pptx
Change, Release, Management In-Depth vTom.pptxChange, Release, Management In-Depth vTom.pptx
Change, Release, Management In-Depth vTom.pptx
 
Best practices for salesforce cpq implementation
Best practices for salesforce cpq implementationBest practices for salesforce cpq implementation
Best practices for salesforce cpq implementation
 
Commerce Cloud 101
Commerce Cloud 101Commerce Cloud 101
Commerce Cloud 101
 
Getting started with Salesforce security
Getting started with Salesforce securityGetting started with Salesforce security
Getting started with Salesforce security
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetup
 
Org Merge Best Practices
Org Merge Best PracticesOrg Merge Best Practices
Org Merge Best Practices
 
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...
Case Study: Salesforce CPQ (Configure Price Quote) for Software as a Service ...
 
Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)
 

Ähnlich wie Migrating CPQ to Advanced Calculator and JSQCP

#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platformSalesforce Developers
 
Wit commerce cloud overview
Wit   commerce cloud overviewWit   commerce cloud overview
Wit commerce cloud overviewyosra Saidani
 
Detroit ELEVATE Track 1
Detroit ELEVATE Track 1Detroit ELEVATE Track 1
Detroit ELEVATE Track 1Joshua Birk
 
Easy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowEasy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowSalesforce Developers
 
Build System Performance Data Analytics Using Wave
Build System Performance Data Analytics Using WaveBuild System Performance Data Analytics Using Wave
Build System Performance Data Analytics Using WaveSalesforce Developers
 
Salesforce Lightning Supersession (TDX18)
Salesforce Lightning Supersession (TDX18)Salesforce Lightning Supersession (TDX18)
Salesforce Lightning Supersession (TDX18)Developer Force
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerSalesforce Developers
 
A Developer's Guide to Visual Workflow
A Developer's Guide to Visual WorkflowA Developer's Guide to Visual Workflow
A Developer's Guide to Visual WorkflowSalesforce Developers
 
Enhancing Your Lightning Apps with Einstein Analytics
Enhancing Your Lightning Apps with Einstein AnalyticsEnhancing Your Lightning Apps with Einstein Analytics
Enhancing Your Lightning Apps with Einstein Analyticsrikkehovgaard
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI APISalesforce Developers
 
Sales Wave Partner Update (October 19, 2015)
Sales Wave Partner Update (October 19, 2015)Sales Wave Partner Update (October 19, 2015)
Sales Wave Partner Update (October 19, 2015)Salesforce Partners
 
codeLive: Positive and negative testing
codeLive: Positive and negative testingcodeLive: Positive and negative testing
codeLive: Positive and negative testingDeveloper Force
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with LightningSalesforce Developers
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerSalesforce Developers
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018Keir Bowden
 

Ähnlich wie Migrating CPQ to Advanced Calculator and JSQCP (20)

Einstein Analytics for Developers
Einstein Analytics for DevelopersEinstein Analytics for Developers
Einstein Analytics for Developers
 
#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform
 
Wit commerce cloud overview
Wit   commerce cloud overviewWit   commerce cloud overview
Wit commerce cloud overview
 
Introduction to Einstein Bots
Introduction to Einstein Bots Introduction to Einstein Bots
Introduction to Einstein Bots
 
Detroit ELEVATE Track 1
Detroit ELEVATE Track 1Detroit ELEVATE Track 1
Detroit ELEVATE Track 1
 
Force.com Friday : Intro to Apex
Force.com Friday : Intro to Apex Force.com Friday : Intro to Apex
Force.com Friday : Intro to Apex
 
Easy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowEasy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual Flow
 
Elevate workshop track1
Elevate workshop track1Elevate workshop track1
Elevate workshop track1
 
Build System Performance Data Analytics Using Wave
Build System Performance Data Analytics Using WaveBuild System Performance Data Analytics Using Wave
Build System Performance Data Analytics Using Wave
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Salesforce Lightning Supersession (TDX18)
Salesforce Lightning Supersession (TDX18)Salesforce Lightning Supersession (TDX18)
Salesforce Lightning Supersession (TDX18)
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT Explorer
 
A Developer's Guide to Visual Workflow
A Developer's Guide to Visual WorkflowA Developer's Guide to Visual Workflow
A Developer's Guide to Visual Workflow
 
Enhancing Your Lightning Apps with Einstein Analytics
Enhancing Your Lightning Apps with Einstein AnalyticsEnhancing Your Lightning Apps with Einstein Analytics
Enhancing Your Lightning Apps with Einstein Analytics
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
 
Sales Wave Partner Update (October 19, 2015)
Sales Wave Partner Update (October 19, 2015)Sales Wave Partner Update (October 19, 2015)
Sales Wave Partner Update (October 19, 2015)
 
codeLive: Positive and negative testing
codeLive: Positive and negative testingcodeLive: Positive and negative testing
codeLive: Positive and negative testing
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with Lightning
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime Debugger
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
 

Mehr von Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mehr von Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Kürzlich hochgeladen

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Kürzlich hochgeladen (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Migrating CPQ to Advanced Calculator and JSQCP

  • 1. Migrating CPQ to Advanced Calculator and JSQCP January 25, 2019 | 11:00 a.m. IST Satya Sekhar Developer Evangelist, Salesforce Awanish Shukla Lead Architect, Girikon Solutions Sonika Tomar Salesforce Consultant, Girikon Solutions
  • 2. Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Go Social! Salesforce Developers Salesforce Developers Salesforce Developers The video will be posted to YouTube & the webinar recap page (same URL as registration). This webinar is being recorded! @salesforcedevs
  • 4. Have Questions? • Don’t wait until the end to ask your question! • Technical support will answer questions starting now. • Respect Q&A etiquette • Please don’t repeat questions. The support team is working their way down the queue. • Stick around for live Q&A at the end • Speakers will tackle more questions at the end, time-allowing • Head to Developer Forums • More questions? Visit developer.salesforce.com/forums
  • 5. Agenda ü Introduction to Salesforce CPQ ü What is quote application? ü Product and Price Rules ü CPQ calculators ü Migration to advance calculator ü Quote calculator and page security plugin ü Demo
  • 6. Quote process without Salesforce CPQ
  • 7. How Salesforce CPQ helps? ü Increase quotation speed to win more sales ü Eliminate errors while create quote ü Do not need to remember anything(inventory) while creating the quote ü Auto generated document
  • 8. What is CPQ? Salesforce CPQ is a software by Salesforce for companies to provide accurate pricing with any given product configuration scenario. Add Product Calculate Price + Quantity + Discount Generate Quote CPQ=
  • 10. Product Rule Ensures right product / package selected by Sales rep. Types of product rules: ü Validation Rules ü Selection Rules ü Filter Rules ü Alert Rules
  • 11. Price Rule ü Price rules automatically do calculation and update quote line fields ü Price rules updates a field on quote or quote line with a static value, field value, or summary variable. ü Price rules are activated during quote creation by clicking Save or Calculate
  • 12. CPQ Calculators Legacy Calculator: ✓ Runs calculation in Apex ✓ ‘Workflow Rules’ and ‘Process Builders’ to update Quote Line fields on Quote line creation with the Legacy Calculator Advance Calculator: ✓ Runs in JavaScript & calls Heroku application to run the calculation ✓ Quote-line data exists in memory ✓ Fast calculations
  • 13. Migration to advance calculator ü Price rules consideration (https://help.salesforce.com/articleView?id=cpq_price_rule_considerations.htm&type=5) ü Create the following picklist values for "Calculator Evaluation Event" on the Price Rule object (For older versions) On Initialization, Before Calculate, On Calculate, After Calculate ü Create picklist value "Formula" on Price Condition object's "Filter Type" ü Look into the price rules and apply proper calculator evaluation event ü For more complex logic, we have an option to write JSQCP ü Move logic from workflow rules & process builders to price rules ü Review formula ü Review the profile settings https://help.salesforce.com/articleView?id=000270195&type=1&language=en_US Preparation
  • 14. Migration: Formula Level Changes Supported: ü Formula references to the Quote object ü Relationship from the Quote object Non-Supported: ü Formulas like DISTANCE(),GEOLOCATION(),GETSESSIONID(), Global variables (variable beginning with $) ü Relationship from the Product object ü Third level reference field ( for example: quote>opportunity>contract.field__C) ü Standard fields on standard objects
  • 15. Getting Started with JSQCP JavaScript quote calculator plugin(JSQCP): ü Moving complex logic to JSQCP ü Workflow & process builder field update logic to price rule or JSQCP ü Page security plugin
  • 16. Things to know before starting with JSQCP ü JSFORCE ü Calculation sequence of advanced calculator ü Working with promises JSForce https://jsforce.github.io/start/ Calculation Sequence https://help.salesforce.com/articleView?id=cpq_quote_calc_process.htm&type=5 References
  • 17. Javascript Quote Calculator Plugin (JSQCP) ü onInit ü onBeforeCalculate ü onBeforePriceRules ü onAfterPriceRules ü onAfterCalculate
  • 18. Promises var promises = []; promises.push( conn.sobject("opportunity") .select("*") .where({ Id: quoteModel.opportunityid}) .execute( function(err, records){ if (err) { return Promise.reject ( new Error('Error querying data’) ); } return records; Promise.resolve(); } ) );
  • 19. Adding more promises promises.push( conn.apex.post("/api", body, function(err, res) { if (err) { console.error(err); return Promise.reject(err); } return res; Promise.resolve(); }) );
  • 20. Calling multiple promises at once Promise. All(promises).then((data) => { console.log(data[0]); console.log(data[1]); });
  • 21. Page Security Plugin export function isFieldEditable(fieldName, line){ if(fieldName == SBQQ__AdditionalDiscount__c) { return false; } return null; }
  • 22. Demo Requirement 1: If product quantity >50 then apply 50 % discount Requirement 2: Page security plugin implementation Requirement 3: Flat 10% discount for new customer
  • 23. Q & A Try Trailhead: trailhead.salesforce.com Join the conversation: @salesforcedevs Join Trailblazer Community Group: bit.ly/webinarinapac
  • 24. Survey Your feedback is crucial to the success of our webinar programs. Please fill out the survey at the end of the webinar. Thank you!