Table of Contents
Introduction
LogiSense Billing for Salesforce is implemented using an AppExchange Salesforce application which integrates LogiSense with Salesforce to sync the data related to:
Products
Product Services
Accounts and Opportunities
Contact Points
Contact Types
Currencies
States and Countries
LogiSense Records
Rate Groups
Rate Plans
Charges
Services
Service Charges
Usage Buckets
Tenants
Orders
Basically the application allows administrators to connect their Salesforce org with LogiSense Billing, pull products and product services from LogiSense Billing, and sell those products to customers in Salesforce. Sales / deal (Opportunity) and customer (Account / Contact) information is in turn pushed back from Salesforce to LogiSense Billing.
Configuration
The following section allows both LogiSense and Salesforce admins to work independently on setting up their systems. However, there are instances during setup where values must match between both systems. These instances will be called out in the steps below.
LogiSense Billing Configuration
The following items need to be configured in your EngageIP application. Screenshots are provided to indicate where the settings can be found / provide sample configuration data.
...
match
...
- Account:
- Entity = Account
- Field Type = String(255)
- Name = sfdcid
- Column Name = sfdcid
- Description = Salesforce Account Id
- Layout = Account Settings (optional)
...
- Package Frequency:
- Entity = Package Frequency Must match values in Salesforce (Product "Product Family" field)
- Field Type = String(255)
- List = True
- Lookup = False
- Allow Multiple Selection = False
- Name = Product Family
- Column Name = family
- Description = Salesforce Product Family
- Layout = Package Frequency
...
- A product will be created in Salesforce for each Package Frequency
- The product's name will be constructed by concatenating the following LogiSense fields, "PackageName PackageFrequencyName CurencyCode". For example, "ABC 1m GBP". It is important that all stakeholders are aware of this naming convention so that the names given to packages are user friendly for both Salesforce reps and LogiSense Billing Admins
...
- Product Catalog Contracts - these can be attached to package frequencies and will be shown on the Salesforce Product Object. (Custom Field: "Minimum Term", LogiSense_Minimum_Term__c)
- Usage Buckets - these can be attached to services and populate the Usage Bucket custom object installed with the Salesforce App. The connection between the usage bucket and service will also be established in Salesforce and show as a read-only "allowance" on the custom Opportunity Product Service Visual Force page
- Rate Plans - standard configuration of Rate Plan/Rate Group/Rates. These must be attached to Package Services and not Package Frequencies in order to allow Salesforce users to override rate amounts
Salesforce (Pre App Installation Process)
Although the following are called out as "pre" app installation steps these can be done after the app is installed. The important thing to make the Salesforce admin aware of is steps one and two below as these are natively disabled in Salesforce. Step two will require the most work from the Salesforce admin, especially if the have a lot of countries and states to configure. Although this is mostly a requirement for taxing and data integrity, LogiSense requires our internal IDs for Countries and States in order to add addresses correctly.
There is no mapping screen within Salesforce between LogiSense and Salesforce country/states. Instead the app relies on standard ISO codes. You are covered when it comes to countries, however keep this in mind when configuring states in both systems as the LogiSense Billing States Abbreviation value should match the Salesforce State Code value.
Info |
---|
Salesforce may change configuration options and menus at any time, if the screenshots/instructions below do not match your Salesforce UI search online for instructions from Salesforce (e.g. https://help.salesforce.com/) |
...
- in Salesforce access Setup
- Load / search for Profiles
- Clone the profiles for administrators and agents that will be using the LogiSense App. E.g. if your sales staff are using the 'Standard User' profile, clone that profile (e.g. a cloned profile named 'LogiSense Standard User')
Salesforce (app installation)
...
Select the third option Install for Specific Profiles
- Select the profiles which will have LogiSense Standard User vs. LogiSense Standard Admin permissions
LogiSense Standard User - Provides full access to all sales related objects (i.e. accounts, contacts, opportunities) however users do not have access to sync products, price books or create custom field mapping
LogiSense Standard Admin - Provides full access to the application including ability to sync products, price books, custom field mapping as well as access to API request logs - Click Install
...
Account Object Layout
...
Create a new section, "LogiSense" and add the following fields:
Tenant
AR Term
Bill Group
Account Status
Subscription Invoice Recipient
Usage Invoice Recipient
Sync With LogiSense
LogiSense ID
Parent LogiSense ID
Account Price Plan Id's
...
Create a new section, "LogiSense Invoices" and add the following Visualforce page:
InvoiceList (Scrollbars).
For more information how to configure which columns will be displayed, refer to the Account Invoice List section.
To view the invoice, click on the Invoice Name/Id in the Visualforce page on the account object and it will launch a PDF version of the invoice as it appears in LogiSense.
Buttons or Mobile & Lightning Actions
...
Contact Object Layout
Create a new section, "LogiSense" and add the following fields:
...
Contact Type
...
LogiSense Id
...
Contact Point LogiSense Ids
...
Opportunity Layout
Create a new section, "LogiSense" and add the following fields:
...
LogiSense Id
Buttons or Mobile & Lightning Actions
...
Opportunity Product Layout
...
Create a new section, "LogiSense" and add the following fields:
Minimum Term
Account Product Code Name
Create a new section, "LogiSense Product Services" and add the following Visualforce page:
...
Product Layout
Create a new section, "LogiSense" and add the following fields:
Minimum Term
Base Time Unit
Base Frequency
LogiSense Id
Product Currency
Connecting Salesforce to LogiSense
The following steps will allow you to connect your Salesforce org to the LogiSense Billing instance:
- Navigate to the LogiSense Integration tab within Salesforce
- Click on the Edit button in the top right
- Enter the LogiSense instance URL in the Endpoint URL field. This should be the same one you entered in Remote Settings
- Client Id value should be: 044b8ad6006845c29446b2f18e5b5909
- For Username and Password enter: admin
- Click Test Connection button
- Once you receive a Success response, click Save
API Logs
Each sync request between LogiSense and Salesforce is recorded on the LogiSense Requests tab in Salesforce. This screen contains records related to import of data in Salesforce from LogiSense as well as syncing of Account and Opportunities from Salesforce to LogiSense.
From this screen you can see which requests were successful vs. failed within the Status column. If a request failed, the reason can be found by clicking on the LogiSense Request Name which will show you the Request Error Logs within a related list.
Importing Data from LogiSense
There are two buttons on the LogiSense Integration tab which allow you to import data into Salesforce from LogiSense:
- Import Catalog
- Clicking on this button will import the following objects from LogiSense:
- Packages (includes all package frequencies, package currencies, pricing rules, and rate plan connections to each package service)
- Services (includes any connected usage buckets)
- Rate Plans (includes groups and rates)
- Clicking on this button will import the following objects from LogiSense:
- Import Data
- Clicking on this button will import the following objects from LogiSense:
- Account Status Types
- Account Types
- Contact Types and Points
- Countries and States
- Owners and their Currencies
- Bill Groups
- AR Terms
- Clicking on this button will import the following objects from LogiSense:
Background Data Sync
To enable background syncing navigate to the LogiSense Integration tab and click on the Start Data Sync button.
Once Accounts and Contacts have been synced between both systems, changes to either of these objects within Salesforce will automatically create a LogiSense Request Record in order to update the record in LogiSense. These records will show on the LogiSense Requests tab with a status of. Waiting and will be picked up by the Scheduler for resyncing.
For accounts changing of the following fields will trigger an automatic resync: name, type, status, bill group, AR term, parent account, usage or subscription invoice recipients, and any custom fields that were mapped between both systems. When it comes to contact updates, any changes to mapped contact fields or when a new contact is added or deleted, then a sync request will be created.
By default the scheduler in the LogiSense app is set to a 15 minute interval. In order to change this within Salesforce:
...
Remember that this only works from Salesforce to LogiSense, meaning that if any changes are made to Accounts or Contacts within LogiSense are not pushed to Salesforce. Therefore it is recommended that the Salesforce instance be the master for any Account/Contact updates or hierarchical structure.
Account Field Mapping
Additional native or custom fields from the Account object in Salesforce can be mapped in order to sync with LogiSense during account push.
...
- Navigate to the LogiSense Integration tab
- Click on the Account Extensions button
- Select the Salesforce Field
- Enter the LogiSense Field value
- Value entered in the column field for this custom field on the account entity in LogiSense
- This value cannot have spaces and must start with a lowercase letter
- Click Add Mapping button
- Continue steps 3-5 above for each field mapping
- Click Save
Package Field Mapping
LogiSense Package Frequency custom fields can be mapped to any custom fields created on the native Salesforce Product object.
Although "Product Family" is a standard field on the Salesforce Product Object you must create a custom field on the LogiSense Package Frequency entity with a column value of "family" and then map these fields within Salesforce.
To configure package frequency to product field mapping:
- Navigate to the LogiSense Integration tab
- Click on the Product Extensions button
- Enter the LogiSense Field value
- Value entered in the column field for this custom field on the package frequency entity in LogiSense
- This value cannot have spaces and must start with a lowercase letter
- Select the Salesforce field to map to
- Click Add Mapping button
- Continue steps 3-5 above for each field mapping
- Click Save
Contact Field Mapping
By default the only fields that will sync from a Contact perspective are the name, title and type fields. All other fields require mapping to be configured within Salesforce.
- Navigate to the LogiSense Integration tab
- Click on the Contact Point Mapping button
- Select the LogiSense Contact Type from the drop down
- Select the Salesforce field for each contact point
- Click Save
- Repeat steps 3-5 above for each contact type
- Once all fields across all types have been configured, click Close
IMPORTANT! All contact points for each contact type must be configured prior to syncing any accounts.
Account Invoice List
As part of the default Salesforce for LogiSense app, all account invoices in LogiSense will be reflected back to a custom Visualforce page that can be added to the Account object.
Which columns and their names is customizable form the Invoice Configuration section on the LogiSense Integration tab.
- Navigate to the LogiSense Integration tab
- Click on the Invoice Configuration button
- Select which columns you would like to see in the Visualforce page by selecting the checkbox
- Optional, rename the Label value
- Click, Save
Any changes will take effect immediately across all account layouts that have the Visualforce page.