NetSuite

There are several technical options for retrieving data from NetSuite, e.g. Saved Searches or the SuiteTalk API. Saved Searches are the preferred way of extracting data from NetSuite, as this option tends to be the fastest. The Saved Search approach is also more robust and more flexible. In the present NetSuite document, we explain what the Saved Searches are and how to set them up. Then, we describe the native integration using the SuiteTalk API, followed by the list of the tables retrieved from SuiteTalk.

Our data retrieval logic is read-only: your NetSuite data will not be modified in any way by Lokad; in the future, if Lokad were to add write capabilities for NetSuite, we will make it very explicit whenever you are about to change anything within NetSuite. In addition, your company remains the sole owner of your data. By default, we treat this data as if an NDA was in place between your company and Lokad. If you want an actual NDA to be signed, just drop us a message.

Import through Saved Searches

Saved Searches are user-defined dynamic queries on NetSuite data that allow you to select and filter most of the data that exist in the NetSuite instance. Unlike the NetSuite SuiteTalk API, Saved Searches are not pre-defined and need to be setup on a case-by-case basis. Nevertheless, Saved Searches are favored by Lokad because our experience indicates that too frequently, the NetSuite API is too slow for being of practical use, i.e. it takes from several hours to days to retrieve the NetSuite data.

A tutorial on setting up Saved Searches within NetSuite goes beyond the scope of this present documentation. See the NetSuite tutorial video for an introduction to Saved Searches.

Caveat: Saved Searches with summary columns and formulas do not work with any third-party app, Lokad included. Although summary columns and formulas will be displayed in your web browser in NetSuite, those data will remain hidden from Lokad. The intent behind this decision is probably to avoid over-burdening the NetSuite systems with automated data retrieval involving heavy computations.

Each time a Saved Search is run, the search queries the database and returns the current information. The modification of data might affect the search results. If you refresh the search results, you notice that the updated information is displayed. Every new NetSuite syncer should be of the “NetSuite tokens” kind.

Once the Saved Search is defined in NetSuite, the setup in Lokad requires several steps:

After the completion of these four steps, the NetSuite data are present in your Lokad account and ready for further analyses with Envision. Here is one example:

Image

First, Lokad should be provided with the NetSuite credentials and the name of the Saved Search, e.g., customsearchMySearch. If you did pick the name MySearch in NetSuite, then the identifier of the Saved Search becomes customsearchMySeach per NetSuite convention.

On the Lokad side, in the syncer settings, enter the identifier customsearchMySearch, and set its value with the placeholder ???. This value will be replaced by something more meaningful as detailed below.

Put the Syncer into action by clicking the button Start Run associated to the project.

A file customsearch785.explain.tsv is created in your Lokad account, and it contains meta-data about the Saved Search itself, more specifically, the list of all columns to be found in the Saved Search, along with their types. The file also contains an additional column named Type that stores that type of the Saved Search itself, e.g., Item or Customer, or CustomRecord as defined within NetSuite.

Image

The meta-data found in the customsearch785.explain.tsv file should be used to write the configuration of the Lokad syncer. From the Projects tab in your Lokad account, edit your NetSuite syncer (the Edit button on the right), and replace the ??? placeholder value with the following syntax:

type: Customer
pagesize: 500
salt: dYsUlf1SMc
pseudonymize: CustomerName
columns:
  CustomerId
  CustomerName
  PreferredWarehouse
  PreferredBranch

Save your syncer settings, click the Start Run button of the syncer again. The file customsearchMySearch.tsv file appears in your Lokad account, and now contains the tabular data matching the specified columns as per the syncer configuration.

The fields must appear in this order:

Import through the SuiteTalk API

As previously mentioned, the data from NetSuite can be also imported into Lokad thanks to a native integration that leverages the NetSuite API. In the present section, we provide details on how to make the most of the NetSuite integration and we list all the possible NetSuite files you can be importing to Lokad along with the variables these files contain.

The suggested process to connect your Lokad and NetSuite accounts is the following:

The last step will redirect you to your Lokad account and the data connection between your Lokad account and your NetSuite account will be finalized there.

Annex: Tables reference

Lokad retrieves extensive data from NetSuite which include:

Data are pushed to your Lokad account into the following files:

Additional information can be found in NetSuite’s documentation.

NetSuite_AssemblyItemCustomFields.tsv

NetSuite_AssemblyItemLocations.tsv

NetSuite_AssemblyItemMembers.tsv

NetSuite_AssemblyItemPrices.tsv

NetSuite_AssemblyItems.tsv

NetSuite_AssemblyItemVendors.tsv

NetSuite_InventoryItemCustomFields.tsv

NetSuite_InventoryItemLocations.tsv

NetSuite_InventoryItemPrices.tsv

NetSuite_InventoryItems.tsv

NetSuite_InventoryItemVendors.tsv

NetSuite_ItemAvailability.tsv

NetSuite_ItemCorrelations.tsv

NetSuite_ItemFulfillmentItems.tsv

NetSuite_ItemFulfillments.tsv

NetSuite_ItemLights.tsv

NetSuite_ItemReceiptItems.tsv

NetSuite_ItemReceipts.tsv

NetSuite_KitCustomFields.tsv

NetSuite_KitMembers.tsv

NetSuite_KitPrices.tsv

NetSuite_Kits.tsv

NetSuite_PurchaseOrderCustomFields.tsv

NetSuite_PurchaseOrderItems.tsv

NetSuite_PurchaseOrders.tsv

NetSuite_SalesOrderCustomFields.tsv

NetSuite_SalesOrderItems.tsv

NetSuite_SalesOrders.tsv

NetSuite_VendorAddressBook.tsv

NetSuite_VendorCustomFields.tsv

NetSuite_Vendors.tsv

NetSuite_WorkOrderItems.tsv

NetSuite_WorkOrders.tsv