Sync business-critical data from your data warehouse to Netsuite with Hightouch
NetSuite's suite of ERP tools enables large businesses to manage internal as well as external workflows for accounting, customer engagement, and e-commerce. By ensuring that your NetSuite data is up-to-date and in sync with your data warehouse, you can enable various teams to work with the freshest data when building workflows or engaging with customers.
To enable syncing with NetSuite, you will need to enable SOAP Web Services and Token Based Authentication
You may need
admin roles to perform these steps. In NetSuite, navigate to Setup > Company > Enable Features > SuiteTalk (Web Services) and enable "SOAP Web Services."
On the same page, enable "Token Based Authentication" in the Manage Authentication section. It should look similar to the screenshot below.
Your account is now ready to start receiving data from an Integration. The next step is to create the integration credentials, so Hightouch can successfully upload data to it.
On the same Setup page, navigate to Integrations, on the menu on the left of the page. Then go to Manage Integrations. On that screen you will see a list of enabled integrations for your account.
Create a new one, clicking on the "New" button. You now have the opportunity to choose a name for the integration (use a name that can be easily associated with Hightouch, like "Hightouch Destination" ) and enable Token-Base Authentication:
To grant access to Hightouch to synchronize data between your source and NetSuite, you need to create a role, a user and a authentication token for the integration. Hightouch will use that information to authenticate before submitting any data.
Save the Customer Key and Customer Secret for the integration, as they will be part of the destination configuration.
Without leaving the Setup page, now click Users/Roles. The menu will show an option to Manage roles. Create a new one with a distinctive name, like "Hightouch Role". Then you can mark this role as "Web Services only Role." Hightouch requires the following permissions to be able to work properly:
- In the tab Setup:
- Custom Body Fields
- Custom Fields
- Custom Record Types
- Custom Item Fields
- Login using Access Tokens
- SOAP Web Services
- Access token management
Important: You will also need to include permissions with the
full level for all of the objects you plan to sync to.
For example, if you want to sync to SalesOrder, you will need to go to the Transactions tab and select Sales Order from the list.
Now you can proceed to create a new user (on Manage Users). Fill the Employee form with all required fields, and assign a secure password for it on the Access tab. Then also assign the new role to this user.
Lastly, you need a new Token. On the same User/Role page, go to Access Tokens. Now you can select the name of the Integration, the new role and the new user. When you click Save, NetSuite will display a Token ID and a Token Secret. Keep these values in a secure location.
You are now ready to create a NetSuite destination in Hightouch. Go to our destinations catalog and select NetSuite. Enter your Account ID, Customer Key, Customer Secret, Token ID and Token Secret from the previous steps. Finally, enter a descriptive name for the destination, for example, "NetSuite (Production)".
If your account is a Sandbox account, you need to include the suffix
_SB<number> as part of the Account ID. Please follow these guidelines when entering the Account ID:
SBshould be in uppercase.
- The Sandbox suffix should be included with an underscore (
For example, if the Account ID in your sandbox is
1234567-sb1, then you need to set your Account ID as
1234567_SB1 in your sync configuration.
Once you've set up the destination, be sure to test the configuration from the setup form:
Hightouch NetSuite destination allows you to send data as any entity. After you have created your model, select the object or entity that you want to transform your data to, for example, an Invoice, or a Customer.
The mappings mirror 1 to 1 the NetSuite SOAP schema. That means that some of your columns might need to be JSON objects. To see the schema that NetSuite expects, go to your SOAP Schema Browser:
If you have any issues creating the correct model, let us know and we'll be happy to help.
Hightouch will query the custom record types for a NetSuite account, allowing you to send these records like any other
NetSuite entity. Select the custom record type you want to sync in the list of objects. All custom records are part of the
Fields that contain references to other entities (record references) need to specify the internal or external ID for
it, as well as the
typeId that indicates the type of the record for the relationship.