Matillion Data Model for Netsuite
Version - 20.0.7662.0

Note: If you're using Matillion ETL, we advise you update to the latest version to ensure that your instance is reflective of the information displayed in the data model. This note does not apply to the Data Productivity Cloud.



Connection String OptionsBack To Top

  1. Account Id
  2. Aggregate Column Mode
  3. Application Id
  4. Auth Key
  5. Auth Scheme
  6. Auth Token
  7. Auto Cache
  8. Batch Size
  9. Cache Connection
  10. Cache Driver
  11. Cache Location
  12. Cache Metadata
  13. Cache Tolerance
  14. Callback URL
  15. Connection Life Time
  16. Connect On Open
  17. Custom Field Permissions
  18. Firewall Password
  19. Firewall Port
  20. Firewall Server
  21. Firewall Type
  22. Firewall User
  23. Include Child Tables
  24. Include Custom Field Columns
  25. Include Custom List Tables
  26. Include Custom Record Tables
  27. Include Reference Columns
  28. Initiate OAuth
  29. Location
  30. Logfile
  31. Log Modules
  32. Maximum Concurrent Sessions
  33. Max Log File Count
  34. Max Log File Size
  35. Max Rows
  36. Netsuite Metadata Folder
  37. OAuth Access Token
  38. OAuth Access Token Secret
  39. OAuth Client Id
  40. OAuth Client Secret
  41. OAuth Expires In
  42. OAuth Settings Location
  43. OAuth Token Timestamp
  44. OAuth Verifier
  45. Offline
  46. Other
  47. Pagesize
  48. Password
  49. Pool Idle Timeout
  50. Pool Max Size
  51. Pool Min Size
  52. Pool Wait Time
  53. Proxy Auth Scheme
  54. Proxy Auto Detect
  55. Proxy Exceptions
  56. Proxy Password
  57. Proxy Port
  58. Proxy Server
  59. Proxy SSL Type
  60. Proxy User
  61. Pseudo Columns
  62. Readonly
  63. Report Doubles As Decimal
  64. Request Memorized Transactions
  65. Role Id
  66. RTK
  67. Schema
  68. SSL Server Cert
  69. Support Enhanced SQL
  70. Tables
  71. Timeout
  72. Use Async Services
  73. Use Connection Pooling
  74. Use Internal Names For Customizations
  75. User
  76. User Timezone Offset
  77. Use Simple Names
  78. Use Upserts
  79. Verbosity
  80. Version
  81. Views
  82. Web Service Host

Account Id

Data Type

string

Default Value

""

Remarks

Together with User and Password, this field is used to authenticate to NetSuite.



Aggregate Column Mode

Data Type

string

Default Value

"Ignore"

Remarks

Aggregate columns are the columns that will appear on base tables which aggregate all of the data contained within child collections. Because these columns include all the data of a child collection, they can become very large. In some situations, such as writing the data to an offline database, it may be advisable to set AggregateColumnMode to either Ignore or List. The data in child tables can still be retrieved by setting IncludeChildTables to true. Setting AggregateColumnMode to List will still cause aggregate columns to be listed for use with inserts and updates.

IgnoreAll aggregate will be ignored and will not show up as available columns in the table definition.
ListAggregate columns will be listed in all tables, but on base tables such as SalesOrders, they will not retrieve data from NetSuite.
ListAndRetrieveAggregate columns will be listed and requested on all tables.



Application Id

Data Type

string

Default Value

""

Remarks

You can find your applications in the NetSuite UI under Setup > Integration > Manage Integrations. It is recommended to always create your own appliation to ensure you have the maximum available sessions available when establishing a conneciton to NetSuite.



Auth Key

Data Type

string

Default Value

""

Remarks

This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.

It can be supplied alongside the AuthToken in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.



Auth Scheme

Data Type

string

Default Value

"Auto"

Remarks



Auth Token

Data Type

string

Default Value

""

Remarks

This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.

It can be supplied alongside the AuthKey in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.



Auto Cache

Data Type

bool

Default Value

false

Remarks

When AutoCache = true, the driver automatically maintains a cache of your table's data in the database of your choice. By default, the driver incrementally updates the cache, retrieving only changes since the last SELECT query was run if the length of time since the last run has exceeded the CacheTolerance. After the cache is updated, the query is executed against the cached data.

Setting the Caching Database

When AutoCache = true, the driver caches to a simple, file-based cache. You can configure its location or cache to a different database with the following properties:

See Also



Batch Size

Data Type

int

Default Value

0

Remarks

When BatchSize is set to a value greater than 0, the batch operation will split the entire batch into separate batches of size BatchSize. The split batches will then be submitted to the server individually. This is useful when the server has limitations on the size of the request that can be submitted.

Setting BatchSize to 0 will submit the entire batch as specified.



Cache Connection

Data Type

string

Default Value

""

Remarks

The cache database is determined based on the CacheDriver and CacheConnection properties. Both properties are required to use the cache database. Examples of common cache database settings can be found below. For more information on setting the caching database's driver, refer to CacheDriver.

The connection string specified in the CacheConnection property is passed directly to the underlying CacheDriver. Consult the documentation for the specific JDBC driver for more information on the available properties. Make sure to include the JDBC driver in your application's classpath.

Derby and Java DB

The driver simplifies caching to Derby, only requiring you to set the CacheLocation property to make a basic connection.

Alternatively, you can configure the connection to Derby manually using CacheDriver and CacheConnection. The following is the Derby JDBC URL syntax:

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
For example, to cache to an in-memory database, use the following:
jdbc:derby:memory

SQLite

To cache to SQLite, you can use the SQLite JDBC driver. The following is the syntax of the JDBC URL:

jdbc:sqlite:dataSource

MySQL

The installation includes the CData JDBC Driver for MySQL. The following is an example JDBC URL:

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
The following are typical connection properties:

SQL Server

The JDBC URL for the Microsoft JDBC Driver for SQL Server has the following syntax:

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
For example:
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
The following are typical SQL Server connection properties:
Oracle

The following is the conventional JDBC URL syntax for the Oracle JDBC Thin driver:

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
For example:
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
The following are typical connection properties:
PostgreSQL

The following is the JDBC URL syntax for the official PostgreSQL JDBC driver:

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
For example, the following connection string connects to a database on the default host (localhost) and port (5432):
jdbc:postgresql:postgres
The following are typical connection properties:



Cache Driver

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

The cache database is determined based on the CacheDriver and CacheConnection properties. The CacheDriver is the name of the JDBC driver class that you want to use to cache data.

Note that you must also add the CacheDriver JAR file to the classpath.

The following examples show how to cache to several major databases. Refer to CacheConnection for more information on the JDBC URL syntax and typical connection properties.

Derby and Java DB

The driver simplifies Derby configuration. Java DB is the Oracle distribution of Derby. The JAR file is shipped in the JDK. You can find the JAR file, derby.jar, in the db subfolder of the JDK installation. In most caching scenarios, you need to specify only the following, after adding derby.jar to the classpath:

jdbc:netsuite:CacheLocation='c:/Temp/cachedir';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
To customize the Derby JDBC URL, use CacheDriver and CacheConnection. For example, to cache to an in-memory database, use a JDBC URL like the following:
jdbc:netsuite:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:netsuite:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
MySQL

The following is a JDBC URL for the included CData JDBC Driver for MySQL:

  jdbc:netsuite:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';Account Id=XABC123456;Password=password;User=user;Role Id=12345;

  
The CData JDBC Driver for MySQL is located in the lib subfolder of the CData JDBC Driver for NetSuite installation directory.
SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:netsuite:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:netsuite:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .
PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:netsuite:CacheDriver=org.postgresql.Driver;CacheConnection='jdbc:postgresql://localhost:5433/postgres?user=postgres&password=admin';Account Id=XABC123456;Password=password;User=user;Role Id=12345;



Cache Location

Data Type

string

Default Value

"%APPDATA%\\CData\\NetSuite Data Provider"

Remarks

The CacheLocation is a simple, file-based cache. The driver uses Java DB, Oracle's distribution of the Derby database. To cache to Java DB, you will need to add the Java DB JAR file to the classpath. The JAR file, derby.jar, is shipped in the JDK and located in the db subfolder of the JDK installation.

If left unspecified, the default location is "%APPDATA%\\CData\\NetSuite Data Provider" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config

See Also



Cache Metadata

Data Type

bool

Default Value

false

Remarks

As you execute queries with this property set, table metadata in the NetSuite catalog are cached to the file store specified by CacheLocation if set or the user's home directory otherwise. A table's metadata will be retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

The driver automatically persists metadata in memory for up to two hours when you first discover the metadata for a table or view and therefore, CacheMetadata is generally not required. CacheMetadata becomes useful when metadata operations are expensive such as when you are working with large amounts of metadata or when you have many short-lived connections.

When Not to Use CacheMetadata



Cache Tolerance

Data Type

int

Default Value

600

Remarks

The tolerance for stale data in the cache specified in seconds. This only applies when AutoCache is used. The driver checks with the data source for newer records after the tolerance interval has expired. Otherwise, it returns the data directly from the cache.



Callback URL

Data Type

string

Default Value

""

Remarks

During the authentication process, the OAuth authorization server redirects the user to this URL. This value must match the callback URL you specify in your app settings.



Connection Life Time

Data Type

int

Default Value

0

Remarks

The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed. The default is 0 which indicates there is no limit to the connection lifetime.



Connect On Open

Data Type

bool

Default Value

false

Remarks

When set to true, a connection will be made to NetSuite when the connection is opened. This property enables the Test Connection feature available in various database tools.

This feature acts as a NOOP command as it is used to verify a connection can be made to NetSuite and nothing from this initial connection is maintained.

Setting this property to false may provide performance improvements (depending upon the number of times a connection is opened).



Custom Field Permissions

Data Type

string

Default Value

""

Remarks

This property may be set in addition to or instead of IncludeCustomFieldColumns. If you want use a role for authentication where the permissions allow for some custom fields but not others, this property can be used to specify which custom fields metadata should be requested for by the CData JDBC Driver for NetSuite. If this property is left empty, IncludeCustomFieldColumns will determine if all custom field metadata or no custom field metadata is requested. Otherwise this property will override the behavior of IncludeCustomFieldColumns.

For example, to specify all of the custom field permissions for all available tables, set this to:

Custom Body Fields, Custom Column Fields, Custom Entity Fields, Custom Event Fields, Custom Item Fields, Item Number Fields, Other Custom Fields



Firewall Password

Data Type

string

Default Value

""

Remarks

This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.



Firewall Port

Data Type

int

Default Value

0

Remarks

This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.



Firewall Server

Data Type

string

Default Value

""

Remarks

This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.

Note that the driver uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.



Firewall Type

Data Type

string

Default Value

"NONE"

Remarks

This property specifies the protocol that the driver will use to tunnel traffic through the FirewallServer proxy. Note that by default, the driver connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

Type Default Port Description
TUNNEL 80 When this is set, the driver opens a connection to NetSuite and traffic flows back and forth through the proxy.
SOCKS4 1080 When this is set, the driver sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted.
SOCKS5 1080 When this is set, the driver sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.



Firewall User

Data Type

string

Default Value

""

Remarks

The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.



Include Child Tables

Data Type

bool

Default Value

false

Remarks

If this is set to true, tables will be displayed for all child lists of a given entity. For instance, the CashRefund table in the NetSuite development environment has a child list called ItemList. Therefore, a new table called CashRefund_ItemList will be displayed if this property is set to true. This can be useful for listing each item in the list in its own row.



Include Custom Field Columns

Data Type

bool

Default Value

true

Remarks

Setting this to true will cause custom fields to be displayed directly on tables as their own columns. However, it will cause lower performance when retrieving the table metadata information for the first time on an open connection. Table metadata is stored on the connection and cleared when the connection is closed.



Include Custom List Tables

Data Type

bool

Default Value

false

Remarks

Setting this to true will cause custom lists types to be included as their own tables. However, it will cause lower performance when retrieving the table metadata information for the first time on an open connection. Table metadata is stored on the connection and cleared when the connection is closed.



Include Custom Record Tables

Data Type

bool

Default Value

true

Remarks

Setting this to true will cause custom record types to be included as their own tables. However, it will cause lower performance when retrieving the table metadata information for the first time on an open connection. Table metadata is stored on the connection and cleared when the connection is closed.



Include Reference Columns

Data Type

string

Default Value

"InternalId, Name"

Remarks

Many fields in NetSuite are references to other types of records. For instance, an Invoice might reference an Account and a Customer record. There are several pieces of data that can be returned by NetSuite when retrieving data from a record reference field. The available values are:

InternalIdThe NetSuite foreign key for the record reference.
NameA readable name for the record referenced.
TypeThe type of record referenced. This is not always given a value as the given field may only have one type.



Initiate OAuth

Data Type

string

Default Value

"OFF"

Remarks

The following options are available:

  1. OFF: Indicates that the OAuth flow will be handled entirely by the user. An OAuthAccessToken will be required to authenticate.
  2. GETANDREFRESH: Indicates that the entire OAuth Flow will be handled by the driver. If no token currently exists, it will be obtained by prompting the user via the browser. If a token exists, it will be refreshed when applicable.
  3. REFRESH: Indicates that the driver will only handle refreshing the OAuthAccessToken. The user will never be prompted by the driver to authenticate via the browser. The user must handle obtaining the OAuthAccessToken and OAuthRefreshToken initially.



Location

Data Type

string

Default Value

"%APPDATA%\\CData\\NetSuite Data Provider\\Schema"

Remarks

The path to a directory which contains the schema files for the driver (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is "%APPDATA%\\CData\\NetSuite Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



Logfile

Data Type

string

Default Value

""

Remarks

Once this property is set, the driver will populate the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it will be created.

Connection strings and version information are also logged, though connection properties containing sensitive information are masked automatically.

If a relative filepath is supplied, the location of the log file will be resolved based on the path found in the Location connection property.

For more control over what is written to the log file, you can adjust the Verbosity property.



Log Modules

Data Type

string

Default Value

""

Remarks

Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.



Maximum Concurrent Sessions

Data Type

int

Default Value

0

Remarks

As of version 2020.1, this value will be obtained automatically based on your AccountId and ApplicationId. Concurrent sessions as of NetSuite 2020.1 are only possible with token based authentication. User / password will always resolve to only a single session available.

NetSuite in general allows a maximum of 5 concurrent sessions, although a higher level may be purchased. Additional requests made that exceed the concurrent session limits of the account or integrated app being used to connect will result in a error. The CData JDBC Driver for NetSuite attempts to account for this automatically by witholding additional requests that would receive an error if it sees too many concurrent requests are already being made.

You can set the maximum number of concurrent sessions available if you your account has a higher amount available. However, if Version is set to 2020_1 or higher, this property will be ignored.



Max Log File Count

Data Type

int

Default Value

-1

Remarks

A string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted. The minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.



Max Log File Size

Data Type

string

Default Value

"100MB"

Remarks

A string specifying the maximum size in bytes for a log file (for example, 10 MB). When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.



Max Rows

Data Type

int

Default Value

-1

Remarks

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.



Netsuite Metadata Folder

Data Type

string

Default Value

""

Remarks

In order to avoid needless overhead, the driver downloads a number of metadata files from the NetSuite API. If NetsuiteMetadataFolder is not specified then the Location will be used. Always set a value for NetsuiteMetadata for best performance. If this directory is empty, the driver will download the schema files from Netsuite and use them for subsequent metadata queries. The file extension for these metadata files is xsd. This metadata only includes the statically defined tables and views specific to the Netsuite Version. Custom fields and tables are not included in this metadata. The driver will create a different subfolder for each Netsuite Version that you connect to.



OAuth Access Token

Data Type

string

Default Value

""

Remarks

The OAuthAccessToken property is used to connect using OAuth. The OAuthAccessToken is retrieved from the OAuth server as part of the authentication process. It has a server-dependent timeout and can be reused between requests.

The access token is used in place of your user name and password. The access token protects your credentials by keeping them on the server.



OAuth Access Token Secret

Data Type

string

Default Value

""

Remarks

The OAuthAccessTokenSecret property is used to connect and authenticate using OAuth. The OAuthAccessTokenSecret is retrieved from the OAuth server as part of the authentication process. It is used with the OAuthAccessToken and can be used for multiple requests until it times out.



OAuth Client Id

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.



OAuth Client Secret

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.



OAuth Expires In

Data Type

string

Default Value

""

Remarks

Pair with OAuthTokenTimestamp to determine when the AccessToken will expire.



OAuth Settings Location

Data Type

string

Default Value

"%APPDATA%\\CData\\NetSuite Data Provider\\OAuthSettings.txt"

Remarks

When InitiateOAuth is set to GETANDREFRESH or REFRESH, the driver saves OAuth values to avoid requiring the user to manually enter OAuth connection properties and allowing the credentials to be shared across connections or processes.

Alternatively to specifying a file path, memory storage can be used instead. Memory locations are specified by using a value starting with 'memory://' followed by a unique identifier for that set of credentials (ex: memory://user1). The identifier can be anything you choose but should be unique to the user. Unlike with the file based storage, you must manually store the credentials when closing the connection with memory storage to be able to set them in the connection when the process is started again. The OAuth property values can be retrieved with a query to the sys_connection_props system table. If there are multiple connections using the same credentials, the properties should be read from the last connection to be closed.

If left unspecified, the default location is "%APPDATA%\\CData\\NetSuite Data Provider\\OAuthSettings.txt" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



OAuth Token Timestamp

Data Type

string

Default Value

""

Remarks

Pair with OAuthExpiresIn to determine when the AccessToken will expire.



OAuth Verifier

Data Type

string

Default Value

""

Remarks

The verifier code returned from the OAuth authorization URL. This can be used on systems where a browser cannot be launched such as headless systems.

Authentication on Headless Machines

See Getting Started to obtain the OAuthVerifier value.

Set OAuthSettingsLocation along with OAuthVerifier. When you connect, the driver exchanges the OAuthVerifier for the OAuth authentication tokens and saves them, encrypted, to the specified file. Set InitiateOAuth to GETANDREFRESH automate the exchange.

Once the OAuth settings file has been generated, you can remove OAuthVerifier from the connection properties and connect with OAuthSettingsLocation set.

To automatically refresh the OAuth token values, set OAuthSettingsLocation and additionally set InitiateOAuth to REFRESH.

The verifier code returned from the OAuth authorization URL. This can be used on systems where a browser cannot be launched such as headless systems.

Authentication on Headless Machines

See Getting Started to obtain the OAuthVerifier value.

Set OAuthSettingsLocation along with OAuthVerifier. When you connect, the driver exchanges the OAuthVerifier for the OAuth authentication tokens and saves them, encrypted, to the specified file. Set InitiateOAuth to GETANDREFRESH automate the exchange.

Once the OAuth settings file has been generated, you can remove OAuthVerifier from the connection properties and connect with OAuthSettingsLocation set.

To automatically refresh the OAuth token values, set OAuthSettingsLocation and additionally set InitiateOAuth to REFRESH.



Offline

Data Type

bool

Default Value

false

Remarks

When Offline = true, all queries execute against the cache as opposed to the live data source. In this mode, certain queries like INSERT, UPDATE, DELETE, and CACHE are not allowed.



Other

Data Type

string

Default Value

""

Remarks

The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.

Specify multiple properties in a semicolon-separated list.

Caching Configuration

CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the driver.

Integration and Formatting

DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMTDetermines whether to convert date-time values to GMT, instead of the local time of the machine.
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.



Pagesize

Data Type

string

Default Value

""

Remarks

The pagesize can control the number of results requested from NetSuite on a given query. Setting a higher pagesize will cause more data to come back in a given request, but may take longer to execute. Setting a smaller pagesize is generally recommended to ensure timeout exceptions do not occur.



Password

Data Type

string

Default Value

""

Remarks

Together with User and AccountId, this field is used to authenticate to NetSuite.



Pool Idle Timeout

Data Type

int

Default Value

60

Remarks

The allowed idle time a connection can remain in the pool until the connection is closed. The default is 60 seconds.



Pool Max Size

Data Type

int

Default Value

100

Remarks

The maximum connections in the pool. The default is 100. To disable this property, set the property value to 0 or less.



Pool Min Size

Data Type

int

Default Value

1

Remarks

The minimum number of connections in the pool. The default is 1.



Pool Wait Time

Data Type

int

Default Value

60

Remarks

The max seconds to wait for a connection to become available. If a new connection request is waiting for an available connection and exceeds this time, an error is thrown. By default, new requests wait forever for an available connection.



Proxy Auth Scheme

Data Type

string

Default Value

"BASIC"

Remarks

This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.

Note that the driver will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.

The authentication type can be one of the following:

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.



Proxy Auto Detect

Data Type

bool

Default Value

false

Remarks

This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

NOTE: When this property is set to True, the proxy used is determined as follows:

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.



Proxy Exceptions

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note that the driver uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.



Proxy Password

Data Type

string

Default Value

""

Remarks

This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.

If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.

If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.

For SOCKS 5 authentication or tunneling, see FirewallType.

By default, the driver uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.



Proxy Port

Data Type

int

Default Value

80

Remarks

The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.



Proxy Server

Data Type

string

Default Value

""

Remarks

The hostname or IP address of a proxy to route HTTP traffic through. The driver can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.

If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.

By default, the driver uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.



Proxy SSL Type

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:

AUTODefault setting. If the URL is an HTTPS URL, the driver will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.



Proxy User

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:

user@domain

domain\user



Pseudo Columns

Data Type

string

Default Value

""

Remarks

This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".



Readonly

Data Type

bool

Default Value

false

Remarks

If this property is set to true, the driver will allow only SELECT queries. INSERT, UPDATE, DELETE, and stored procedure queries will cause an error to be thrown.



Report Doubles As Decimal

Data Type

bool

Default Value

true

Remarks

In the NetSuite API, all columns are reported as doubles. However, this can cause rounding issues when used in aggregation queries. It is generally expected that when monetary columns are used, they should be reported and stored as decimal. While we cannot change how the NetSuite API handles these columns, we can represent them in our tools as decimal so that their use in formulas like aggregations are not subject to these problems. For backwards compatibility on existing implementations, this property be set to false.



Request Memorized Transactions

Data Type

bool

Default Value

false

Remarks

Memorized transactions in NetSuite are transactions that have been memorized for potentially being used again at a later time. They can be set up to recur on a regular basis or as a reminder to the user.



Role Id

Data Type

string

Default Value

""

Remarks

Together with User, Password, and AccountId this field is used to authenticate to NetSuite. If no RoleId is specified, the user's default role will be used. Otherwise, a RoleId may be obtained by logging into NetSuite, and navigating to the Setup -> Integration -> Web Services Preferences page. Here you can select a different Web Services Default Role as well as obtain the Id, displayed next to the specified role.



RTK

Data Type

string

Default Value

""

Remarks

The RTK property may be used to license a build. See the included licensing file to see how to set this property. The runtime key is only available if you purchased an OEM license.



Schema

Data Type

string

Default Value

"SuiteTalk"

Remarks

The schemas available are SuiteTalk (to use SuiteTalk SOAP API and SuiteScript) and SuiteQL (to use REST API via SuiteQL).



SSL Server Cert

Data Type

string

Default Value

""

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.



Support Enhanced SQL

Data Type

bool

Default Value

true

Remarks

When SupportEnhancedSQL = true, the driver offloads as much of the SELECT statement processing as possible to NetSuite and then processes the rest of the query in memory. In this way, the driver can execute unsupported predicates, joins, and aggregation.

When SupportEnhancedSQL = false, the driver limits SQL execution to what is supported by the NetSuite API.

Execution of Predicates

The driver determines which of the clauses are supported by the data source and then pushes them to the source to get the smallest superset of rows that would satisfy the query. It then filters the rest of the rows locally. The filter operation is streamed, which enables the driver to filter effectively for even very large datasets.

Execution of Joins

The driver uses various techniques to join in memory. The driver trades off memory utilization against the requirement of reading the same table more than once.

Execution of Aggregates

The driver retrieves all rows necessary to process the aggregation in memory.



Tables

Data Type

string

Default Value

""

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



Timeout

Data Type

int

Default Value

300

Remarks

If the Timeout property is set to 0, operations do not time out: They run until they complete successfully or encounter an error condition. If Timeout expires and the operation is not yet complete, the driver throws an exception.

In NetSuite, operations can take a very long time to return if retrieving data from child tables or retrieving data from a given table with AggregateColumnMode set to ListAndRetrieve. For instance, it is not unheard of for it to take in excess of 10 minutes to retrieve 1000 SalesOrders in a single request from NetSuite when AggregateColumnMode is set to ListAndRetrieve. Unfortunately, this is a limitation of the NetSuite Web Services with no known solution. If you need to work with aggregate columns or child tables, set Timeout to 0, set a small Pagesize, and select specific columns instead of everything.



Use Async Services

Data Type

bool

Default Value

false

Remarks

NetSuite responses can be fairly slow, especially when inserting, updating, or deleting many records at a time. In these situations it is best to use asynchronous services to submit the data. Asynchronous services allow NetSuite to process the data while your application continues executing. The downside of using asynchronous services is that you will need to check the Job in NetSuite to see if NetSuite has finished processing the request and see if there were any issues.



Use Connection Pooling

Data Type

bool

Default Value

false

Remarks

This property enables connection pooling. The default is false. See Connection Pooling for information on using connection pools.



Use Internal Names For Customizations

Data Type

bool

Default Value

false

Remarks

Typically the Label of a customization is shown when surfacing tables for custom records, and columns for custom field. This is done for ease of use so that things appear as they do in the NetSuite UI. However, it is technically not guaranteed to remain the same. If someone goes into NetSuite and modifies the label, it will cause the custom field or custom record to change name in our tool. Setting UseInternalNamesForCustomizations to false will instead cause the internal API names (which cannot be changed) to be surfaced for these tables and custom fields instead.



User

Data Type

string

Default Value

""

Remarks

Together with AccountId and Password, this field is used to authenticate to NetSuite.



User Timezone Offset

Data Type

string

Default Value

""

Remarks

NetSuite returns dates offset based on your user timezone preferences. This applies only to Dates, and not to Datetimes, which always return the same way no matter your preferences. We attempt a best effort to automatically correct for this and return dates as they would appear in the NetSuite UI. However, this is not 100% perfect due to how a few time zones are offset by 24 hours or greater depending on daylight savings time. If your user preferences are set to +13:00, +12:00, or -12:00, this value must be specified to get dates to show up correctly. For other offsets it is not required but recommended for best accuracy.



Use Simple Names

Data Type

bool

Default Value

false

Remarks

NetSuite tables and columns can use special characters in names that are normally not allowed in standard databases. UseSimpleNames makes the driver easier to use with traditional database tools.

Setting UseSimpleNames to true will simplify the names of tables and columns returned. It will enforce a naming scheme such that only alphanumeric characters and the underscore are valid for the displayed table and column names. Any nonalphanumeric characters will be converted to an underscore.



Use Upserts

Data Type

bool

Default Value

false

Remarks

Upserts can be used to potentially update an existing record when inserting. NetSuite handles this by using the ExternalId on a given record. If you perform an insert when the ExternalId you specify exists in NetSuite, it will instead update the corresponding record. Otherwise an insert will take place. Set this value to false to always insert new records regardless.



Verbosity

Data Type

string

Default Value

"1"

Remarks

The verbosity level determines the amount of detail that the driver reports to the Logfile. Verbosity levels from 1 to 5 are supported. These are described in the following list:

1Setting Verbosity to 1 will log the query, the number of rows returned by it, the start of execution and the time taken, and any errors.
2Setting Verbosity to 2 will log everything included in Verbosity 1, cache queries, and additional information about the request, if applicable, such as HTTP headers.
3Setting Verbosity to 3 will additionally log the body of the request and the response.
4Setting Verbosity to 4 will additionally log transport-level communication with the data source. This includes SSL negotiation.
5Setting Verbosity to 5 will additionally log communication with the data source and additional details that may be helpful in troubleshooting problems. This includes interface commands.

The Verbosity should not be set to greater than 1 for normal operation. Substantial amounts of data can be logged at higher verbosities, which can delay execution times.



Version

Data Type

string

Default Value

"2020_2"

Remarks

In most cases the version should not need to be changed. However, if you modify the version, please make sure beforehand that the version specified exists as part of the NetSuite API. If an incorrect version is specified, the driver will be unable to retrieve or update tables in NetSuite.



Views

Data Type

string

Default Value

""

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



Web Service Host

Data Type

string

Default Value

""

Remarks

This is an override for the web services host if for some reason the host cannot be dynamically resolved. It intended as a last resort and should not normally need to be specified.

In most cases the web service host will be dynamically determined by using the NetSuite web service request that retrieves the correct web service host for your Account. This will result in one extra request each time you create and establish a new connection. If you would like to avoid this extra request or are having difficulty getting the service host to be resolved, you can instead set the WebServiceHost to override it.

The web service host should be in the format. Note that any '_' in the account id should be replaced with a '-'. The account id should be in all lowercase: [accountId].suitetalk.api.netsuite.com

The web service host may be obtained by logging into NetSuite ad an administrator and navigating to Setup --> Company --> Company Information. Under the Company URLs tab, find the url listed under the SuiteTalk url.





ViewsBack To Top

  1. BudgetExchangeRate
  2. ConsolidatedExchangeRate
  3. CustomFields
  4. CustomRecords
  5. EnumerationValues
  6. MyRoles
  7. PostingTransactionSummary
  8. SavedSearches
  9. SavedSearchRawXML
  10. Transactions

BudgetExchangeRate

Retrieves the budget expense rate from NetSuite.

Columns

Name Type Description
Period_InternalId String
FromSubsidiary_InternalId String
ToSubsidiary_InternalId String
CurrentRate Double
AverageRate Double
HistoricalRate Double



ConsolidatedExchangeRate

Gets the consolidated exchange rate, by default for each month of the actual year . You can also filter the result by PeriodName (ex. WHERE PeriodName = 'Q2 2008') or by Period_InternalId (ex. WHERE Period_InternalId = '166') .

Columns

Name Type Description
Period_InternalId String
FromSubsidiary_InternalId String
ToSubsidiary_InternalId String
CurrentRate Double Current actual exchange rate
AverageRate Double Average actual exchange rate
HistoricalRate Double Historical actual exchange rate

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Parent_InternalId String
PeriodName String



CustomFields

Returns information about the custom fields in NetSuite. CustomFields may be retrieved by CustomFieldType, or by a combination of CustomFieldType and InternalId. If no CustomFieldType is specified, all custom fields will be returned.

Columns

Name Type Description
InternalId String The InternalId of the custom field.
ScriptId String The ScriptId of the custom field.
Label String The name of the custom field.
CustomFieldType String The type of custom field being requested.
AccessLevel String The level of access granted to interact with this custom field.
AvailableExternally Boolean A boolean indicating if this custom field is available externally.
CheckSpelling Boolean A boolean indicating if spell check is enabled for this custom field.
DefaultChecked Boolean A boolean indicating if this field is checked by default.
DefaultSelection_InternalId String The internalid of the default record for this custom field.
DefaultSelection_Name String The name of the default record for this custom field.
DefaultValue String The default value for this custom field.
Description String A description for the custom field.
DynamicDefault String The dynamic default value determined when an entity is created.
DisplayType String The way the column is displayed to a user on NetSuite.
FieldType String A boolean describing what type of data is stored in the custom field.
Help String Help information that comes up when you mouse over the custom field in NetSuite.
IsFormula Boolean A boolean indicating if the custom field is a formula.
IsMandatory Boolean A boolean indicating if the custom field is mandatory.
IsParent Boolean A boolean indicating if the custom field is a parent.
ItemSubType String What type of items this custom field is available for (purchase, sale, or both).
MaxLength Long The maximum length for the custom field if it is an integer or long.
MaxValue Double The maximum value for the custom field if it is a double.
MinValue Double The minimum value for the custom field if it is a double.
Owner_Name String The name of the owner of the custom field.
Owner_InternalId String The internalid of the owner of the custom field.
SelectRecordType_InternalId String The internalId of the type of record that may be selected for this custom field.
SelectRecordType_Name String The name of the type of record that may be selected for this custom field.
ShowInList Boolean A boolean indicating if this field should be shown in a listing.
ShowIssuesChanges Boolean A boolean indicating if NetSuite shows changes to this field on the Issue record.
StoreValue Boolean A boolean indicating if this field stores a value.
Subtab_Name String The name of the subtab this custom field may be found on.
Subtab_InternalId String The internal id of the subtab this custom field may be found on.
RecType_Name String The name of the record type this custom field is applicable for. Only valid for OtherCustomFields.
RecType_InternalId String The internalid of the record type this custom field is applicable for. Only valid for OtherCustomFields.
AppliesToAllItems Boolean A boolean indicating if this custom field applies to all items.
AppliesToCase Boolean A boolean indicating if this custom field applies to the support case record.
AppliesToCampaign Boolean A boolean indicating if this custom field applies to the campaign record.
AppliesToContact Boolean A boolean indicating if this custom field applies to the contact record.
AppliesToCustomer Boolean A boolean indicating if this custom field applies to the customer record.
AppliesToEmployee Boolean A boolean indicating if this custom field applies to the employee record.
AppliesToEvent Boolean A boolean indicating if this custom field applies to the event record.
AppliesToGiftCerts Boolean A boolean indicating if this custom field applies to gift certificates.
AppliesToGroup Boolean A boolean indicating if this custom field applies to groups.
AppliesToInventory Boolean A boolean indicating if this custom field applies to the inventory items.
AppliesToIssue Boolean A boolean indicating if this custom field applies to the issue record.
AppliesToItemAssembly Boolean A boolean indicating if this custom field applies to the item assemblies.
AppliesPerKeyword Boolean A boolean indicating if this custom field applies per keyword.
AppliesToKit Boolean A boolean indicating if this custom field applies to kit items.
AppliesToLots Boolean A boolean indicating if this custom field applies to all items lots.
AppliesToMfgProjectTask Boolean A boolean indicating if this custom field applies to manufacturing operation tasks.
AppliesToNonInventory Boolean A boolean indicating if this custom field applies to non inventory items.
AppliesToProject Boolean A boolean indicating if this custom field applies to the job record.
AppliesToOtherCharge Boolean A boolean indicating if this custom field applies to other charges.
AppliesToOtherName Boolean A boolean indicating if this custom field applies to other names records.
AppliesToPartner Boolean A boolean indicating if this custom field applies to the partner record.
AppliesToPhoneCall Boolean A boolean indicating if this custom field applies to the phone call record.
AppliesToProjectTask Boolean A boolean indicating if this custom field applies to the project task record.
AppliesToPriceList Boolean A boolean indicating if this custom field applies to the price list.
AppliesToSerialized Boolean A boolean indicating if this custom field applies to all serialized items
AppliesToService Boolean A boolean indicating if this custom field applies to service items.
AppliesToSolution Boolean A boolean indicating if this custom field applies to the solution record.
AppliesToStatement Boolean A boolean indicating if this custom field applies to the statement record.
AppliesToTask Boolean A boolean indicating if this custom field applies to the task record.
AppliesToWebSite Boolean A boolean indicating if this custom field applies to the website record.
AppliesToVendor Boolean A boolean indicating if this custom field applies to the vendor record.
BodyAssemblyBuild Boolean A boolean indicating if this custom field appears on the body of assembly build transactions.
BodyBom Boolean A boolean indicating if this custom field should be printed on on the body of a BOM.
BodyCustomerPayment Boolean A boolean indicating if this custom field appears on the body of customer payment transactions.
BodyDeposit Boolean A boolean indicating if this custom field appears on the body of deposit transactions.
BodyExpenseReport Boolean A boolean indicating if this custom field appears on the body of expense report transactions.
BodyInventoryAdjustment Boolean A boolean indicating if this custom field appears on the body of inventory adjustment transactions.
BodyItemFulfillment Boolean A boolean indicating if this custom field appears on the body of item fulfillment transactions.
BodyItemFulfillmentOrder Boolean A boolean indicating if this custom field appears on the body of item fulfillment order transactions.
BodyItemReceipt Boolean A boolean indicating if this custom field appears on the body of item receipt transactions.
BodyItemReceiptOrder Boolean A boolean indicating if this custom field appears on the body of item receipt order transactions.
BodyJournal Boolean A boolean indicating if this custom field appears on the body of journal transactions.
BodyOpportunity Boolean A boolean indicating if this custom field appears on the body of opportunity transactions.
BodyPickingTicket Boolean A boolean indicating if this custom field should be printed on the body of picking tickets.
BodyPrintFlag Boolean A boolean indicating if this custom field should be printed on the body of standard forms.
BodyPrintPackingSlip Boolean A boolean indicating if this custom field should be printed on the body of packing slips.
BodyPrintStatement Boolean A boolean indicating if this custom field should be printed on the body of statements.
BodyPurchase Boolean A boolean indicating if this custom field appears on the body of purchase transactions.
BodySale Boolean A boolean indicating if this custom field appears on the body of sale transactions.
BodyStore Boolean A boolean indicating if this custom field appears on the body of store transactions.
BodyTransferOrder Boolean A boolean indicating if this custom field appears on the body of transfer order transactions.
BodyVendorPayment Boolean A boolean indicating if this custom field appears on the body of vendor payment transactions.
ColAllItems Boolean A boolean indicating if this custom field appears in the item list for all items.
ColBuild Boolean A boolean indicating if this custom field appears in the item list for work order transactions.
ColExpense Boolean A boolean indicating if this custom field appears in the item list for expense transactions.
ColExpenseReport Boolean A boolean indicating if this custom field appears in the item list for expense report transactions.
ColGroupOnInvoices Boolean A boolean indicating if this custom field is grouped on invoices.
ColItemFulfillment Boolean A boolean indicating if this custom field appears in the item list for item fulfillment transactions.
ColItemFulfillmentOrder Boolean A boolean indicating if this custom field appears in the item list for item fulfillment order transactions.
ColItemReceipt Boolean A boolean indicating if this custom field appears in the item list for item receipt transactions.
ColItemReceiptOrder Boolean A boolean indicating if this custom field appears in the item list for item receipt order transactions.
ColJournal Boolean A boolean indicating if this custom field appears in the item list for journal transactions.
ColKitItem Boolean A boolean indicating if this custom field appears in the item list for kit / assembly components.
ColOpportunity Boolean A boolean indicating if this custom field appears in the item list for opportunity transactions.
ColPackingSlip Boolean A boolean indicating if this custom field should be printed on the item list for packing slips.
ColPickingTicket Boolean A boolean indicating if this custom field should be printed on the item list for picking tickets.
ColPrintFlag Boolean A boolean indicating if this custom field should be printed on the item list for standard forms.
ColPurchase Boolean A boolean indicating if this custom field appears in the item list for purchase transactions.
ColReturnForm Boolean A boolean indicating if this custom field should be printed on the item list for return forms.
ColSale Boolean A boolean indicating if this custom field appears in the item list for sale transactions.
ColStore Boolean A boolean indicating if this custom field applies to your web store items .
ColStoreHidden Boolean A boolean indicating if this custom field should be hidden on your web store transactions.
ColStoreWithGroups Boolean A boolean indicating if this custom field should apply to item groups.
ColTime Boolean A boolean indicating if this custom field appears in the item list for time transactions.
ColTimeGroup Boolean A boolean indicating if this custom field appears apply to time groups.
ColTransferOrder Boolean A boolean indicating if this custom field appears in the item list for transfer order transactions.
ItemsListAggregate String An aggregate of individual items this custom field applies to.
DeptAccessListAggregate String An aggregate of the departments that have access to the custom field.
RoleAccessListAggregate String An aggregate of roles that have access this custom field.
SubAccessListAggregate String An aggregate of the subsidiaries that have access to this custom field.
TranslationsListAggregate String An aggregage of translations for the custom field label and help.



CustomRecords

Returns information about the custom records in NetSuite.

Columns

Name Type Description
InternalId String The InternalId of the custom record.
ScriptId String The ScriptId of the custom record.
Name String The name of the custom record.
AccessType String The access type for the custom record.
AllowAttachments Boolean A boolean indicating if the custom record allows attachments.
AllowNumberingOverride Boolean A boolean for the allow override property fo the custom record.
AllowQuickSearch Boolean A boolean indiating if quick searches are enabled for the custom record.
Description String A description of the custom record.
Disclaimer String A disclaimer for the custom record.
EnableInlineEditing Boolean A boolean indicating if inline editing is enabled.
EnableMailMerge Boolean A boolean indicating if mail merge is enabled.
EnableNameTranslation Boolean A boolean indicating if name translations are enabled.
EnableNumbering Boolean A boolean indicating if numbering is enabled.
IncludeName Boolean A boolean idicating if the name field is included.
IsAvailableOffline Boolean A boolean indicating if the custom record is available offline.
IsInactive Boolean A boolean indicating if the record is inactive.
IsNumberingUpdateable Boolean A boolean indicating if the numbering number is updatable.
IsOrdered Boolean A boolean indicating if records are ordered.
NumberingCurrentNumber Long The current numbering number.
NumberingInit Long The initial numbering number.
NumberingMinDigits Long A minimum number of digits for the numbering number.
NumberingPrefix String A prefix for the numbering number.
NumberingSuffix String A suffix added to the numbering number.
Owner_internalid String The internalid of the owner of the custom record.
Owner_name String The name of the owner of the custom record.
ShowCreationDate Boolean A boolean indicating if the custom record should show the creation date.
ShowCreationDateOnList Boolean A boolean indicating if the custom record should show the creation date when listed.
ShowId Boolean A boolean indicating if the custom record should show the id.
ShowLastModified Boolean A boolean indicating if the custom record should show the last modified date.
ShowLastModifiedOnList Boolean A boolean indicating if the custom record should show the creation date when listed.
ShowNotes Boolean A boolean indicating if the custom record should show notes.
ShowOwner Boolean A boolean indicating if the custom record should show the owner.
ShowOwnerAllowChange Boolean A boolean indicating if the custom record should show if the owner allows changes.
ChildrenListAggregate String An aggregate of the children collection for the custom record.
FormsListAggregate String An aggregate of the forms collection for the custom record.
LinksListAggregate String An aggregate of the links collection for the custom record.
ManagersListAggregate String An aggregate of the managers collection for the custom record.
OnlineFormsListAggregate String An aggregate of the online forms collection for the custom record.
ParentsListAggregate String An aggregate of the parents collection for the custom record.
PermissionsListAggregate String An aggregate of the permissions collection for the custom record.
SublistsListAggregate String An aggregate of the sublists collection for the custom record.
TabsListAggregate String An aggregate of the tabs collection for the custom record.
TranslationsListAggregate String An aggregate of the translations collection for the custom record.



EnumerationValues

Retrieves enumeration values for a given table. Will only return values if the TableName is specified. Only available for native tables within NetSuite and not Custom tables.

Columns

Name Type Description
ColumnName String The InternalId of the role.
TableName String The name of the table to retrieve enumeration value information from.
Values String The available values for the enumeration column.



MyRoles

Returns the roles available for the authenticated user. This may include information for additional accounts the user is authorized to access.

Columns

Name Type Description
AccountId String The account the role is associated with.
RoleId String The InternalId of the role.
AccountName String The name of the account.
RoleName String The name of the role.



PostingTransactionSummary

Retrieves a posting transaction summary from NetSuite. This is the reporting mechanism available from NetSuite. All record reference columns may be used in filter using either either the = or IN operator. Other operator types are not available. For NetSuite OneWorld customers, ConvertToSubsidiary may also be specified as the subsidiary all response values should be converted to.

Columns

Name Type Description
Period_InternalId String
Account_InternalId String
ParentItem_InternalId String
Item_InternalId String
Entity_InternalId String
Department_InternalId String
Class_InternalId String
Location_InternalId String
Subsidiary_InternalId String
Book_InternalId String
OriginalAmount Double The original amount as returned by NetSuite in the currency of the subsidiary returned.
OriginalCurrency String The name of the original currency. Will only have a value if ConvertToSubsidiary is specified.
ConvertedAmount Double The amount converted to the currency of the subsidiary specified by ConvertToSubsidiary.
ConvertedCurrency String The name of the currency that has been converted to. Will only have a value if ConvertToSubsidiary is specified.
ConvertToSubsidiary String The subsidiary to convert to.
ConvertToRateType String The type of rate conversion to use. Defaults to Current if not specified. See the ConsolidatedExchangeRate table for the actual rates that will be used to make the conversion.

The allowed values are Average, Current, Historical.



SavedSearches

Returns the saved searches in NetSuite. A SearchType must be specified in order to retrieve saved searches.

Columns

Name Type Description
InternalId String The InternalId of the saved search.
Name String The name of the saved search.
SearchType String The type of search. This value must be specified when retrieving data.

The allowed values are Account, AccountingPeriod, AccountingTransaction, BillingAccount, BillingSchedule, Bin, Bom, BomRevision, Budget, CalendarEvent, Campaign, Charge, Classification, Contact, ContactCategory, ContactRole, CostCategory, ConsolidatedExchangeRate, CouponCode, CurrencyRate, Customer, CustomerCategory, CustomerMessage, CustomerStatus, CustomerSubsidiaryRelationship, CustomList, CustomRecord, Department, Employee, EntityGroup, ExpenseCategory, FairValuePrice, File, Folder, GiftCertificate, GlobalAccountMapping, HcmJob, InboundShipment, InventoryNumber, Item, ItemAccountMapping, ItemDemandPlan, ItemRevision, ItemSupplyPlan, Issue, Job, JobStatus, JobType, Location, ManufacturingCostTemplate, ManufacturingOperationTask, ManufacturingRouting, MerchandiseHierarchyNode, Message, Nexus, Note, NoteType, Opportunity, OtherNameCategory, Partner, PartnerCategory, Paycheck, PaymentMethod, PayrollItem, PhoneCall, PriceLevel, PricingGroup, ProjectTask, PromotionCode, ResourceAllocation, RevRecSchedule, RevRecTemplate, SalesRole, SalesTaxItem, Solution, SiteCategory, Subsidiary, SupportCase, Task, TaxGroup, TaxType, Term, TimeBill, TimeSheet, Topic, Transaction, UnitsType, Usage, Vendor, VendorCategory, VendorSubsidiaryRelationship, WinLossReason.



SavedSearchRawXML

Returns the raw XML from a saved search.

Columns

Name Type Description
SavedSearchId String The InternalId of the saved search.
SearchType String The type of search being used.

The allowed values are Account, AccountingPeriod, AccountingTransaction, BillingAccount, BillingSchedule, Bin, Bom, BomRevision, Budget, CalendarEvent, Campaign, Charge, Classification, Contact, ContactCategory, ContactRole, CostCategory, ConsolidatedExchangeRate, CouponCode, CurrencyRate, Customer, CustomerCategory, CustomerMessage, CustomerStatus, CustomerSubsidiaryRelationship, CustomList, CustomRecord, Department, Employee, EntityGroup, ExpenseCategory, FairValuePrice, File, Folder, GiftCertificate, GlobalAccountMapping, HcmJob, InboundShipment, InventoryNumber, Item, ItemAccountMapping, ItemDemandPlan, ItemRevision, ItemSupplyPlan, Issue, Job, JobStatus, JobType, Location, ManufacturingCostTemplate, ManufacturingOperationTask, ManufacturingRouting, MerchandiseHierarchyNode, Message, Nexus, Note, NoteType, Opportunity, OtherNameCategory, Partner, PartnerCategory, Paycheck, PaymentMethod, PayrollItem, PhoneCall, PriceLevel, PricingGroup, ProjectTask, PromotionCode, ResourceAllocation, RevRecSchedule, RevRecTemplate, SalesRole, SalesTaxItem, Solution, SiteCategory, Subsidiary, SupportCase, Task, TaxGroup, TaxType, Term, TimeBill, TimeSheet, Topic, Transaction, UnitsType, Usage, Vendor, VendorCategory, VendorSubsidiaryRelationship, WinLossReason.

ResponseXML String The ScriptId of the custom field.



Transactions

A view for transactions on NetSuite.

Columns

Name Type Description
InternalId [KEY] String The internalid of the transaction.
Type String The transaction type.

The allowed values are _assemblyBuild, _assemblyUnbuild, _binTransfer, _binWorksheet, _cashRefund, _cashSale, _check, _creditMemo, _custom, _customerDeposit, _customerPayment, _customerRefund, _deposit, _depositApplication, _estimate, _expenseReport, _inventoryAdjustment, _inventoryCostRevaluation, _inventoryTransfer, _invoice, _itemFulfillment, _itemReceipt, _journal, _opportunity, _paycheckJournal, _purchaseOrder, _requisition, _returnAuthorization, _salesOrder, _transferOrder, _vendorBill, _vendorCredit, _vendorPayment, _vendorReturnAuthorization, _workOrder, _workOrderClose, _workOrderCompletion, _workOrderIssue.

Account_InternalId String Internal id of the account.
Account_Name String Name of the account.
Amount Double Amount on the transaction.
BillingAddress String The billing address.
BillingAccount_InternalId String The billing account internal id.
BillingAccount_Name String The billing account name.
CloseDate Datetime The date closed.
CreatedDate Datetime The date created.
CreatedFrom_InternalId String Created from id.
Currency_InternalId String The currency id.
Currency_Name String The currency name.
CustomForm_InternalId String The custom form id.
CustomForm_Name String The custom form name.
DueDate Datetime The due date.
Email String The email address.
EndDate Datetime The end date.
Entity_InternalId String The entity id.
Entity_Name String The entity name.
Entity_Type String The entity type.

The allowed values are account, accountingPeriod, appDefinition, appPackage, assemblyBuild, assemblyUnbuild, assemblyItem, billingAccount, billingSchedule, bin, binTransfer, binWorksheet, budget, budgetCategory, calendarEvent, campaign, campaignAudience, campaignCategory, campaignChannel, campaignFamily, campaignOffer, campaignResponse, campaignSearchEngine, campaignSubscription, campaignVertical, cashRefund, cashSale, check, charge, classification, contact, contactCategory, contactRole, costCategory, couponCode, creditMemo, crmCustomField, currency, currencyRate, customList, customRecord, customRecordCustomField, customRecordType, customTransaction, customTransactionType, customer, customerCategory, customerDeposit, customerMessage, customerPayment, customerRefund, customerStatus, deposit, depositApplication, department, descriptionItem, discountItem, downloadItem, employee, entityCustomField, entityGroup, estimate, expenseCategory, expenseReport, file, folder, giftCertificate, giftCertificateItem, globalAccountMapping, interCompanyJournalEntry, interCompanyTransferOrder, inventoryAdjustment, inventoryCostRevaluation, inventoryItem, inventoryNumber, inventoryTransfer, invoice, itemAccountMapping, itemCustomField, itemDemandPlan, itemFulfillment, itemGroup, itemNumberCustomField, itemOptionCustomField, itemSupplyPlan, itemRevision, issue, job, jobStatus, jobType, itemReceipt, journalEntry, kitItem, leadSource, location, lotNumberedInventoryItem, lotNumberedAssemblyItem, markupItem, message, manufacturingCostTemplate, manufacturingOperationTask, manufacturingRouting, nexus, nonInventoryPurchaseItem, nonInventoryResaleItem, nonInventorySaleItem, note, noteType, opportunity, otherChargePurchaseItem, otherChargeResaleItem, otherChargeSaleItem, otherCustomField, otherNameCategory, partner, partnerCategory, paycheckJournal, paymentItem, paymentMethod, payrollItem, phoneCall, priceLevel, pricingGroup, projectTask, promotionCode, purchaseOrder, purchaseRequisition, resourceAllocation, returnAuthorization, revRecSchedule, revRecTemplate, salesOrder, salesRole, salesTaxItem, serializedInventoryItem, serializedAssemblyItem, servicePurchaseItem, serviceResaleItem, serviceSaleItem, solution, siteCategory, state, statisticalJournalEntry, subsidiary, subtotalItem, supportCase, supportCaseIssue, supportCaseOrigin, supportCasePriority, supportCaseStatus, supportCaseType, task, taxAcct, taxGroup, taxType, term, timeBill, timeSheet, topic, transferOrder, transactionBodyCustomField, transactionColumnCustomField, unitsType, vendor, vendorCategory, vendorBill, vendorCredit, vendorPayment, vendorReturnAuthorization, winLossReason, workOrder, workOrderIssue, workOrderCompletion, workOrderClose.

ExchangeRate Double The exchange rate.
ExpectedCloseDate Datetime The expected close date.
ExternalId String The transaction external id.
Fob String The email address.
IntercoTransaction_InternalId String The intercompany transaction id.
Job_InternalId Job The job id.
Job_Name Job The job name.
LastModifiedDate Datetime The last modified date.
LeadSource_InternalId String The lead source id.
LeadSource_Name String The lead source name.
LeadSource_Type String The lead source type.

The allowed values are account, accountingPeriod, appDefinition, appPackage, assemblyBuild, assemblyUnbuild, assemblyItem, billingAccount, billingSchedule, bin, binTransfer, binWorksheet, budget, budgetCategory, calendarEvent, campaign, campaignAudience, campaignCategory, campaignChannel, campaignFamily, campaignOffer, campaignResponse, campaignSearchEngine, campaignSubscription, campaignVertical, cashRefund, cashSale, check, charge, classification, contact, contactCategory, contactRole, costCategory, couponCode, creditMemo, crmCustomField, currency, currencyRate, customList, customRecord, customRecordCustomField, customRecordType, customTransaction, customTransactionType, customer, customerCategory, customerDeposit, customerMessage, customerPayment, customerRefund, customerStatus, deposit, depositApplication, department, descriptionItem, discountItem, downloadItem, employee, entityCustomField, entityGroup, estimate, expenseCategory, expenseReport, file, folder, giftCertificate, giftCertificateItem, globalAccountMapping, interCompanyJournalEntry, interCompanyTransferOrder, inventoryAdjustment, inventoryCostRevaluation, inventoryItem, inventoryNumber, inventoryTransfer, invoice, itemAccountMapping, itemCustomField, itemDemandPlan, itemFulfillment, itemGroup, itemNumberCustomField, itemOptionCustomField, itemSupplyPlan, itemRevision, issue, job, jobStatus, jobType, itemReceipt, journalEntry, kitItem, leadSource, location, lotNumberedInventoryItem, lotNumberedAssemblyItem, markupItem, message, manufacturingCostTemplate, manufacturingOperationTask, manufacturingRouting, nexus, nonInventoryPurchaseItem, nonInventoryResaleItem, nonInventorySaleItem, note, noteType, opportunity, otherChargePurchaseItem, otherChargeResaleItem, otherChargeSaleItem, otherCustomField, otherNameCategory, partner, partnerCategory, paycheckJournal, paymentItem, paymentMethod, payrollItem, phoneCall, priceLevel, pricingGroup, projectTask, promotionCode, purchaseOrder, purchaseRequisition, resourceAllocation, returnAuthorization, revRecSchedule, revRecTemplate, salesOrder, salesRole, salesTaxItem, serializedInventoryItem, serializedAssemblyItem, servicePurchaseItem, serviceResaleItem, serviceSaleItem, solution, siteCategory, state, statisticalJournalEntry, subsidiary, subtotalItem, supportCase, supportCaseIssue, supportCaseOrigin, supportCasePriority, supportCaseStatus, supportCaseType, task, taxAcct, taxGroup, taxType, term, timeBill, timeSheet, topic, transferOrder, transactionBodyCustomField, transactionColumnCustomField, unitsType, vendor, vendorCategory, vendorBill, vendorCredit, vendorPayment, vendorReturnAuthorization, winLossReason, workOrder, workOrderIssue, workOrderCompletion, workOrderClose.

Location_InternalId String The location id.
Location_Name String The location name.
Memo String The memo.
Message String The message.
Partner_InternalId String The partner id.
Partner_Name String The partner name.
PnRefNum String The P/N Ref.
Probability Double The probability of a deal.
ProjectedAmount Double The projected amount.
PromoCode_InternalId String The promo code id.
PromoCode_Name String The promo code name.
SalesEffectiveDate Datetime The sales effective date.
SalesRep_InternalId String The sales rep id.
SalesRep_Name String The sales rep name.
Source String The source.
StartDate Datetime The start date.
Status String The status.

The allowed values are _adp, _automatedMemorizedTransaction, _csv, _customerCenter, _ebay, _mobile, _offlineClient, _perquest, _qif, _quickbooks, _smbxml, _sync, _web, _webServices, _yahoo.

Terms_InternalId String The terms id.
Terms_Name String The terms name.
Title String The title.
TranDate Datetime The transaction date.
TranId String The document number/id.
TransactionNumber String The transaction number.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
SavedSearchId String Specifies the InternalId of the saved search. This is an alternative to supplying the criteria directly in the query. The search can instead be saved on NetSuite's end to perform more complicated operations than those available in the Web API.