Integrating Salesforce with Billing Systems for Subscription Services
For subscription service, cloud and communications providers using Salesforce, integrating Salesforce with billing is essential for an efficient and reliable Quote-to-Cash (QTC or Q2C) process.
The QTC process typically starts in a CRM system with opportunity management and quoting, and completes in a billing system after several steps, such as order processing, provisioning, and more.
While Salesforce and other CRM vendors offer their own billing platforms, many industries — such as communication service providers or utilities — often depend on external billing systems, necessitating an integration.
Subscription services — such as SaaS, telco, data center and other similar, recurring revenue services — pose additional challenges for CRM/billing integration. Subscription-specific operations such as renewals, re-rates, service add-on changes or early termination liability (ETL) calculations, require seamless coordination between CRM and billing. These transactions must be accurately reflected in the billing system and, ideally, initiated within the CRM for efficient processing.
This post describes CRM to billing integration using Salesforce, Nextian and Gotransverse billing platform; however, the concepts and general architecture will apply to other systems as well.
Why Separate CRM from Billing?
Typical reasons for separation include:
- Replacement cost: Billing systems are costly to configure & turn up and organizations are reluctant to replace them leading to their longer-than-usual lifespans.
- Scalability: Dedicated billing platforms generally perform better than CRM-based ones for large volumes of customers, bills and items.
- Functionality: Dedicated billing systems have rich functionality that CRMs lack, like CDR (Call Data Record) collection and rating, advanced billing rules, etc.
- Handling of sales taxes and regulatory fees & surcharges.
- Integration with financial systems: Billing systems have existing integrations to financial packages for receivables, payment processing, collections, bill reconciliations, etc.
Conversely, while billing systems have built-in CRM functionality, it is usually focused on post-sales account management — CRM systems are much better suited for new sales.
QTC for Subscription Services — A Quick Overview
A simplified QTC process for subscription services can be visualized as follows:
Opportunity → Quote → Order → Subscription Service → Bill
Subscription services are different from traditional “widget” sales and involve:
- Quoting various types of requests during service lifecycle (new service, change, replace, re-rate, re-term, cancel, etc.).
- Mixing various request types within a single quote (especially for wholesale).
- Handling subscription add-ons (recurring and non-recurring) and add-on changes after initial service turn-up.
- Auto-renewals processed automatically without quotes.
Systems Architecture Design
While there is little doubt what CRM or billing should do, there are multiple choices as to where order processing should happen (CRM or billing), as well as where the master subscription inventory is to be tracked.
At Nextian, we recommend keeping as much as possible in the CRM/Salesforce, due to the following advantages:
- Order Management in CRM:
- Reduces swivel-chairing.
- Eliminates one integration point (CRM to order management).
- Provides additional information to the traditional CRM users: sales reps and account managers (e.g., how many orders does a customer have, what’s in flight, risks, open support cases, etc.).
- Subscription Service Inventory in CRM:
- Enables 360° view of current and past services to sales and account management.
- Enables easy quoting of operations on existing services (upgrades, renewals, etc.).
- Customer Support in CRM:
- Eliminates one integration point (CRM or order delivery to customer support).
- Providers support teams with additional context (e.g., customer services, product types, revenue, open orders, etc.).
Important | From the architecture design standpoint, it does not matter which individual packages are used for implementation (e.g., Service Cloud vs. a custom ticketing solution), what matters is the division of responsibilities between systems. |
Nextian employs a seven-step approach for integrating Salesforce with billing:
Step 1 | Object Mapping |
This is obvious for some objects, e.g., it is highly likely that both CRM and billing will have customer accounts.
For others, such as orders, subscriptions or add-ons, it may be more difficult to determine, especially if Salesforce record types come into play.
Step 2 | Field Mapping |
Once the objects are mapped, the next step is determining which fields need synchronization/linking between systems.
For example, a Salesforce account may require a billing id or BAN (billing account number), billing cycle or others.
It is best to keep the field mapping to a bare minimum (at least initially), to minimize synchronization complexity.
For example, Nextian Gotransverse Connector only adds nine fields to the account object in Salesforce:
Important | Since, most likely, it will be easier to add new fields in Salesforce than in the billing system, it is preferable to make modifications in Salesforce — in fact, for Nextian Gotransverse Connector integration no changes were required on the billing side. |
Step 3 | Manual Synchronization Actions |
Please note that data migration and product synchronization have not been mentioned just yet. These are likely the very first topics that come to mind for people who are experienced with billing systems integrations. However, these can only be determined after the overall solution design has been determined and they will be addressed in later steps.
The objective of this step is to build UI actions (in this case Salesforce quick actions) helping to achieve end-to-end synchronization process in a manual fashion. This is to test the business logic before automating it.
For instance, Nextian Gotransverse Connector adds actions like synchronization, open, query for each integrated object:
Salesforce-Billing Communication Manual synchronization is the first step requiring communication with the billing system. Using REST API is recommended, as:
Since REST calls are metered in Salesforce, it is important to “bulkify” them during implementation and use other tools like Data Loader for mass data import/initial synchronization. |
Step 4 | Process Flow Design |
This step is closely related to synchronization actions and looks as follows:
Initial product/account configuration → Run orders end-to-end via manual actions → Automating the process in the flows
It is important to start small and once all the details have been sorted out, automate from there.
Step 5 | Process Automation |
Automation can be implemented in Salesforce using process flows, APEX triggers, batch jobs and others.
Nextian implements automation via work order workflows and automated (code) tasks enabling APEX execution, which in turn communicate with other systems.
Work order templates are a part of the product catalog and are defined operation type, product and optionally other criteria e.g., New ‘Virtual Server’, Cancel SIP Trunk.
Nextian Gotransverse Connector provides an APEX library for building automated tasks for order creation, starting orders, manipulating add-ons and other billing operations.
Step 6 | Product Catalog Synchronization |
Once the process flows have been designed, it is time to address the full product catalog synchronization. The most important question is where to keep the master product catalog? At Nextian we found the following to work best:
- Keep master product catalog in the billing system (products/add-ons/fees).
- Pull the catalog to Salesforce.
- Enrich the catalog in Salesforce with items like workflows and other Salesforce-specific data that either serves quoting or order processing.
- Enable continuous synchronization of Salesforce product catalog from billing.
Step 7 | Initial Data Synchronization |
Apart from the product catalog, typically a lot of other data must be synchronized before go-live, such as accounts (billing accounts need to be linked to their CRM equivalents), subscriptions, etc.
This synchronization is best done using bulk loading and migration tools such as Data Loader.
Other Important Considerations — Customer Self-Care
Customer self-care is an essential component of quote-to-cash process. Its implementation is important for planning CRM/billing integration as the portal needs to handle subscription and billing data (invoices, payments, pay my bill, etc.) as well as CRM data (account, current orders, etc.).
Conclusions
Integrating Salesforce with billing is essential for an efficient and reliable Quote-to-Cash (QTC or Q2C) process, especially involving recurring revenue subscription services such as SaaS, telco or data center offerings.
CRM and billing are often separate — billing systems typically operate outside Salesforce due to their specialization in specific industries, ability to handle higher data volumes, integration with third-party systems like ERP or tax engines, and other industry-specific requirements. This separation creates the need for robust Salesforce-billing integration.
The approach outlined above serves as a proven blueprint for CRM/billing integration, validated through successful projects. This blueprint is also used by Nextian Billing Integration Framework enabling out-of-the-box Integrating Salesforce with billing with several popular billing systems.
Contact us today to find out how we can help you!