Table of Contents
Introduction
...
The LogiSense Billing Salesforce integration 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
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 and . These instances will be called out in the steps below.
LogiSense Billing Configuration
- Owner Currencies Configuration: Owner Currencies
Must match values in Salesforce - Regional Settings: Countries (Country country and State state relationships, city is optional)
Must match values in Salesforce - Accounts: Contact Types and Contact Points
- Add an additional contact point to each contact type
- Name = sfdcid
- Data Type = Text
- Allow Multiple = False
- Required = False
- Add an additional contact point to each contact type
- Accounts: Account Status Types
- Accounts: Account Types
Must match values found in Salesforce (Account "Type" field) - Billing: Bill Groups
- Dunning Process: AR Terms
- Custom Field ConfigurationFields
- Account
- Account;
- Entity = Account
- Field Type = String(255)
- Name = sfdcid
- Column Name = sfdcid
- Description = Salesforce Account Id
- Layout = Account Settings (optional)
If any additional fields are required to be synced to LogiSense during an account sync they should be added as well. Keep in mind when creating custom fields in LogiSense that the column name must match the Salesforce's native or custom field's API name.
- 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
Note: Any additional custom fields on package frequencies will not be sync to Salesforce.
- Account;
- Packages
- Only packages / package frequencies that are "Active" will be synced to Salesforce
- IMPORTANT!
- 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.
- If a package was already synced to Salesforce and then becomes inactive on the LogiSense side and resynced, it will be disabled on the Salesforce side and not available to be added to opportunities.
- Any package services whose Status pricing is NULL will not be synced to Salesforce.
- Rate plans (if applicable) must be attached at the package service level
- Contracts (if applicable) must be attached to the package frequency
- There should be a value in the SKU field. This field is mapped to the Product Code native field on the Product object in Salesforce. When a product is added to an opportunity a unique LogiSense Package Product Code will be assign to the opportunity product (SKU-ID). For example, if the SKU was ABC the product code will become, ABC-1. The next product added to any opportunity would be "SKU"-2, and so on. If no SKU is provided in LogiSense Billing and the product catalog is synced with Salesforce, then the product code for each product added to an opportunity would become, -1, -2, -3, ... (no SKU prefix).
- Select the correct Product Family custom field value on the package frequency.
- The current Salesforce app doesn't support tiered pricing. The package will be synced however the tiered structure will not be displayed in Salesforce.
- IMPORTANT!
- Only packages / package frequencies that are "Active" will be synced to Salesforce
- Optional Configuration depending on deployment
- 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)
...
- Enable Multiple Currency Support
Must match values in LogiSense Owner Currencies - Enable Country State Picklist Support
Must match values in LogiSense Regional Settings - Add LogiSense instance URL to Remote Settings
- Product Family Picklist
Must match values in LogiSense Package Frequency Custom Field "Product Family" - Account Type Picklist
Must match values in LogiSense Account Types
Salesforce (post app installation)
- Install the latest version (v1.9) of the Salesforce for LogiSense App in either Product or Sandbox, (Classic or Lightning).
Production:https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1U000007Y1PO
Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04t1U000007Y1PO
IMPORTANT! If this is the first time installing the app on a fresh Salesforce instance follow the steps below during the install processSelect the third option "Install for Specific Profiles".
- Select the profiles which will have LogiSense Standard User vs. LogiSense Standard Admin permissions. It is recommended that these permission profiles be set up on custom profiles that you have set up for your standard users vs. administrators.
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.
After installing the app switch to either LogiSense Lightning or LogiSense
NOTE
Note: The the following will assume that you are creating a custom section for all LogiSense related fields. However, you can mixed the fields in with existing one on your current layouts. ID fields are not required and used mainly for testing and support. All other fields require values and therefore must be added to your layouts are you can create a custom trigger that sets default values.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
Sync With LogiSense
Contact Object Layout
Create a new section, "LogiSense" and add the following fields:
Contact Type
LogiSense Id
Contact Point LogiSense Ids
Address LogiSense Id
Opportunity Layout
Create a new section, "LogiSense" and add the following fields:
LogiSense Id
Buttons or Mobile & Lightning Actions
Sync With LogiSense
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:
OpportunityProductServicesListing (Scrollbars)
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
...
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:
...
Once Accounts and Contacts have been synced between both systems, changes to either of these objects within Salesforce will automatically create a LogISense 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.
...
- 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
...
- 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
...
- Navigate to the LogiSense Integration tab
- Click on the Contact Point Mapping button
- Select the LogiSense Contact Type from the dropdowndrop 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.
...