Covered in this article
Netsuite component pages
Created on Updated on
NetSuite component

NetSuite component

A component which interacts with the NetSuite ERP system.

Latest changelog

2.1.1 (August 8, 2019)

  • Modify Error Handling in component with custom ComponentException

To see the full changelog please use the following link.

How works

Communication with NetSuite API established using NetSuite’s native SDK. 2017.2 NetSuite version is used and supported. The component will work with other NS versions in most cases. But 100% compatibility could not be guaranteed.

Requirements

Environment variables

Component reuquires 1024 MB of RAM memory to properly function. It is recommended to increase the RAM memory prior any activity. Contact Support for more.

Enable web-service communication

NetSuite’s Web Services SOAP interface allows you to communicate with the ERP and to integrate external systems with it. NetSuite’s native SDK, which is used for the communication in the component, uses NetSuite’s SOAP Web Services under the hood.

By default web service communication is disabled in NetSuite. So it should be enabled in order to allow component make calls. To enable Web Service communication:

  1. Go to Setup -> Company -> Enable Features
  2. Open SuiteCloud tab and tick there the ‘Web Services’ checkbox in the SuitTalk section
  3. Press Save

Enable Web Service

Credentials

Get credentials in NetSuite

Email - Email as a login for NetSuite account.

Password - Password for NetSuite account.

Account - Account Number to access NetSuite API. This number is required for the component t o connect to NetSuite via native SuiteTalk API Can be found here:

  1. Go to Setup -> Integration -> Web Services Preferences
  2. Find ACCOUNT ID field there.

Get Account Number

Application ID

Application ID to access NetSuite API. This number is required for the component to connect to NetSuite via native SuiteTalk API Can be found here:

  1. Go to Setup -> Integration -> Manage Integrations -> New
  2. Find APPLICATION ID field there.

Get Application ID

Triggers

NetSuite component includes the following triggers:

  1. Get New and Updated Objects Polling
    Generic trigger that polls NetSuite instance for new and/or updated objects (of any type available in the NetSuite).

  2. Polling objects
    Find an object or a set of objects was updated since last polling of time.

The following NetSuite triggers are deprecated:

  1. Search Entity(deprecated)
    Deprecated. Use Get New and Updated Objects Polling trigger instead. Find an object or a set of objects using filter criteria (field, operator, value).

Actions

NetSuite component includes the following actions:

  1. Delete Object By Id
    Deletes an object by the ID provided.

  2. Lookup Object By Id
    Lookup an object by the ID provided.

  3. Lookup Objects
    Looks for objects available in NetSuite which meet given criteria.

  4. Upsert Object By Id
    Either update an object in NetSuite by an ID provided or inserts as a new object if it does not exist.

The following Salesforce actions are deprecated:

  1. Lookup Customer(deprecated)
    Deprecated. Use Lookup Object By Id action instead. This action enables to find the customer by provided ID.

  2. Lookup Invoice(deprecated)
    Deprecated. Use Lookup Object By Id action instead. This action can be used to find invoices by provided ID.

  3. Upsert Customer(deprecated)
    Deprecated. Use Lookup Object By Id action instead. Create new or update existing customer by provided external ID.

  4. Upsert Contact(deprecated)
    Deprecated. Use Upsert Object By Id action instead. Create new or update existing contact by provided external ID.

  5. Upsert Invoice(deprecated)
    Deprecated. Use Upsert Object By Id action instead. Create new or update existing invoice by provided external ID.

  6. Upsert Sales Order(deprecated)
    Deprecated. Use Upsert Object By Id action instead. Create new or update existing sales order by provided external ID.

  7. Upsert Vendor(deprecated)
    Deprecated. Use Upsert Object By Id action instead. Create new or update existing vendor by provided external ID.

Upsert custom fields

Currently, You can upsert custom fields only from developer mode. You should to use property type, which can accept next values:

  • BooleanCustomFieldRef
  • DateCustomFieldRef
  • DoubleCustomFieldRef
  • LongCustomFieldRef
  • MultiSelectCustomFieldRef
  • SelectCustomFieldRef
  • StringCustomFieldRef

You can find example of custom field structures bellow.

  • BooleanCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": true,
  "type": "BooleanCustomFieldRef"
}
  • DateCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": "2018-01-01T00:00:00.000+00:00",
  "type": "DateCustomFieldRef"
}
  • DoubleCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": 3456.24,
  "type": "DoubleCustomFieldRef"
}
  • LongCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": 987979999,
  "type": "LongCustomFieldRef"
}
  • MultiSelectCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": [
      {
      "name":"item1",
      "internalId":"2134",
      "externalId":"9878",
      "typeId":"21"
      },
      {
        "name":"item2",
        "internalId":"2135",
        "externalId":"9879",
        "typeId":"21"
      }
  ],
  "type": "MultiSelectCustomFieldRef"
}
  • SelectCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": {
      "name":"item1",
      "internalId":"2134",
      "externalId":"9878",
      "typeId":"21"
      },
  "type": "SelectCustomFieldRef"
}
  • StringCustomFieldRef
{
  "internalId": "1",
  "scriptId": "script1",
  "value": "some value",
  "type": "StringCustomFieldRef"
}

NetSuite API docs.