This post details integrating Salesforce orders with RPM to ensure critical data points are tracked and maintained in both systems. While the focus here is on orders, it’s important to note that additional data can also be integrated between Salesforce and RPM.
Integrating orders between Salesforce and RPM allows RPM subscribers to associate commission data with orders and reconcile expected revenue with received revenue, commonly known as revenue assurance.
For subscribers who also want to assign agents as part of the integration, this process streamlines commission management by assigning agencies to commissions when they’re received and aligns commissions with orders.
To implement this integration, you will need:
Before starting the integration, ensure you have the necessary API access and permissions for both systems:
Start by gathering details about how orders are structured and managed in both systems:
A successful integration relies on defining the source of truth for data:
To maintain synchronization between Salesforce and RPM, configure the following event triggers:
Properly mapping data between Salesforce and RPM is critical for integration success. Identify how RPM’s basic entities correspond to Salesforce entities:
RPM Basic Entity |
Description |
Supplier |
Carrier or supplier (e.g., AT&T) |
Customer |
End Customer |
Account |
Represents the commissioning account, typically an account number created under both a supplier and a customer |
Agency |
Refers to the sales partner, agent, or sales agent company. Even a single representative (e.g., John Sales) must be set up as an Agency |
Rep |
A sales partner, agent, or sales agent under an Agency |
RPM enforces stricter rules than Salesforce for basic entities to maintain a defined commission structure:
It is important to keep in mind that Salesforce doesn’t have unique naming rules. You can create accounts with the same number under the same supplier and each account would have a UID but in RPM, it would generate an error because you can’t create duplicate accounts under a supplier.
For example:
Possible |
Not Possible |
---|---|
Supplier 1 with Account 1 Supplier 2 with Account 1 |
Customer 1: Supplier 1 with Account 1 Customer 2: Supplier 1 with Account 1 |
Create unique naming rules for supplier, customer, accounts (with customer and supplier combined with the account), and agency in Salesforce to prevent multiple entities with the same name from being created.
Identify the data points in Salesforce and their pair in RPM.
An example of this field map could look like this:
Keep in mind that any structured data (ie. List fields in RPM) needs to match in both systems. RPM’s API does not allow for any creation of new list options. Any setup changes made to Salesforce order structured data or data points need to be set up in RPM.
In RPM, accounts are assigned to reps, and since multiple accounts can belong to the same customer, multiple reps could have commissions under the same customer. This will not affect the integration process but if you have a specific need to track the reps associated with the customer at the customer level versus the account level a custom object has to be created in Salesforce to track the information.
A custom entity in Salesforce can be created to track the customers from RPM instead of the default customer entity.
To prevent duplicate records and maintain synchronization, consider implementing the following rules in Salesforce:
Additionally, validate that every supplier, account, or customer in Salesforce has an RPM ID and vice versa.
RPM requires rep usernames to be globally unique across all RPM subscriptions. Consider using a combination of fields (e.g., First Name + Last Name + Salesforce ID + RPM ID) to ensure uniqueness.
Some RPM features, while useful, require careful consideration after integrating Salesforce and RPM to prevent synchronization issues:
This document has provided a detailed, non-technical overview of integrating Salesforce orders with RPM. By completing this integration, RPM subscribers can enhance their revenue assurance programs, ensuring accurate tracking of expected and received revenue.
If you are interested in integrating Salesforce and RPM, then hit this 👇.