Connecting to NetSuite

NetSuite is a unified cloud business management solution, including ERP/financials, CRM, and ecommerce.

Data integration: Skyvia supports importing data to and from NetSuite, exporting NetSuite data to CSV files, replicating NetSuite data to relational databases, and synchronizing NetSuite data with other cloud apps and relational databases.

Backup: Skyvia Backup supports NetSuite backup.

Query: Skyvia Query supports NetSuite.

NetSuite-Specific Features and Limitations

Skyvia does not support NetSuite fields, storing array data. Skyvia cannot extract data from such fields, and they are not displayed in Skyvia interface. If such field is required in the table (must be filled in order to create a new record), Skyvia cannot load data to such tables. Thus, such tables are read-only in Skyvia.

The list of such objects, for example, includes all the transactions objects, because Skyvia cannot extract their items. Here is the list of such objects: BinWorksheet, CashRefund, CashSale, Check, CreditMemo, Estimate, Invoice, Opportunity, PurchaseOrder, ReturnAuthorization, SalesOrder, TransferOrder, VendorBill, VendorCredit, VendorReturnAuthorization, WorkOrder, Deposit, InventoryAdjustment, InventoryTransfer, ItemSupplyPlan, JournalEntry, VendorPayment, SerializedAssemblyItem, ExpenseReport, ManufacturingRouting, PaycheckJournal, ManufacturingOperationTask, CustomerRefund, InventoryAdjustment, InventoryCostRevaluation, ManufacturingCostTemplate. This list is not complete. Skyvia also does not support updating the Address object and some other objects.

Skyvia cannot load data to these tables and cannot load certain data from them.

Skyvia also does not support custom NetSuite fields having double quotation marks in their name.

As for NetSuite files, Skyvia cannot read NetSuite file content. Thus, Skyvia can import files to NetSuite, but can only read file metadata and not content from NetSuite.

Skyvia supports both basic and token-based authentication for NetSuite. However, 2-factor authentication is required for NetSuite users with highly privileged roles. This means that such NetSuite user account cannot be used for basic authentication.

NetSuite Connections

To connect to NetSuite, using basic authentication, you need to specify the account id, user, password, and application id. For token-based authentication, you will need account id, consumer key, consumer secret, token, and token secret.

Connection Editor window

You need to specify the following parameters for NetSuite connection:

  • Name — connection name that will be used to identify the connection in the objects list and when selecting a connection for a package.

  • Account Id — NetSuite account id. You can get the account id value in NetSuite Web Services Preferences. To open it, sign in to your NetSuite account. Then point to Setup, then to Integrations, and then click Web Services Preferences.

  • Authentication — authentication kind to use. It can be Basic or Token-Based. Note that highly privileged user accounts cannot be used for Basic authentication.

  • User — NetSuite account email. It is required only for Basic authentication.

  • Password — NetSuite account password. It is required only for Basic authentication.

  • Application Id — NetSuite CRM application ID created by using the integration record. It is required only for Basic authentication. To generate the application id parameter value, you need to configure Integration Record in your NetSuite account settings.

    For this, perform the following steps:

    1. Sign in to your NetSuite account.
    2. Point to Setup, then to Integrations, then Manage Integrations, and then click New.
    3. In the opened page, enter Name for the application, for example, Skyvia.
    4. Make sure the Token Based Authentication check box is cleared and the User Authentication check box is selected.
    5. Click Save.
    6. Copy the generated Application ID. You may reuse this value if you need multiple Skyvia connections to this NetSuite account.
  • Consumer Key — NetSuite consumer key from an integration record. It is required only for Token-Based authentication. Read how to obtain it below.
  • Consumer Secret — NetSuite consumer secret from an integration record. It is required only for Token-Based authentication. Read how to obtain it below.
  • Token — authentication token, generated by a NetSuite user. It is required only for Token-Based authentication. Read how to obtain it below.
  • Token Secret — authentication token secret, generated by a NetSuite user. It is required only for Token-Based authentication. Read how to obtain it below.
  • Use Custom Tables — select this check box if you need to work with custom NetSuite tables in Skyvia. However, please note that processing custom tables may take a substantial amount of time, and it’s better not to select this check box if you don’t need to work with custom NetSuite tables in Skyvia.
  • Use Custom Lists — select this check box if you need to work with NetSuite custom lists (as with other objects) in Skyvia. However, please note that processing custom lists may take a substantial amount of time, and it’s better not to select this check box if you don’t need to work with custom NetSuite tables in Skyvia.
  • Use Custom Fields — select this check box if you need to work with custom fields of predefined NetSuite tables in Skyvia. However, please note that processing custom fields may take a substantial amount of time, and it’s better not to select this check box if you don’t need to work with custom fields in Skyvia.
  • Metadata Cache — this parameter determines how often the cached metadata are updated. By default, Skyvia caches metadata of available objects in cloud sources. When creating a connection, you can configure how often cache is refreshed or, when the connection already exists, you can reset it manually on the Connection Editor page by clicking the Clear Cache button. The following values are available for this setting:

    • Disabled — metadata cache is not created; metadata are queried automatically whenever the connection is opened.
    • One Hour — metadata cache expires one hour after the last refresh; it is refreshed when the connection is opened again.
    • One Day — metadata cache expires one day after the last refresh; it is refreshed when the connection is opened again.
    • One Week — metadata cache expires one week after the last refresh; it is refreshed when the connection is opened again.
    • One Month — metadata cache expires one month after the last refresh; it is refreshed when the connection is opened again.
    • Infinite — cache is never reset automatically. Default value.

Obtaining Parameters for Token-Based Authentication

To use token-based authentication in NetSuite, you need to perform the following actions:

  1. Enable token-based authentication in NetSuite. For this, perform the following actions:
    1. Point to Setup, then to Company, then click Enable Features.

      Setup Option

    2. Then click Suite Cloud.

      Setup Option

    3. Finally, in the Manage Authentication group, select the Token-based Authentication check box.

      Setup Option 1

  2. Create a role with the necessary privileges for token-based authentication and access to the necessary objects and assign it to the user that will be used for authentication. You need to assign at least the “Web Services” and “User Access Tokens” privileges.
  3. Create an integration record with Token-Based authentication enabled. For this:

    1. Point to Setup, then to Integrations, then Manage Integrations, and then click New.

      Setup Option 2

    2. In the opened page, enter Name for the application, for example, Skyvia.

      Oracle NetSuite window

    3. Make sure the Token Based Authentication check box is selected.
    4. Click Save.
    5. From the confirmation screen, copy the generated Consumer Key, and Consumer Secret. Note that Consumer Key and Consumer Secret are displayed only once on this page. If you need them again, you will have to re-generate them, which make the old ones to stop working. You may reuse these values if you need multiple Skyvia connections to this NetSuite account.
  4. Create Access Token.
    1. Point to Setup, then to Users/Roles, then Access Tokens, and then click New.

      Setup Option 3

    2. Select the Integration record, User, and Role created on the previous steps.

      Access Token window

    3. From the confirmation screen, copy the generated Token ID and Token Secret. Note that Token ID and Token Secret are displayed only once on this page. If you need them again, you will have to re-generate them, which make the old ones to stop working.