NetSuite component

NetSuite component

A component which interacts with the NetSuite ERP system.

How it works

Communication with NetSuite API established using NetSuite’s native SDK.

Requirements

API version

2022.1 NetSuite version is used and supported. The component will work with other NS versions in most cases. But 100% compatibility could not be guaranteed.

Environment variables

Component requires 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

Technical Notes

The technical notes page gives some technical details about NetSuite component like changelog.

Authentication on platform

In order to use the functions of the NetSuite component, you need to go through the authentication process. Please follow the step by steps instruction on this page.

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. Add Object
    Add an object to NetSuite.

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

  3. Get Item Availability
    Allows to get an item availability based on its type and internal ID provided.

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

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

  6. 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.

  7. Lookup Objects By Custom Field
    Looks for objects available in NetSuite which meet given custom string field criteria.

  8. Update Object
    Update an object in NetSuite.

The following NetSuite 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.

Click here to learn more about the elastic.io iPaaS