All posts by cmsim

Wedid: Custom CPQ

Challenges:

This company earns their revenues through providing services and lab products.

Currently, all the product details e.g selling prices, promo prices are stored in different external systems. These details are not available in Salesforce.

The sales team will need to manually check for product details – product prices from different systems before adding them into the Salesforce quote. This is causing a massive backlog in the quoting process and the company is looking for a solution to expedite the process.

For example:

  1. User is going to propose Product A.
  2. The user logs in to system A to check for the selling price for Product A.
  3. Then, the user logs in to system B to check for the promo price (if any) for Product A.
  4. Once confirmed, the user includes Product A as line item in the quote.

Solution:

  1. Create a custom page in Salesforce that allows user to search for the products.
  2. Using integration and web service calls, allow user to search for the prices of the selected products from both systems through the same custom page in Salesforce.
  3. From the price search results, user can proceed by creating a quote and and quote line items.
Related Objects Product, Pricebook, Pricebook Entry, Opportunity, Opportunity Product, Quote, Quote Line Item
Components/App VisualForce, Trigger

Web Service Calls base code generated via WSDL2Apex then further modified to suit the need.

Complexity Difficult

Challenge encountered as the initial WSDL file was not compliant with WSDL2Apex requirement and necessitated adjustment before it can be parsed by WSDL2Apex.

 

Wedid: Custom Lead Convert on Related Lists

Challenges:

There are additional information being tracked by the user under leads. These information are stored in custom objects linked against the leads (the lead related list). These additional information are required to be brought over on lead conversion however,  Salesforce out-of-the-box does not convert custom related list.

Sample scenario:

There are booking records created against a lead. When the lead is converted, user will need to see these booking records under the converted record (Person account).

Solution:

  1. Create lookup fields on the custom object. Lookup fields will be against the lead and against the converted object. In the scenario above apart from the lead lookup, create a lookup to contact.
  2. Build a simple trigger to populate the contact Id into the contact lookup field when the lead is converted OR
  3. Utilize the process builder that does the same as the trigger above
Related Objects Custom object(s)
Components/App Trigger OR Salesforce Process Builder
Complexity Easy

Wedid: Custom Invoice Administration

Challenges:

This company earns their revenues through bookings services that they have planned and executed for their clients.

Their invoicing practice is to invoice all completed line items of the bookings in end of each month. For an example,  they would like to prepare the bookings and line items completed this month for invoicing.

Booking A
1) Account: Company XYZ
2) Booking Completed: 01/16/2015
3) Booking Line Items:
– Placement Booking
– Transportation Booking

Booking B
1) Account: Company ABC
2) Booking Completed: 22/16/2015
3) Booking Line Items:
– Placement Booking
– Transportation Booking

Booking C
1) Account: Company XYZ
2) Booking Completed: 01/16/2015
3) Booking Line Items:
– Placement Booking
– Transportation Booking

Booking C
1) Account: Company ABC
2) Booking Completed: 22/16/2015
3) Booking Line Items:
– Placement Booking

Solution:

  1. The line items of each bookings are set as products in Salesforce. These products must be from a single pricebook.
  2. Build a Visualforce page that allows the record search and filtering. i.e. Dates.
  3. With the results found from the search and filtering, user can choose which bookings and their line items to be processed.
  4. Once proceed, a trigger will create opportunities for each bookings and booking line items will be created as opportunity line items against the created opportunities.
  5. User can then use an app to sync the opportunities and their opportunity line items over to their accounting  system for invoicing process.
Related Objects Product, Pricebook, Pricebook Entry, Booking, Booking line item, Opportunity, Opportunity Product
Components/App VisualForce, Trigger, Breadwinner App
Complexity Difficult

Wedid: Template Auto Send

Challenges:

The users would like to have a mechanism of sending out documents from Salesforce to their clients for signature automatically.

Sample scenario:

When the quote status is set to “Presented”, a PDF quote containing all the relevant information of the quote  including the line items  will be generated and sent to the contact for signature automatically.

Solution:

  1. Install an app “Conga Composer”.
  2. Install an app “Conga Workflow”.
  3. Install an app “Docusign”.
  4. Create workflow that will be triggered by the quote status.
Related Objects Quote, Quote Line Item
Components/App Conga Composer, Conga Workflow, Salesforce Workflow
Complexity Easy

Wedid: Mass Update Product Price list

Challenges:

The client would like to run batch updates on the product price lists quarterly. They have multiple price books and different currencies for each product price

For example:

Pricebook A

  • Product Id: AE110-B
  • Product Name: Door Trim (Black)
  • Unit price in AUD: 4,200
  • Unit price in GBD: 1,500
  • Unit price in USD: 4,000

Pricebook B

  • Product Id: AE110-B
  • Product Name: Door Trim (Black)
  • Unit price in AUD: 3,900
  • Unit price in GBD: 1,000
  • Unit price in USD: 3,700

Solution:

  1. Install an app “Skyvva”.
  2. Build a job the updates the pricebook entries.
  3. Standardise the template used for the update process
Related Objects Product, Pricebook, Pricebook Entry
Components/App Skyvva
Complexity Easy

Wedid: Salesforce as Property Tracking System

Challenges

The company sells properties and property consulting services.

The company needs to use Salesforce to keep track on:

  • The list properties (Both sold and open for sale)
  • Information on property inspections (date, time, person in charge,  remarks)
  • Information on when and who that a particular property has been proposed to (properties that are still open for sale).
  • Number of properties (based on types) searched, reviewed and proposed for a each  clients.
  • Sales amount and actual sales amount

Solution:

Create custom objects to store information on properties, inspection details and proposal details. Using validations rules, lookup are controlled/filtered to only lookup for available units (open for sale). Calculation of property selling prices and consultation services prices are done by introducing formula fields.

Related Objects Opportunity, Custom objects
Components Formula Fields
Validation Rules
Report
Complexity Low

Wedid: Custom Related List Record Creation

Challenges:

The client would like to ensure that every time a project record is created, all the relevant and related default records are automatically created. The related default records created are based on the different types of options selected at the master record (see below).

Option (User selection on the master object) Related List Records (Auto created as related list records)
Option 1 Record 1
Record 2
Record 3
Record 4
Option 2 Record 2
Record 5

Solution:

Create a custom master object and a custom child object. This will act as the template placeholder.

Create a look up at the project object that looks up to the template (custom master object mentioned above).

User choose the template through the lookup field in project. All the relevant default child records will be created.

Related Objects 1X Custom Object (Master) and 1X Custom Object (Child Object)
Components Data Model Design, Apex Trigger, Apex Classes
Complexity Medium

Wedid: Custom Validation Rules on Child Records

Challenges:

The client would like to ensure that all the child records of a master record to be marked as “Completed” before the users can change any a specific value in the master record.

Solution:

Ensure that the master and child record objects are linked using master-detail relationship.

Use a roll-up summary to calculate total child records and use roll-up summary to calculate total child records with “Completed” status.

Use validation to check if these 2 roll-up summaries match. If matched allow the changes of a value in master record if not then otherwise.

Related Objects Custom Object (Master) and Custom Object (Child Object)
Components Data Model Design, Roll-up Summary, Validation Rules
Complexity Easy

Wedid: Customised Form Submission

Challenges:

The client is providing mentoring /coaching services to individuals that works in managerial positions. This client would like to provide a web form for the potential applicants to submit their application details from the website. The applicants have to fill up their standard personal details and attach their personal resumes and supporting documents for submission as well.

Solution:

Salesforce out-of-the-box web-to-lead feature does not handle attachment submission.

Setup a web form using a web form app – Form Assembly. Configure and map the relevant fields  available in the web form against the fields in lead an map the attachment field in the web form against the lead related attachment object.

Related Objects Lead and Attachment
Components Form Assembly
Complexity Easy

Wedid: Commission Calculations

Challenges

A referral agency gains profit by referring potential customers to sign up for telco services. There more than 10 contractors who are tasked to call the potential customers and sell the service to them. If a customer signs up, the referral agency will pay commission based on the type of services. At this moment, the commissions are being calculated manually in a spreadsheet and it is hard to keep track for each contractors across the whole FY.

Solution:

A solution is design to tie each service with a commission amount. When an Opportunity is closed won, the commission will be auto calculated. The user can also run a report to display a list of contractors and the total commissions that they are entitled of.

Related Objects User, Opportunity, Products
Components Formula, Validation Rules, Workflow, Report
Complexity Low