This flow syncs Salesforce contracts as NetSuite customers, billing accounts, subscriptions, and sales orders. When contracts are added/updated in Salesforce, this integration flow exports contracts from Salesforce to NetSuite customers, billing accounts, subscriptions, and sales orders.
Note: To use this flow, you must install the CPQ package. For more information on how to install the CPQ package, see Install Salesforce CPQ package.
Flow details
- Export source: Salesforce
- Built-in Listener: Get Salesforce contracts - get all recently created and updated contracts from Salesforce using triggers.
- Import destination: NetSuite
- Built-in lookup: Get Salesforce price plans - get all price plans from Salesforce by product ID.
- Built-in input filter: Get NetSuite price tiers - filter for price plan record ID that is empty.
- Built-in lookup: Get Salesforce price tiers - get all price tiers from Salesforce by price plan ID.
- Built-in import: Import NetSuite customers - add/update customers in NetSuite with the configured custom field as the lookup identifier.
- Built-in import: Import Salesforce accounts - update accounts in Salesforce with ID as the lookup identifier.
- Built-in import: Import NetSuite billing accounts - add/update billing accounts in NetSuite with the configured custom field as the lookup identifier.
- Built-in import: Import Salesforce billing accounts - update billing accounts in Salesforce with the ID as the lookup identifier.
- Built-in import: Import NetSuite subscriptions - add/ignore subscriptions in NetSuite with the configured custom field as the lookup identifier.
-
Built-in import: Import NetSuite price plans - Add price plans to NetSuite.
- preMapFunction hook: ProcessingContractNetSuitePricePlan.js - normalize data to sort the price tiers details.
- Built-in lookup: Get NetSuite subscription plan by name - get a subscription plan from NetSuite by name.
- Built-in import: Update NetSuite subscriptions - update subscriptions in NetSuite with the internal ID as the lookup identifier.
-
Built-in import: Import NetSuite sales orders - add/ignore sales orders in NetSuite with the configured custom field as the lookup identifier.
- preMapFunction hook: ProcessingContractSalesOrders.js - supports inventory type items.
-
Built-in import: Update NetSuite sales orders - update sales orders in NetSuite with internal ID as the lookup identifier.
- preMapFunction hook: ProcessingNetSuiteSubscriptionItems.js - normalize data for supported item types and line numbers.
- Built-in import: Import Salesforce contracts - update contracts in Salesforce with the ID as the lookup identifier.
Before you begin
- A default plan should be setup for the Salesforce products that are being used as subscription items.
- The items should be present in both Salesforce and NetSuite. The NetSuite item ID should be stored as a custom field in the Salesforce item.
Notes:
- Service for sale and non-inventory types are supported in NetSuite subscription.
- Service for sale, inventory and non-inventory types are supported in NetSuite sales order.
- The billing schedule name in Salesforce and billing schedule in NetSuite should be the same.
Setup instructions
- Add the subsidiary mapping according to your business requirements in Import NetSuite customers, before running the flow.
- Configure the following static mapping according to your business requirements in Import NetSuite billing accounts, before running the flow.
- Configure the following static mapping according to your business requirements in Import NetSuite customers, before running the flow.
- Configure the following hardcoded mapping according to your business requirements in Import NetSuite subscriptions, before running the flow.
- Configure the following hardcoded mapping according to your business requirements in Update NetSuite subscriptions, before running the flow.
- Configure the following mapping according to your business requirements in Update NetSuite sales orders, before running the flow.
Comments
Please sign in to leave a comment.