NetSuite Salesforce Integration: 3 Easy Steps

By: Published: September 29, 2021

Managing data and building lasting relations with your customers are 2 essential tasks for any business in today’s market. Companies deploy Customer Relationship Management (CRM) and Enterprise Resource Planning (ERP) tools to accomplish these 2 necessities. Salesforce is a well-known name in the business world and is a go-to solution for Sales and Customer Relationship Management related solutions. Another popular tool. NetSuite is a Cloud-based platform that offers both ERP and CRM functionalities. Although the NetSuite CRM can meet the needs of several organizations, to increase your organization’s capability of providing advanced level customer satisfaction, you might want to turn to Salesforce. 

When data travels through your organization, you need to extract valuable insights from it as well as keep the data updated and available at all times. This way you can make better-informed business decisions at a faster pace. The NetSuite Salesforce Integration supports you in achieving the desired Data Management by connecting the NetSuite ERP with the Salesforce CRM.

This article will provide an overview of Salesforce and NetSuite along with their key features. It will further explain the step-by-step process of setting up the NetSuite Salesforce Integration. Read along to understand how you can implement this integration for your business and the benefits that it will add to your company!

Table of Contents

Prerequisites

To set up the NetSuite Salesforce Integration, you must have the following:

  • A Salesforce account.
  • A NetSuite account.
  • Working understanding of Salesforce and NetSuite.

Introduction to NetSuite

NetSuite CRM is an easy-to-use Cloud-based software that offers Customer Management and ERP services. It provides you a real-time view of your customers and assists you in managing their entire lifecycle. NetSuite’s CRM system includes features such as Marketing Automation, Campaign Tracking, Customer Service Management, Order Management, Forecasting, and fully integrated E-commerce. 

NetSuite’s ERP system manages key functions related to finance, inventory, orders, and other major business aspects. It enables you to plan and track projects using its CRM features for both online and in-store products. All modules of NetSuite share a common central Database through which, information from the entire system is updated in real-time and is made accessible to authorized users across all business functions. 

Key Features of NetSuite

The NetSuite platforms offer the following unique features:

  • Forecasting: Sales Forecasts are essential to capitalize on opportunities, and NetSuite CRM provides accurate real-time data needed to forecast Sales. The full suite of forecasting tools includes a system of checks and balances that regulates Sales Forecasts and enables you to gain key insights into Sales opportunities and their potential impact on your overall goals. 
  • Targeted Emails: NetSuite CRM allows you to manage your Email Campaigns and the same system is a huge advantage. Moreover, you can create highly engaging campaigns with updated content and even target certain sections of your audience to maximize conversion rates. The Emails you send to your contacts, along with their interactions, are stored in that person’s registry in the NetSuite for future use.
  • Engaging Dashboards: Real-time Dashboards are a popular feature of NetSuite. Using them, your Customer Service, Sales, and Marketing Teams can identify key metrics such as the number of calls resolved, call volume, open opportunities, etc.
  • Reliable Updates: Since NetSuite uses Cloud software, it can be accessed and updated from anywhere. This implies that your data is always up to date. Dashboards can also be personalized for each employee so that they can choose to see their data.

You can learn more about NetSuite here.

Introduction to Salesforce

NetSuite Salesforce Integration: Salesforce Logo
Image Source

Salesforce is popular for providing Customer Relationship Management (CRM) Software as a Service (SaaS). It offers various software solutions and a common platform for users to develop and deploy custom software. In this tool, several customers share common technology and they all run on the latest version of the Cloud. Moreover, it can transparently manage your Sales data and also allows you to collaborate with your Sales and Marketing Teams. Salesforce also provides automatic updates to applications or infrastructure. This allows your business to focus on innovation rather than managing technology.

Key Features of Salesforce

The following features make Salesforce a reliable and efficient tool:

  • Quick Setup: Salesforce can be fully set up in a few weeks, unlike many other CRMs on the market, which take an average of a year to build from scratch. 
  • Convenient: Salesforce uses an intuitive user interface and an engaging workflow. Therefore, employees do not need any prior training to use this tool. 
  • Personalization: Salesforce allows companies to change some of their features. Therefore, companies can customize this tool according to their needs. 
  • Invoice Planning: Salesforce provides enough information about your customers to your Sales Team to develop intuitive strategies for their prospects. It can also help you build customer loyalty and increase your success rate. 
  • Availability: Cloud technology allows Salesforce users to access their accounts from any remote location. In addition, Salesforce has a powerful mobile application that is popular with its users. 

 You can learn more about Salesforce CRM.

Simplify your Data Analysis with Hevo’s No-code Data Pipeline

Hevo Data, a No-code Data Pipeline helps to Load Data from any data source such as Databases, SaaS applications, Cloud Storage, SDK,s, its and Streaming Services and simplifies the ETL process. It supports 150+ data sources like Salesforce for free and loads the data onto the desired Data Warehouse, enriches the data, and transforms it into an analysis-ready form without writing a single line of code.

Its completely automated pipeline offers data to be delivered in real-time without any loss from source to destination. Its fault-tolerant and scalable architecture ensure that the data is handled in a secure, consistent manner with zero data loss and supports different forms of data. The solutions provided are consistent and work with different Business Intelligence (BI) tools as well.

Get Started with Hevo for Free

Check out why Hevo is the Best:

  • Secure: Hevo has a fault-tolerant architecture that ensures that the data is handled in a secure, consistent manner with zero data loss.
  • Schema Management: Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  • Minimal Learning: Hevo, with its simple and interactive UI, is extremely simple for new customers to work on and perform operations.
  • Hevo Is Built To Scale: As the number of sources and the volume of your data grows, Hevo scales horizontally, handling millions of records per minute with very little latency.
  • Incremental Data Load: Hevo allows the transfer of data that has been modified in real-time. This ensures efficient utilization of bandwidth on both ends.
  • Live Support: The Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.
  • Live Monitoring: Hevo allows you to monitor the data flow and check where your data is at a particular point in time.
Sign up here for a 14-Day Free Trial!

Steps to Set Up the NetSuite Salesforce Integration

NetSuite Salesforce Integration: Associations
Image Source

In the NetSuite Salesforce Integration, you need to write separate Java Scripts for individual objects. The goal here is to create a customer record in NetSuite using Restlet corresponding to an existing account in Salesforce. The following steps can be used to automate the integration of the Salesforce and NetSuite Contact Field and Event Field:

Step 1: Generate and Add Restlet Scripts on the NetSuite platform

The NetSuite Salesforce Integration initiates by adding a JS script to NetSuite for creating new fields. The below code is required to create a new contact (as you must add a new script file for each new object that you want to synchronize between NetSuite and Salesforce).

// Create a standard NetSuite record
function createRecord(datain)
{
var err = new Object();
// Validate if mandatory record type is set in the request
if (!datain.recordtype)
{
err.status = “failed”;
err.message= “missing recordtype”;
return err;
}
var record = nlapiCreateRecord(datain.recordtype);

for (var fieldname in datain)
{
if (datain.hasOwnProperty(fieldname))
{
if (fieldname != ‘recordtype’ && fieldname != ‘id’)
{
var value = datain[fieldname];
if (value && typeof value != ‘object’) // ignore other type of parameters
{
record.setFieldValue(fieldname, value);
}
}
}
}
nlapiLogExecution(‘DEBUG’,’zip=’+datain.zip);
record.selectNewLineItem(‘addressbook’);
record.setCurrentLineItemValue(‘addressbook’,’city’, datain.city);
record.setCurrentLineItemValue(‘addressbook’,’zip’, datain.zip);
record.setCurrentLineItemValue(‘addressbook’, ‘country’, ‘US’);
record.setCurrentLineItemValue(‘addressbook’,’label’,’billing address’);
record.commitLineItem(‘addressbook’);

record.selectNewLineItem(‘contact’);
record.setCurrentLineItemValue(‘contact’,’contactrole’,’-10′);
record.setCurrentLineItemValue(‘contact’, ‘firstname’, datain.firstname);
record.commitLineItem(‘contact’);

var recordId = nlapiSubmitRecord(record);
nlapiLogExecution(‘DEBUG’,’id=’+recordId);

var nlobj = nlapiLoadRecord(datain.recordtype,recordId);
return nlobj;
}

Step 2: Authenticate NetSuite Account in Salesforce

Any kind of data transfer requires authentication. The below code shows a sample script required to authenticate the NetSuite account for Salesforce. In most cases of NetSuite Salesforce Integration, it is preferred to perform the authentication calls for NetSuite credentials and use Salesforce to retrieve data from NetSuite or send the data to NetSuite. However, vice-versa is also possible.

public static void createNSCustomerRecord(account acc){
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
String endpoint = currNetSuiteSettings.NSEndpointCreateCustomer__c;
req.setEndpoint(endpoint);
string custId;
//Set Method and Endpoint and Body
req.setMethod(‘POST’);
req.setTimeout(119990);
Http http = new Http();
String responseBody;
req.setHeader(‘Content-Type’,’application/json’);

string NetSuiteProductionAccount = currNetSuiteSettings.NetSuiteProductionAccount__c;
string NetSuiteProductionUserName = currNetSuiteSettings.NetSuiteProductionUserName__c;
string NetSuiteProductionPassword = currNetSuiteSettings.NetSuiteProductionPassword__c;
String authorizationheader = ‘NLAuth nlauth_account=’+NetSuiteProductionAccount+’,
nlauth_email=’+NetSuiteProductionUserName+’,nlauth_signature=’;
nlauth_email= nlauth_email+NetSuiteProductionPassword;

//Construct Authorization and Content header
req.setHeader(‘Authorization’, authorizationHeader);

string recordType = ‘customer’;

string accountId = ”;
accountId = acc.Id;
system.debug(‘accountId===>’+accountId);
//you need the minimum field pattern for whatever entity you are posting, refer to their API guide
req.setBody
(‘{“recordtype”:”‘+recordType+'”,”entityid”:”‘+acc.name+'”,”accountId”:”‘+accountId+'”);
system.debug(‘setBody’+req);

try {
res = http.send(req);
responseBody = res.getBody();
system.debug(‘responseBody’+responseBody
JSONParser parser = JSON.createParser(responseBody );
while (parser.nextToken() != null) {
System.debug(‘Current token: ‘ + parser.getCurrentToken());
// Advance to the next value.
parser.nextValue();
// Get the field name for the current value.
String fieldName = parser.getCurrentName();
if(fieldName == ‘id’)
{
// Get the textual representation of the value.
System.debug(‘fieldName ==id’);
custId = parser.getText();
system.debug(‘custId====>’+custId);
break;
}
}

try {
List <account> acc1 = [select NetSuiteCustomerId__c from account where id= :acc.id];

if(acc1.isEmpty() == false) {
acc1[0].NetSuiteCustomerId__c = custId;
update acc1;
}
} catch(System.CalloutException e) {
System.debug(‘Callout error: ‘+ e);
}

} catch(System.CalloutException e) {System.debug(res.toString());}

}

Note: The code “endPoint” at the beginning of the code given above takes advantage of the NetSuite URL slug that is associated with the particular object that you wish to retrieve. This signifies the fact that in the NetSuite Salesforce Integration, for different objects this code will be different.

Step 3: Run Batches of Classes between Salesforce and NetSuite

The whole sync process can be done in real-time, but the best option is to run it in batches. The following code can be used to create and run these batches.

global class NetSuiteBatchApexWebCalloutClass Implements Database.Batchable<account>, Database.AllowsCallouts{global List<account> accountsToTarget;
private NetSuiteBatchApexWebCalloutClass(){}
Global NetSuiteBatchApexWebCalloutClass(Set<String> accRecIds)
{
accountsToTarget = [SELECT Id, Name,owner.Name,NetSuiteCustomerId__c FROM Account where Id IN : accRecIds];
}global Iterable<account> start(database.batchablecontext BC){
return (accountsToTarget);
}
global void execute(Database.BatchableContext BC, List<account> scope){
for(Account a : scope){
NetSuiteWebserviceCallout.createNSCustomerRecord(a);
}
}
global void finish(Database.BatchableContext info){ }//global void finish loop
}

That’s it! The NetSuite Salesforce Integration is ready.

Learn more about NetSuite to Redshift integration.

Benefits of NetSuite Salesforce Integration

The NetSuite Salesforce Integration is so popular in today’s market due to the following benefits that it adds to your business:

1 ) Reliable Data Updation

Image Source

Your business proceedings require and generate vast amounts of data daily. Every piece of this data should be monitored and updated immediately for better accessibility and better decision-making. Now, the traditional data entry operations prove inefficient in this Data Updation task. Moreover, the manual data entry process is error-prone and can hamper the progress of all business operations. Companies, thus prefer the NetSuite Salesforce Integration to keep their data up to date. This method is reliable as it automates the Data Integration and Data Updation process and avoids any errors. The NetSuite Salesforce Integration combines the power of ERP with CRM and thus streamlines your Data Management process.

2 ) Enhanced Customer Experience

NetSuite Salesforce Integration: Customer Experience
Image Source

The main objective of your Sales and Marketing Teams is to generate Leads and retain customers. No customer wants to wait long on the phone to get the information they ask for. If so, you will have to deal with customer resentment. With the simplified and automated process of NetSuite Salesforce Integration, your business can provide an enhanced customer experience. 

NetSuite Salesforce Integration minimizes the time required by the Customer Service Teams to acknowledge clients’ issues. Moreover, If a query from a customer arises, the Support Team does not need to search through multiple systems for information. The NetSuite Salesforce Integration ensures that required data is at their disposal thus making these Teams more effective.

3 ) Alignment of Sales and Finance Teams

NetSuite Salesforce Integration:  Sales and Finance Team Alignment
Image Source

For businesses to thrive, the alignment of your Sales and Finance Teams is essential. For example, the Sales Team may want to access invoice status when making an informed decision about opportunities or accounts. Likewise, the finance team may want to reduce the number of requests made by the Sales Team regarding updates on Sales invoices and orders. If this data is readily available in Salesforce, the Sales Team can instantly save time accessing the data, without having to log in to NetSuite or ask the Finance team. 

The NetSuite Salesforce Integration allows data to flow back and forth, between these 2 teams. The modifications in Salesforce will be reflected in the NetSuite ERP and vice versa. Moreover, this reduces the amount of manual work required when it comes to updating information. Thus the NetSuite Salesforce Integration provides a common platform for your Sales and Finance Teams to collaborate.

4 ) Faster and Accurate Reports Generation

NetSuite Salesforce Integration: Dashboards
Image Source

Traditional methods used by the Finance Teams require exporting data from various sources using Excel Spreadsheets for Forecasting and Data Tracking. This approach is error-prone and takes up a lot of time. The NetSuite Salesforce Integration improves your productivity by automating the data collection task and ultimately producing useful financial. Moreover, the powerful native reporting capability of Salesforce, allows you to create data reports and dashboards and deliver valuable insights in real-time. 

Conclusion

The article introduced Salesforce and NetSuite applications and described their key features. It also provided a step-by-step guide using which you can set up your NetSuite Salesforce Integration. Furthermore, the article discussed the numerous benefits of integrating your NetSuite and Salesforce accounts. 

Now, managing your data and providing great customer service will no longer be a time-consuming and expensive task. The NetSuite Salesforce Integration automates most of these tasks and enhances your customer’s journey, making them loyal to you in the long run.

Visit our Website to Explore Hevo

You may want to go one step further and perform analysis on the Salesforce data. This will require you to transfer data from the Salesforce account to a Data Warehouse using various complex ETL processes. Hevo Data will automate your data transfer process, hence allowing you to focus on other aspects of your business like Analytics, Customer Management, etc. This platform allows you to transfer data from 150+ multiple sources like Salesforce for free to Cloud-based Data Warehouses like Snowflake, Google BigQuery, Amazon Redshift, etc. It will provide you a hassle-free experience and make your work life much easier.

Want to take Hevo for a spin? Sign Up for a 14-day free trial and experience the feature-rich Hevo suite first hand.

Share your understanding of the NetSuite Salesforce Integration in the comments below!

mm
Former Research Analyst, Hevo Data

Abhinav is a data science enthusiast who loves data analysis and writing technical content. He has authored numerous articles covering a wide array of subjects in data integration and infrastructure.

No Code Data Pipeline For Your Data Warehouse