Salto’s NetSuite adapter allows you to:
Fetch and deploy common NetSuite configuration data, e.g., workflows, custom fields, enabled features.
Deploy configuration changes from one NetSuite account to another.
Compare accounts.
Document configuration changes.
Monitor specific configuration data changes of interest, e.g., preferences, permission schemes.
Supported Types
See the Supported Netsuite Types page.
Setup Instructions
Prerequisites for connecting a NetSuite account with Salto:
Enable SuiteCloud Development (SDF)
Install the Salto SuiteApp
Note: The Salto SuiteApp creates an integration as part of its installation. Please use that integration in the next steps. A custom integration that is created separately is not supported.
Generate authentication tokens for SDF and Salto SuiteApp
Enabling SuiteCloud Development (SDF)
📘 The below steps require admin permission for your NetSuite account.
Go to Customization -> SuiteBundler -> Search & Install Bundles and click.
Search for suitecloud, and choose the bundle SuiteCloud Development Integration
Click “Install” to start the bundle installation.
Go to Setup->Company->Enable Features
Choose the “SuiteCloud” tab and make sure the following features are enabled:
SOAP web services
REST web services
Token Based Authentication
SuiteCloud Development Framework
Agree to all updates and Save.
Go to Customization -> SuiteBundler -> Search & Install Bundles -> List and click in order to verify that SDF installation is done.
Generating Authentication Tokens for SDF
Go to the home screen, click on “Manage Access Tokens”.
Click on “New My Access Tokens”.
Choose “SuiteCloud Development Integration” from the “Application Name” dropdown.
Click "Save"
Copy the “Token ID” and “Token Secret” and save them. They will not be visible later on due to security reasons.
Installing the Salto SuiteApp (aka Salto Integration Application)
Go to SuiteApps
Search for “Salto”, and choose the SuiteApp called “Salto” and click "Install"
Go to Setup->Company->Enable Features
Choose the “SuiteCloud” tab and make sure the following features are enabled:
SOAP Web Services
REST Web Services
Token Based Authentication
Create bundles with SuiteBundler
Go to Customization -> SuiteCloud Development -> Installed SuiteApp List in order to verify that Salto's SuiteApp installation is done.
Generating Authentication Tokens for Salto SuiteApp
Go to the home screen, click on “Manage Access Tokens”.
Click on “New My Access Tokens”.
Choose “Salto Integration” from the “Application Name” dropdown.
Click "Save"
Copy the “Token ID” and “Token Secret” and save them. They will not be visible later on due to security reasons.
👍 You have successfully installed SuiteCloud Development (SDF), Salto's SuiteApp and generated token IDs and secrets.
You are now ready to connect your NetSuite account to Salto.
Authentication Instructions
In application credentials, provide:
NetSuite account id - can be copied from your NetSuite URL (https://<NetSuiteAccountId>.app.netsuite.com)
Token ID and secret for SDF
Token ID and secret for Salto's SuiteApp
Example - Creating a New Environment
Note - to change the authentication credentials in an existing environment, click on the environment name and then click SETTINGS
to access the adapter configuration and credentials area.
Create a new environment
Provide a name for the environment (this name can be changed later)
Click on "Connect an App"
Select the Application Type - NetSuite
Install the plug-in (related to the Salto SuiteApp installed to NetSuite above)
Provide your NetSuite Account ID
Provide the SDF Token ID and Token Secret (that were created above)
Similarly, provide the Salto SuiteApp Token ID and Token Secret
Complete the Team Permissions (if applicable by Salto Plan)
Select Connect App or Connect App & Fetch to authenticate to NetSuite with your Token Based Authentication (TBA) credentials
Fetch and Application Connection Configuration Properties
Fetch Configuration
To learn what is the default NetSuite configuration and how you can modify it to support different use-cases such as fetching custom records or file cabinet, check out this guide.
🚧 Note: Adding more types to your fetch configuration is likely to influence the fetch duration, especially if these types have many instances.
Unlock the full potential of analytics in Salto by adjusting your NetSuite adapter configuration to include analytics Workbooks & Datasets.
This enables a deeper analysis and a broader view of your business metrics, leveraging multiple joins and dynamic data presentations.
To enable Analytics in your account, it's necessary to remove the metadata types 'Workbook' and 'Dataset' from your adapter configuration's exclude list.
Change-Based Fetch
Changed-Based Fetch leverages NetSuite’s ‘system notes’ mechanism and significantly reduces the fetch time by fetching only records and file cabinet items that were modified since your last fetch.
Fetch Specific Types or Files
Specifying NetSuite type names and/or file cabinet path patterns (regular expressions) can reduce fetch time.
Once specified, Salto will fetch only instances of specified types and file cabinet items that matches the specified path patterns.
For example, specifying the following targets:
entitycustomfield
addressForm
customrecord_slt_tst
/MyFileCabinetDir/.*\.js
will only fetch entity custom fields, address forms, custom records of customrecord_slt_tst
and all files with the .js
suffix under the MyFileCabinetDir directory.
🚧 Note that:
Deletions in File Cabinet can not be detected in a Change-Based Fetch. All other deletions (standard instances, custom types & custom records) are supported.
References in fetched elements will be updated as part of the partial fetch as long as the referenced element exists in the Salto environment. If the referenced element does not exist in the Salto environment (meaning it is either new in that environment and was not fetched yet or that it was deleted), its reference will be omitted until a full regular fetch is performed
Overriding Configuration Values
It is possible to override any fetch configuration property by specifying a key value pair.
Full list of available configuration options can be found here.
FAQs
What does the NetSuite config file look like?
Please refer to this page for details.
What is the benefit of using Salto instead of working directly with SDF?
Salto leverages SDF under the hood, along with a SuiteApp developed by Salto. Thus, Salto extends SDF and adds several key capabilities and components:
All files in the file cabinet (including deletions).
Data records such as account, subsidiary, department, classification, currency and more.
Deletions of custom record types and instances of standard types such as custom entity field, custom CRM field, custom list, custom item field, custom item, number field, custom item option, custom transaction column field and more.
Why does my NetSuite Adapter configuration sometimes get updated automatically?
There are 2 cases where elements are excluded automatically:
When fetching an element via SDF, the element cannot be accessed due to SDF returning an
unexpected error
in its response. To avoid repeated errors and potential fetch failures, the element is automatically added to the exclude list in the Salto configuration file and will be skipped in subsequent fetches.Note: If you are unable to access the element's XML definition from the NetSuite UI, we recommend reaching out to NetSuite support as there is likely an issue with the underlying object preventing it from being accessed via SDF.
If an element is locked in NetSuite, SDF will return the error
You cannot download the XML file for this object because it is locked
, preventing the element from being fetched. When locked elements are detected, they are added to a separate configuration file (lockedElements.nacl
) used to track locked elements to be excluded from subsequent fetches.
Are SuiteScripts supported?
Yes, SuiteScripts are fully supported, including identifying dependencies from custom fields that can be used for impact analysis, comparing across environments, and deployments.
What impact does Salto have on my API limits?
| Concurrency |
What are the limits? | NetSuite limits concurrency on both your account level, and per-integration. Learn more here. |
How can you adjust usage or capacity? | - See |