NetSuite

ExpandedToggleIcon        Connection Dialog

Excel Add-in for NetSuite supports both Basic and Token-Based authentication. Connection dialog box currently allows only Basic authentication. Token-based authentication can be configured only via Advanced connection options. Note that 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. You can find more information about Token-based authentication below.

 

The following connection options are required for basic authentication. Only Account Id is required for both authentication types :

1.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.
2.Application Id - The NetSuite CRM application ID created by using the integration record.
3.User Id - The NetSuite account email to login with;
4.Password - NetSuite account password.

 

To generate the application id parameter value, you need to configure Integration Record in your NetSuite account settings. For this, perform the following actions:

1.Sign in to your NetSuite account.
2.Point to Setup, then to Integrations, then Manage Integrations, and then click New.
3.On the opened page enter the Name for the application, for example, Excel Add-in.
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 connections to this NetSuite account.

 

note Important Note

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

The list of such objects, for example, includes all the transactions objects, because Excel Add-in for NetSuite cannot import 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.

Excel Add-in for NetSuite cannot load data to these tables, and cannot load certain data from them.

 

ExpandedToggleIcon        Advanced Connection Options

To open Advanced connection options, click the Advanced button in the Connection dialog box. Here you can set parameters for Token-based authentication and additional parameters to control connection behavior. For Token-based authentication, you need to set the Authentication parameter to TokenBased and specify values for the following parameters: Consumer Key, Consumer Secret, Token, Token Secret.

The following table describes the options that you can include in the Connection String using the Advanced Connection Editor dialog box:

 

Option

Description

Account Id

NetSuite account id.

Application Id

The NetSuite CRM application ID created by using the integration record. Required for Basic authentication.

Authentication Type

Determines authentication kind to use. It can be Basic or TokenBased. Note that highly privileged user accounts cannot be used for Basic authentication.

Connection Lifetime

When a connection is returned to the pool, its creation time is compared with the current time, and the connection is destroyed if that time span (in seconds) exceeds the value specified by Connection Lifetime. The default value is 0 (connection always returns to pool).

Connection Timeout

The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. The default value is 15.

Consumer Key

NetSuite consumer key from an integration record. It is required only for Token-Based authentication. Read how to obtain it below.

Consumer Key Secret

NetSuite consumer secret from an integration record. It is required only for Token-Based authentication. Read how to obtain it below.

Default Command Timeout

The time in seconds to wait while trying to execute a command before terminating the attempt and generating an error.

Failover Retries

The number of retry attempts to automatically re-run a command before displaying an error message in case when the command failed because of an error that may be temporary.

Local SQL Engine

Determines whether to use local SQL engine for SELECT queries, that are too complex to translate them directly to NetSuite API calls or to show an error message.

Max Pool Size

The maximum number of connections allowed in the pool. Setting the Max Pool Size value in the connection string can affect performance. The default value is 100.

Min Pool Size

The minimum number of connections allowed in the pool. The default value is 0.

Password

NetSuite account password. Required for Basic authentication.

Persist Security Info

Indicates if security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state.

Pooling

If true, by default, the connection is drawn from the appropriate pool or is created and added to the appropriate pool.

Proxy Host

The host name or IP address of proxy server.

Proxy Password

The password for the proxy server account.

Proxy Port

The port number of the proxy server. The default value is 3128.

Proxy User

The proxy server account name.

Readonly

Indicates whether the connection is read-only (allows only SELECT statements).

Role Id

The InternalId of the role for basic authentication that will be used to log in the user with limited permissions. If it is not specified, the user's default role will be used.

Sandbox

Determines whether to connect to a Sandbox environment or to a Production environment

Token Id

The authentication token, generated by a NetSuite user. It is required only for Token-Based authentication. Read how to obtain it below.

Token Secret

The authentication token secret, generated by a NetSuite user. It is required only for Token-Based authentication. Read how to obtain it below.

Token Server

Not used for NetSuite.

Use Custom Fields

Set this parameter to True if you need to work with custom fields of predefined NetSuite objects. However, please note that processing custom fields may take a substantial amount of time, and it's better to leave the default False value if you don't need to work with custom fields.

Use Custom Tables

Set this parameter to True if you need to work with custom NetSuite objects. However, please note that processing custom objects may take a substantial amount of time, and it's better to leave the default False value if you don't need to work with custom NetSuite objects.

Use Custom Lists

Set this parameter to True if you need to work with custom NetSuite lists. However, please note that processing them may take a substantial amount of time, and it's better to leave the default False value if you don't need to work with NetSuite custom lists.

User Id

The NetSuite account email to login with. Required for Basic authentication.

UTC Dates

If set to True, dates will be converted to UTC format during import, and the date values entered by the user (in SELECT statements, etc.) are considered UTC dates when sending them to the data source.

ExpandedToggleIconObtaining 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:
a.Point to Setup, then to Company, then click Enable Features.
 
netsuite-enable-features
b.Then click Suite Cloud.
 
netsuite-suite-cloud
c.Finally, in the Manage Authentication group, select the Token-based Authentication check box.
 
netsuite-enable-tba
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:
a.Point to Setup, then to Integrations, then Manage Integrations, and then click New.
 
netsuite-manage-integrations
b.In the opened page, enter Name for the application, for example, Skyvia.
 
netsuite-create-integration-record
c.Make sure the Token Based Authentication check box is selected.
d.Click Save.
e.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.
a.Point to Setup, then to Users/Roles, then Access Tokens, and then click New.
 
netsuite-tokens
b.Select the Integration record, User, and Role created on the previous steps.
 
netsuite-create-token
c.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.