The Chargebee package for Salesforce is not updated automatically, you must contact email@example.com to do so. To see if you have the latest version, select Setup > Installed Packages and then look up the Version Number for Chargebee for Salesforce.
Jan 15, 2019
Jan 7, 2019
Nov 20, 2018
Salesforce is a CRM platform that allows you to keep track of the leads generated, deals closed, and new customers acquired.
Chargebee integrates with Salesforce to facilitate seamless sales and subscription data integration. Chargebee will sync all your customer data including plans, subscriptions, coupons, pricing etc., with Salesforce.
It is important to perform some checks on both Chargebee and Salesforce side to allow the integration to work smoothly:
Customers in Chargebee need to have an email ID to be synced in Salesforce. If your customers do not have an email ID, they won't be synced and Chargebee will show the errors as part of the prerequisite check.
Mandatory Fields: Certain fields (whether regular or custom fields) for objects in Salesforce may have been designated as mandatory. It must be ensured that these fields are present in Chargebee, mapped to Salesforce and also populated in Chargebee to sync without errors.
Custom-Field Mapping: If there are custom fields in Salesforce that need to be mapped in Chargebee, create the fields in Chargebee under the relevant objects as per the image shown under this section. Then, contact firstname.lastname@example.org with the mapping requirement to have it configured.
Custom field mapping is all the more important if you have configured mandatory custom fields in Salesforce.
Eg. You may require comments to be entered when an opportunity is closed as lost in Salesforce. Now, when a subscription is canceled in Chargebee, the integration would attempt to update the original opportunity as closed-lost. This results in an error if the comments field has not been mapped or passed.
The user logging into Salesforce, while setting up the integration, should have access to necessary objects (say, Pricebook) in Salesforce. Based on the user's credentials, Chargebee will get access to the fields/objects and the details will be synced to Salesforce accordingly.
If Multicurrency is enabled in Chargebee, it should be enabled in Salesforce as well.
Validation rules active in Salesforce can prevent the integration from successfully creating accounts in Salesforce.
Say you have a Salesforce rule that prevents duplicate accounts from being created. Now, if Chargebee has a customer with the same name as an account already existing in Salesforce, the duplication rule prevents the integration from creating the account in Salesforce.
Also, if in Step 4 of the integration, you choose to create a new account for each customer, the above duplication rule would lead to sync errors if more than one customer record has the same company name.
Such rules must be adjusted or worked around to allow the integration to work properly.
The integration of Salesforce and Chargebee begins with the installation of the Chargebee package. The package authenticates, validates and syncs your customer information in Salesforce and Chargebee.
During the integration, the fields in Chargebee are mapped with the fields in Salesforce (with the help of standard and custom objects).
*These are created as Custom Objects in Salesforce. Read more about Custom Objects in Salesforce
Navigate to Settings > Third Party Integrations > Salesforce. Click Connect. The Salesforce login page appears. Enter the credentials and proceed.
After the credentials are validated, the package installation process begins.
When prompted, choose to install the plugin for Specific Profiles…
Scroll down and enable access to the package for the appropriate Salesforce user profiles.
You will be navigated back to Chargebee after the installation finishes.
If you run into ‘Time Out' error during the installation of the Chargebee package, navigate back to Chargebee app's Settings > Third Party Integrations > Salesforce and refresh the page after a minute.
In this step, Chargebee checks if certain prerequisites are met.
Here's the list of checks performed by Chargebee:
All the customers should have an email ID in both Chargebee & Salesforce. Without the email ID, the customer will not be synced.
When customers are synced from Chargebee to Salesforce, if the email ID is already present for any Salesforce Contact, the details for that customer are mapped to the Contact and no new records are created. If an email ID in a Chargebee customer record is present for any open Lead, the Lead is converted into an Account and Contact (contact email@example.com if you would like an Opportunity to be generated as well). The rest of the customer details are mapped to the Contact and new records are not created.
If Multicurrency is enabled in Salesforce.
If the user credentials have access to the necessary objects and fields in Salesforce.
If you have custom mandatory fields set up in Salesforce, Chargebee can send default values to such fields. To set this up, contact firstname.lastname@example.org .
Based on the checks performed, Chargebee will list the errors, if encountered:
Here's how you could fix some of the common errors during the validation process:
Set a Date: You need to set a date for Chargebee to pick the records and sync with Salesforce. Based on your choice, Chargebee will sync all the records from the date specified by you.
Next, define how the changes in Chargebee should be updated in Salesforce.
|What happens in Chargebee||You can choose what should happen in Salesforce|
|When a Customer is created||Create a new Account
Create a new Contact under an Account
|When a Subscription is created||Create a Subscription and an Opportunity
Create a Subscription but don't create an Opportunity
|When a Subscription is upgraded||Update the existing Opportunity
Create a new Opportunity and update the probability of existing Opportunity (to 0%)
Don't update the Opportunity
|When a Trial is Created or changed (from Trial to Active state)||Create an Opportunity
Don't create an Opportunity
What happens in Salesforce when a new customer is created in Chargebee is defined here. The customer details will be retained as Contact details in Salesforce along with the company name.
There are two ways of handling new customers in Chargebee
Every Subscription in Chargebee creates a subscription (custom object) in Salesforce.
Following are the scenarios as far as a subscription is concerned:
i) Create Subscription: When a subscription is created in Chargebee, you can choose to create a subscription and an equivalent Opportunity in Salesforce, or just create a Subscription but not an Opportunity
ii) Upgrade Subscription: When a subscription is updated in Chargebee, there are 3 ways of updating an Opportunity in Salesforce:
Subscription downgrades will not be updated to Salesforce
iii) Trial Subscriptions: When a trial subscription is created or changed, you can either create a zero value Opportunity in Salesforce or don't create an Opportunity in Salesforce. When the trial subscription is moved to active state in Chargebee, an Opportunity will be created in Salesforce.
When Chargebee is configured to create an Opportunity in Salesforce, Chargebee will check if there are any open Opportunities for the same Contact and map the corresponding Subscription with the Opportunity instead of creating a new Opportunity.
If there are more than one open Opportunities, the Opportunity with a matching product will be considered. If there are no matching Opportunities (with product), the most recently created Opportunity will be mapped to the Subscription and be updated with the relevant information like Products and Opportunity value.
Once the sync preferences are set, Chargebee will do a ‘Test Sync' with the first 10 records which were created on or from the date set by you. You could check how the sync reflects in your Salesforce account
The initial sync could be bumpy and you're likely to run into errors. Chargebee will give you a description of the errors. You can either resolve them and retry the sync or skip and proceed. If you choose to skip a customer record, keep in mind that the related records such as invoices, transactions will not be synced. You can always initiate a sync manually after fixing the errors with the given record.
After the test sync, you'll also find the option on Sync All Records which will initiate a sync for all records between Chargebee and Salesforce.
Once the integration has been setup, to avoid sync errors, it is recommended that you do not delete any of the Salesforce objects that Chargebee syncs to.
Auto Sync: This turns on automatic periodic syncing between Chargebee and Salesforce. The sync is done every 1 hour.
Sync Now: At any point in time, if there's a change in Chargebee that need to be reflected in Salesforce, Sync Now option will sync the changes made and update the same in Salesforce immediately.
Manage Preferences: This option allows you to update or change your sync preferences. However, the changes made after the initial setup will only take effect from the next sync onwards and will have no impact on the data that were synced previously.
Remove Integration: In case you want the integration to stop, this is the option to use. The link between Chargebee and Salesforce will be removed and will stop any further data from being synced until you set it up again. However, this will not affect the data which has been synced already.
Download: This option will download the error log (in a CSV format). This will help you sort the errors and prep the data again for sync.
Updates in your Salesforce account can be synced in your Chargebee site. Sync will take place in the background without you having to log in to your Chargebee account while working on your Salesforce Account, given Auto Sync is ON.
The following are the operations you can perform in Salesforce to sync in your Chargebee site :
|Update Payment Method||Prompts the customer to update their payment method. The customer will be redirected to Chargebee's Checkout page|
|Create Customer in Chargebee||A leads conversion to customer can be recorded in your Chargebee site|
|Create Subscription||Creates a subscription for a customer in your Chargebee site|
|Change Subscription||Make changes to a subscription for a customer in your Chargebee site.|
After setting up the integration of Chargebee with Salesforce, you will find Custom buttons of Chargebee in your Salesforce account. These buttons can be added to your existing Salesforce layout and can perform the operations ‘Update Payment Method', ‘Create Customer in Chargebee', ‘Create Subscription' and 'Change Subscription'.
You can place the buttons in the following objects in Salesforce:
Only certain operations can be carried out in the given objects and here's how it works:
|Salesforce Object||Chargebee Operation|
|Contacts|| - Create Customer in Chargebee
- Update Payment Method
- Create Subscription
|CB Subscription||Change Subscription|
There are three buttons available in Salesforce for the three Chargebee operations: ‘Update Payment Method', ‘Create Customer in Chargebee' and ‘Create Subscription'. Buttons for all three operations will be made available in your Salesforce account once the integration setup is done. Now to configure these buttons in the Salesforce Objects, follow the steps as below:
Navigate to Accounts/Contacts/Opportunities in your Salesforce Account
Select an Account or a Contact or an Opportunity and find the option Edit Layout on the left-top corner of the screen
In the ‘Account/Contact/Opportunity Layout' Menu, select Buttons where you will find the list of buttons along with the ones from Chargebee
Select the operation and drag it to the Account/Contact/Opportunity Detail section, in to the Custom Buttons box.
Save the changes you made using the Save option on the left-top corner.
If you're using Salesforce Lightning UI, Chargebee's buttons will be available in Mobile and Lightning Actions section.
Update Payment Method:
Payment methods and subscription are saved against a customer. Using this option you can prompt the customer to update their associated payment method.
An email will be sent to the customer with the link to the checkout page where they can add the payment details.
The information will be collected in Chargebee's end. Once the payment information is filed, new subscriptions can be signed up for.
If there is no customer or subscription linked to the Account, you can send a form to the customer to enter their details, the subscription they're opting for and the payment method. This will in turn create a customer, link a subscription to their Account and create an invoice and collect payment based on the payment method they saved.
This option will create a subscription for the customer from the list of plans.
Clicking on create subscription will allow you to create a subscription for the customer from your end.
However, if you want your customer to create a subscription themselves, you could use the option ‘Send Checkout Link'. This will send an email to your customer.
The checkout link included in the email will redirect the customer to the page where the Subscription details and the Customer information are pre-populated. The payment details needs to be entered by the customer in this page. However, the subscription created in Chargebee this way is reflected in Salesforce only on the next sync.
When a Subscription is created from an Account, you will be prompted to choose a Customer and an Opportunity. Choosing a Customer is mandatory. However, if you haven't chosen an Opportunity, Chargebee will create one in Salesforce by default.
When customer is created from a Contact, you will be prompted to choose an Opportunity. However, if you haven't chosen one, Chargebee will create an Opportunity in Salesforce by default.
This operation makes changes to a subscription in Chargebee through Salesforce and then syncs it back to Salesforce. You can make any combination of the following changes to a Chargebee subscription using this action:
Furthermore, these changes can be applied immediately or on the next renewal. When changes are applied immediately, you can choose whether or not to raise any prorated charges/credits for them. Moreover, when charges are raised for the changes, they can either be invoiced immediately or added to unbilled charges.
To perform Change Subscription, open the CB Subscription record in Salesforce and click on Change Subscription.
Make the changes and click on Update to save the changes.
Create Customer in Chargebee:
If there ever comes a need to save the details of a lead or a Contact in your Salesforce account as a customer in Chargebee, this option will come in handy. A new customer will be created in Chargebee based on your Customer's email ID.
In case you use Salesforce for customer acquisition and Chargebee for subscription creation & management, this is the right option for you.
Specifying the Chargebee Customer ID (available as of package v1.18)
The Customer ID is used to uniquely identify a Customer in Chargebee. You can specify this ID on the Salesforce side for every Contact synced to Chargebee.
This integration has certain limitations which will be overcome in the upcoming releases.
Is the Lightning UI framework supported?
Yes, the integration is supported in the Salesforce Classic and Lightning UI frameworks.
How do I change the Sync Start Date later?
Contact email@example.com to change the Sync Start Date you had set up initially, as the option is not currently available in the Chargebee App.
Does Chargebee support Person Accounts?
Chargebee does not support Person Account currently. However, if the feature is enabled in Salesforce, Chargebee will create Accounts in Salesforce with record type as Business Accounts.
Does Chargebee-Salesforce Integration support price overriding?
Price overriding done in Chargebee will reflect in Saleforce during one-way sync. If you're creating a subscription in Salesforce, you can define custom pricing
Will the shipping address of the subscription in Chargebee be visible in Salesforce?
Yes, the shipping address added for the subscription in Chargebee will reflect in the address section in ‘CB Subscription' custom object.