Skip to main content
Adaptive Insights
Knowledge and Support - Adaptive Insights

Set Up a NetSuite Data Source

As of November 29, 2018 you can upgrade your preexisting NetSuite data sources to use the NetSuite 2018.1 endpoint with token-based authentication. Any NetSuite data sources you create after November 29, 2018 automatically use the NetSuite 2018.1 end point. Read more about upgrading to NetSuite 2018.1 and token-based authentication here.

You can use Adaptive Integration to extract information from your NetSuite instance. Adaptive users can access data in a NetSuite instance through the NetSuite adapter for Adaptive Integration.

To set up a NetSuite data source, follow these steps:

  1. Access the Data Designer by going to Integration > Data Designer.

  2. Expand the Data Sources folder in the Component Library.
    (The NetSuite data source is licensed separately. If you do not see this adapter within the list of data sources, contact Adaptive support for information.)

  3. Click the NetSuite data source.
    The center area of the screen displays your new data source’s settings and other information, as shown below.

  4. Enter the data source’s information:

  • Account Id: Enter the account ID for the NetSuite instance you are connecting to.
    • The account ID can be found within NetSuite by navigating to Setup > Company > Company Information.
      View NetSuite Account ID
    • It can also be found within NetSuite in Setup > Integration > Web Services Preferences.
      NetSuite Account ID - Web Services - Location
  • Email Address: Enter the email address associated with the NetSuite account ID.
  • Enable token-based authentication (TBA):  (NetSuite 2018.1 endpoints)Checked by default following upgrade to NetSuite 2018.1 and for new data sources created from November 29, 2018 onward. Requires selecting a NetSuite Credential that contains a Consumer Key, Consumer Secret, Token Id, and Token Secret generated by a NetSuite Admin in the NetSuite UI. Uncheck to access the Account Id and Email address input fields for SSO authentication used before upgrading to NetSuite 2018.1.
  • Credential: (NetSuite 2018.1 endpoints) Required for new data sources created from November 29, 2018 onward. Select the NetSuite Credential that contains a Consumer Key, Consumer Secret, Token Id, and Token Secret generated by a NetSuite Admin in the NetSuite UI. For how to set up a NetSuite Credential, go here.
  • Use sandbox: Check this box to use the NetSuite sandbox. (The sandbox is an account you can purchase separately from NetSuite that copies the database to a different server.) You should check this box only if your implementation process requires you to test data in a sandbox as part of the data import process. Be sure to uncheck this box when you have to bring data from your production NetSuite instance.

    As of January 11, 2018, NetSuite provides a new process for identifying and accessing new and refreshed NetSuite sandbox accounts. 
    NetSuite appends sandbox accounts with _SBn, (where n is the sandbox instance number) so that an account xxxxxxxxx would become xxxxxxxxx_SB1. This xxxxxxxxx_SB1 account needs to be used within Integration's NetSuite Data Source. Use Sandbox must be unchecked in your NetSuite data source settings for these _SBn accounts.

  • Role Id: Enter the role ID you want to access the Netsuite user account. (The role ID can be found on the NetSuite user/role configuration screens at Setup > Users/Roles > Manage Roles. The role ID must have the “Web Services” per­mision activated. If you don't see a column called “Internal ID,” which is the role ID, you need to add it with the NetSuite Customize View option.)
    You can find a list of the typical permissions needed in NetSuite to integrate with an Adaptive Insights NetSuite data source here.
    The first connection you make needs to use a NetSuite Role 3 Admin account. After connecting with the Role 3 Admin account, a security best practice is to change to an account and role with less access. If the original NetSuite Role 3 account you connect with is deleted or lost, you will need to recreate authorizations and connections with another NetSuite Admin 3 account.
  • Account Time Zone: Select the appropriate time zone for the account from the drop-down list. (The timezone you select here must be the same one used within the NetSuite user interface for this user account. In NetSuite, go to Home > Set Preferences > Localization.)
  • Backfill Batch Duration: Select the duration for the backfill batch. The default is one week (168 hours). This value is the number of hours of data extracted during a single update pass on a differentially-imported NetSuite table. This lets you set chunking for the scheduler to maintain a balance between large and small batch jobs. Lower this if you have very large amounts of NetSuite data. The smaller the value, the more backfill loops are required for a given calendar period.

The specific value you enter is highly dependent on a number of site-specific variables, such as the size of jobs, ratio small vs. large jobs, turnaround time, and system resources.

  • Log Level: Select a log level from the drop-down list to specify the detail for the logging for this data source. Your options are:
    • Error: Only logs serious errors.
    • Info: Logs all basic information, such as when the data source was updated.
    • Verbose: Provides very detailed information about all phases and actions. (This level is used primarily for debugging or auditing, as it may produce more log information than is practical for typical use.)
  • SSO Token Active: This read-only box shows whether or not there is an active SSO token for the data source. You must have an active SSO token for any addi­tional communications (such as testing connection, import structure, import data) to be successful. Saving a change to the Account Id, Email Address, Use Sand­box?, or Role Id fields causes the SSO token to be erased. This checkbox is not available if you upgrade your endpoint to NetSuite 2018.1.

When you create a new data source, this box is not checked. You must create a new SSO token by clicking Generate SSO Token on the Actions menu. You enter the account ID, email, and role ID, then click Generate SSO Token. You enter the password for the account, then click OK to submit the info to Net­Suite. NetSuite issues an SSO token. Adaptive Integration automatically checks SSO Token Active and removes Generate SSO Token from the Actions menu. The SSO token provides the login information to NetSuite so you don’t have to enter the NetSuite password whenever you import NetSuite data. (If there are any changes to the NetSuite user credentials, you must regenerate the SSO token by unchecking SSO Token Active.)

  5. Click Save on the Actions menu.

You can test the connection information in the new agent by clicking Test connection in the Actions menu. The system tries to connect to NetSuite using the information in the data source fields. If the system can connect to NetSuite, click OK. If there are connection problems, contact Adaptive support.

When you can connect to NetSuite, you’re ready to import the data structure. This shows you the tables and columns in NetSuite.

To import the NetSuite structure, do the following:

  1. Click Import structure in the Actions menu. The tables and columns appear in the Data Components menu.

Data is synchronized for a NetSuite user account as follows:

Adaptive Integration chooses the best synchronization method. It tries initially to get data incrementally. If the underlying data source doesn’t support this, Adaptive Inte­gration does a full refresh on the data in the staging area.

Import Structure and Adaptive Posting Transaction Summary Table for NetSuite

Adaptive Integration provides a “getting started” table for NetSuite called the AdaptivePos­tingTransactionSummary Table.

The AdaptivePostingTransactionSummary and its associated tables show up by default during Import Structure. This table surfaces the most frequently requested data elements from a AdaptivePostingTransactionSummary and its associated tables show up by default during Import Structure. This table surfaces the most frequently requested data elements from a NetSuite source system. This Adaptive-created table automatically creates joins between the PostingTransactionSummary table and its associated tables. As a result, this exposes the business friendly names for the most frequently requested NetSuite catego­ries: Account, Classification, Items, Department, Location, Subsidiary, and Customer.

For each table, the Name column is included. The Account Type column is automatically enabled from the Accounts tab. The category tables automatically import when Import Structure runs.

You might need to filter out the account types that are not needed using an SQL filter in the Planning Loader as described in Creating a SQL Filter.

You can also choose to remove one or more default dimensions available in the joined table. You only want to include the categories you need for your Adaptive Planning model. All other categories should be removed from the join, and the underlying column should be excluded from import from the PostingTransactionsSummary.

Adding Tables to a NetSuite Data Source

After you have imported the data’s structure, you are ready to specify the information you want to import. A standard set of NetSuite tables has already been enabled. If you want additional tables brought over, use the Tables to Import section of the screen to configure the imported NetSuite data.

To specify the tables to import from the user account, follow these steps:

  1. Expand the entry for the data source in the Data Components menu, as shown below.

  2. Each table appears as a separate item.

3. Drag and drop the tables you want to import to the Tables to Import section in the center of the screen, as shown below. As you drag each table to the Tables to Import section, a tab appears for the table and information appears in the Tables to Import section letting you see the type of information you’ve added. (Several sam­ple tables appear below.) Each table’s tab also has a drop-down menu, which you can access by clicking the arrow next to its name.


Managing Columns

If a table you are working with has a large number of columns, you can use the Manage Columns to do quick edits for which columns to import. The Manage Columns dialog box displays the columns in a table so you can then check or uncheck columns for importing.

To manage columns for importing, follow these steps:

  1. Click the arrow on the tab to the right of the table name.
    A floating menu with several options appears.

  2. Click Manage Columns on the floating menu.
    The Manage Columns dialog box appears.

3. Check the box next to a column to import it. When you check a column, the column also appears within the preview window after the popup contents are saved. Unchecking a column removes the column from the preview window.

You cannot change the import status on system-generated fields such as isDe­leted. You can also change the import status on individual columns by selecting col­umn properties and setting the property or by dragging and dropping the columns onto the designer.

Customizing the Tables

For each table, you can customize the way in which data is imported.

To customize the table settings, follow these steps:

  1. Click the arrow on the tab to the right of the table name.
    A floating menu with several options appears.

  2. Click Table Settings on the floating menu.
    The Table Settings dialog box appears, as shown below.

3. Enter the table settings:

  • Data Import Mode: There is only one option in the drop-down list:
    • Data source to automatically select the best synchronization approach. This is the default. The data source examines NetSuite and automatically uses the best way to synchronize data in the staging area with the information in the NetSuite. (Some tables are read in their entirety each time while others use dif­ferential updating.)
  • Data Import Filter: Use this to enter a SQL expression that filters or formats information being imported. The SQL filter is applied before data is extracted from NetSuite to reduce the amount of data that needs to be imported, giving you an additional level of control for which data is brought into the staging area. Click the field to display the Edit SQL Expression dialog box, shown earlier. (The filter you enter here is applied to the actual data in NetSuite rather than the pre­view data in the staging area.) Not all data sources support the same level of SQL filtering capability.
  • Period Parameter: The NetSuite tables PostingTransactionBalance and PostingTransactionSummary import by default and require configuring a period parameter before import. If you choose to import the ConsolidatedExchangeRate or BudgetExchangeRate tables, they also require configuring a period parameter. If a period parameter is not configured for these tables, the import will fail with the message: 

    Required parameter is not configured 

NetSuite has a very limited, non-SQL filtering capability. Only very sim­ple expressions are supported.

4. Click Apply to apply the settings.

5. Repeat steps 1-3 for each table.

6. Click Save to save the settings in the data source.

Setting Column Options

While using the Tables to Import section, you can see a preview of the data as it is in the data source or as it is in the Staging area after it has been imported. You can change the options for each column by mousing over its heading and then clicking the drop-down menu next to its name. These options are:

  • Sort Ascending: Sort the entire table based on this column in ascending order.
  • Sort Descending: Sort the entire table based on this column in descending order.
  • Column Settings: This dialog is used to change the properties of the column within the staging table.
    • Name: The name of the column, displayed in the header.
    • Column Type: The type of data used in the column.
    • Convert Column Type: Select the new type from this drop-down menu.
  • Exclude column from import: Select this to remove this column from the data being imported.
  • Delete custom column: Select this to delete the column. (Available for custom col­umns only.)

Creating Subquery Columns

Subquery columns let you filter NetSuite rows based on conditions with another related table. For example, you can filter NetSuite Opportunity records based on the existence of one or more Quote records. You can use subquery columns to pick the primary table/col­umn and related table/column, check related tables for certain conditions, and insert appropriate values in the driving table based on the results of those checks.

For each table, you can customize the way in which data is imported.

To create a subquery column, follow these steps:

  1. Expand the Custom Column folder in the data source in the Data Components menu.

  2. Drag and drop the Subquery Column component to the Tables to Import section in the center of the screen. The Column Settings dialog box appears.

3. Enter the column settings:

  • Name: Enter the name for the subquery column:
  • Column Type: This display-only field identifies this as a boolean column.
  • Related Table: Select a related table to use for comparison.
  • Join Expression: Click this field to enter a join condition. The Edit SQL Join Expression dialog box appears. (More information on creating SQL joins appears in Adding a SQL Join Table.)
  • Join Value Rule: Select one of the SQL join value options from the drop-down list: Exists, Does Not Exist, Sum, Count, Min, or Max.
  1. Click Apply to apply the settings.
  2. Click Save to save the settings in the data source.

Downloading Data from a Staging Table

You can download data from a single staging table.

To download data from a single staging table, follow these steps:

  1. Click the down arrow in a table heading in the Tables to Import section.

  2. Select Download Data.

  3. At the prompt “This operation will send an email with a url to download the data,” click Send. Adaptive Integration sends an email containing a URL to the email account associated with the data designer.

  4. Open the email and click the URL. The data is downloaded in .csv format.

Using the Advanced Filter

Below the Source drop-down menu, you can click Advanced Filter to reveal options for fil­tering the data in the Tables to Import preview area. The Advanced Filter provides tools to view and browse a subset of the data within a staging table or directly from the remote source (if you select NetSuite from the Source drop-down menu).

The preview area is specifically for previewing a small portion of the data in the staging area (or NetSuite). You can explore the data that is available from the Spreadsheet account and verify that you are getting the data you expect by examining the staging area. You can also use this to refine the data import filter you want to use. (Filters set in the pre­view function do not affect the actual data in the staging area.)

The options for the Advanced Filter are:

  • Distinct Rows: Check this box to hide duplicate rows.

  • Max Rows: Limit the number of rows displayed in the preview area by entering a number in the text box.

  • Columns: Check or uncheck columns in this drop-down menu to show or hide the columns displayed.

Removing a column from this list does not remove the column from the import list.

  • SQL Filter: Click the large text box to display the Edit SQL Expression dialog box (shown earlier), where you can enter a SQL filter to restrict the rows being pre­viewed. Click Apply to automatically check the SQL syntax of the filter. (If there are any errors, the error is indicated in the expression.) The expression you entered appears in the Data Import Filter field. For detailed SQL syntax help, you can click here in the Notes section. NetSuite has a very limited, non-SQL filtering capability. Only very simple expressions are supported.

Click Remove Filter (next to the Source drop-down menu) to clear the settings in the pre­view window.

NetSuite designates certain columns as key columns. This information is brought over into the staging tables. This information should not be modified.

Importing Data from NetSuite

When you have set up and saved your NetSuite data source, you can import data.

To import data from NetSuite, do the following:

  1. Click Import data in the Actions menu.
    The selected data is filtered by any SQL expressions and loaded into the staging area. You can preview the data in the staging area.

Information remains in the staging area until you clear it.

To clear data from the staging area, do the following:

  1. Click Clear staging area in the Actions menu.
    The staging area for all the tables in the data source is cleared.

Best Practice: When importing NetSuite Transaction Types, make sure you only use the Adaptive supported NetSuite Transaction Types Values supported for the 2016.2 endpoint.

Importing NetSuite Saved Searches

Saved Searches can only be imported from NetSuite adapters. SSO Authentication for this Data Source must also be configured.

Importing saved searches requires configuring a NetSuite Saved Search in the Data Designer then importing its structure. Saved Searches within Adaptive Integration support NetSuite Custom Records, Custom Fields, and Custom Segments.Configure a Saved Search in the Data Designer

  1. Click Manage Saved Searches in the Actions menu.

  2. In the Managed Saved Searches dialog, click the actions button below the naviga­tion tree and select Add Saved Search, or right-click on the saved searches folder and select Add Saved Search. Give the Saved Search a Name.

  3. Select the NetSuite Record Type.

  4. Select the NetSuite Saved Search.

  5. Click Apply.

Import a Saved Search’s Structure

  1. In the Managed Saved Searches dialog, click a Saved Search you previously cre­ated to select it.

  2. Click the actions button below the navigation tree and select Import structure in the Actions Menu, or right-click on the saved search and select Import structure.

  3. After the import Saved Search structure succeeds, close the Managed Saved Searches dialog.

  4. The staging area will display a tab for each saved search structure you imported.

Be aware that all Saved Searches in the Data Components panel will import if you click Import structure in the Actions pane.

Best Practice: Make sure that the results of your Saved Search structure import does not contain columns with NetSuite Summary Results. This is a NetSuite web services API restriction.

The maximum number of NetSuite Saved Searches that can be imported is 1000.

Select a NetSuite Saved Search Data Import Mode

  1. In the staging area, click the arrow icon in the tab for a table of your NetSuite Saved Search.
  2. Select Table settings from the dropdown.

Two options are available:

  • All records replaced each time a data import is run: This is the default. This replaces all data when the import is run.
  • All records that fall within a period range transmitted: This allows you to select a period range using a parameter, then choose a Saved Search table's datetime column the parameter applies to. You can click Edit parameters within this dialog to create a period range parameter to use. If you choose to import a period range, you must set a period parameter or the import will fail. 
  1. Click Apply
  2. Click Save in the Actions panel 

Import Data from a Saved Search

  1. In the Actions panel click Import Data

  2. The NetSuite Saved Search data imports to the Staging area.

Deleting NetSuite Saved Searches

  1. Click Managed Saved Searches in the Actions pane.

  2. Right-click on the saved search in the Managed Saved Searches and select Delete. The saved search is removed from the Manage Saved Searches dialog list, but its structure will remain in the Data Components pane and the Staging area until Import Structure is run again.

If a NetSuite saved search is deleted within NetSuite, a message will indicate it is no lon­ger available when performing the import structure action. If a saved search that is already being used within Integration for data import is modified in NetSuite, then future data imports are not guaranteed to succeed.

Best Practice: Within NetSuite, create your saved searches specifically for use in Adaptive Integration and name them so that they are not modified or deleted by other NetSuite users.

Best Practice: Make sure that you have the appropriate permissions in NetSuite to view the contents returned by a Saved Search result. If you don't have permission to the content, your search will return zero records without an error message. This is a limitation in NetSuite indicated in their online help:
If you reference a saved search for which you do not have the permission, the exception is ignored and fields have no value (are not in the SOAP response at all).

Drill-through from Adaptive Planning Back to NetSuite

You can enable drill-through on data imported from NetSuite. Drill-through links will become available on Planning sheets and reports for actuals imported from NetSuite. In order to configure drill-through for NetSuite, you should ensure that your internal identifi­ers are used as part of column mapping in the Planning loader. You will need to configure a NetSuite external system and attach it to a profile that is used by the Planning loader.

If you are configuring multiple columns on the NetSuite side to map to a single Planning dimension, then those NetSuite columns need to be combined in the data source using a Tuple SQL column.

For more details, see Understanding Mapping Profiles.

High-level Steps for Enabling Drill Through from Planning to NetSuite

Before getting started, ensure the Enhanced bundle-based drill-through checkbox is checked within Planning's Integration > NetSuite Setup menu.

Configure a NetSuite External System, which defines the dimensional mapping.

Make the data source adjustments required for the defined dimensional mappings.

  1. If you have multiple NetSuite categories mapped into the same Planning Dimen­sion, revisit the NetSuite Data Source to add a tuple SQL column for a many-to-one mapping of the columns.

  2. Click the Adaptive Posting Transaction Summary table within Tables to Import.

  3. Select Manage Columns in the dropdown for Adaptive Posting Transaction Summary.

  4. Enable AccountInternalId.
    NetSuite Data Source Drill Through Column Mapping accountInternalId

  5. Enable the InternalIds for the other dimensions you plan to drill by.

  6. Save the data source.

Make the loader adjustments required by using the data source adjustments for the dimensional mapping.

  1. Once the Netsuite Data Source settings above are complete, configure a Planning Loader to import NetSuite actuals data.
    • Link a Profile to the External System you configured in the Configure a NetSuite External System step.
    • Attach this profile to the Planning Loader.
  2. Click the Column Mapping tab.
  3. For the Account row:
    • In the "Source Id" column select the accountInternalId column from your source table.
    • In the "Source Display Name" column select the display name.
      NetSuite Drill Through Planning Loader accountInternalId
  4. Repeat the step above for each of the other standard dimensions that you want to drill by.
  5. Save the loader

With all of those steps completed you should now be able to drill. 

  • Was this article helpful?