org.mule.modules

mule-module-netsuite

config

Namespacehttp://www.mulesoft.org/schema/mule/netsuite
Schema Locationhttp://www.mulesoft.org/schema/mule/netsuite/current/mule-netsuite.xsd  (View Schema)
Schema Version1.0
Minimum Mule Version3.2

Module Overview

The NetSuite cloud connector facade, based on a NetSuiteClient

Summary

Configuration
<netsuite:config>
Configure an instance of this module
Message Processors
<netsuite:get-server-time>
Answers the server time, resulting in more accurate and reliable sync'ing of data than using using local client time.
<netsuite:add-file>
Creates a new file record.
<netsuite:add-list>
Used to add one or more records into the system
<netsuite:add-record>
Creates a new record.
<netsuite:add-record-objects>
Creates new records Example:
<netsuite:async-find-records>
Searches for all records that match the given filtering expression, asynchronously.
<netsuite:attach-record>
Attaches a source record - that is, the attachment - to another destination one, optionally specifying a contact for the attachment.
<netsuite:check-async-status>
Answers the status of an asynchronous Web services submission.
<netsuite:delete-list>
Used to delete one or more records in the system.
<netsuite:delete-record>
Deletes a record.
<netsuite:detach-record>
Detaches a source record - that is, the attachment - from a destination record.
<netsuite:find-first-record>
Answers the first records that match the given filtering expression.
<netsuite:find-records>
Answers all records that match the given filtering expression.
<netsuite:get-async-find-first-result>
Answers the the first result of an asynchronous asyncFind.
<netsuite:get-async-find-result>
Answers the results of an asynchronous web services submission.
<netsuite:get-budget-exchange-rates>
Answers the list of budget exchange rates Example:
<netsuite:get-consolidated-exchange-rates>
Answers the list of consolidated exchange rates Example:
<netsuite:get-customization-ids>
Answers the ids of available customizations for a given record type.
<netsuite:get-deleted-records>
Answers a list of deleted records of a given record type that match a given date expression.
<netsuite:get-item-availabilities>
Answers the availability for a given record reference.
<netsuite:get-record>
Answers a record given its id Example:
<netsuite:get-records>
Answers all the record of a given type Example:
<netsuite:get-saved-search>
Retrieves a list of existing saved searches for the given record type.
<netsuite:initialize>
Populates fields on transaction line items with values from a related record, in a similar way empty text boxes are prepopulated within the Netsuite UI Example:
<netsuite:saved-find-records>
Answers all records of a given type for a saved search, given its search id.
<netsuite:update-custom-fields-record>
Updates existing record's custom fields Example:
<netsuite:update-invitee-status>
Sets a new invitation status for a given event.
<netsuite:update-list>
Used to update one or more existing records in the system by providing new values for the fields to be updated for each record.
<netsuite:update-record>
Updates an existing record.
<netsuite:upsert-list>
The upsertList operation is used to add or update one or more instances of a record type in NetSuite.
<netsuite:upsert-record>
The upsert operation is used to add a new instance or to update an instance of a record in NetSuite.

Configuration

To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:netsuite="http://www.mulesoft.org/schema/mule/netsuite"
      xsi:schemaLocation="
               http://www.mulesoft.org/schema/mule/core
               http://www.mulesoft.org/schema/mule/core/current/mule.xsd
               http://www.mulesoft.org/schema/mule/netsuite
               http://www.mulesoft.org/schema/mule/netsuite/current/mule-netsuite.xsd">

      <!-- here goes your flows and configuration elements -->

</mule>

This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necessary as long as each carries its own name.

Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.

Attributes
TypeNameDefault ValueDescriptionJava TypeMIME TypeEncoding
xs:string name Optional. Give a name to this configuration so it can be later referenced.
xs:string account SuiteTalk -NetSuite WebService - account id.
xs:string email The login email of both NetSuite UI and SuiteTalk
xs:string endpoint https://webservices.netsuite.com/services/NetSuitePort_2012_1 Optional. Service endpoint
    Supports:
  • Live: https://webservices.netsuite.com/services/NetSuitePort_2012_1
  • Sandbox: https://webservices.sandbox.netsuite.com/services/NetSuitePort_2012_1
Defaults to Live
xs:string password The login password of both the NetSuite UI and SuiteTalk
xs:string roleId The id of the role used to login in SuiteTalk, which determines the Processor privileges

Message Processors

<netsuite:get-server-time>

Answers the server time, resulting in more accurate and reliable sync'ing of data than using using local client time. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
Returns
Return Type Description
Date the server time, as a Date

<netsuite:add-file>

Creates a new file record. This Processor is similar to addRecord, but is customized for simplifying local content passing.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
content The content of the file record to add. It can be of type String, byte array, File or InputStream. If it is an input stream, this Processors also closes it. Object */*
fileName The name of the remote file String */* UTF-8
folderId The id of the folder record where to add this file String */* UTF-8
folderIdType INTERNAL Optional. The id type of the folder record RecordIdType */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> Optional. The additional file attributes Map<String, Object>
Returns
Return Type Description
RecordRef the RecordRef of the new record
Exception Payloads
Payload ClassDescription
IOException if the content cannot be parsed to byte[]

<netsuite:add-list>

Used to add one or more records into the system

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list of record references for the added records

<netsuite:add-record>

Creates a new record. Example:

XML Sample
INCLUDE_ERROR
XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> The record attributes, as a string-object map Map<String, Object>
Returns
Return Type Description
RecordRef the RecordRef of the new record

<netsuite:add-record-objects>

Creates new records Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The Records object List<? extends Record>
Returns
Return Type Description
List<RecordRef> the RecordRef of the new record

<netsuite:async-find-records>

Searches for all records that match the given filtering expression, asynchronously. If no expression is specified, all records of the given type are retrieved Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression, in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Returns
Return Type Description
AsyncStatusResult the AsyncStatusResult of the query

<netsuite:attach-record>

Attaches a source record - that is, the attachment - to another destination one, optionally specifying a contact for the attachment. Not all record type are supported as source, destination or contact. Please consult NetSuite documentation. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
sourceRecordType The type of the target record to be attached RecordTypeEnum */*
sourceId The id of the target record to be attached String */* UTF-8
sourceIdType INTERNAL Optional. The id type of the record to be attached RecordIdType */*
destinationRecordType The type of the record to be attached to RecordTypeEnum */*
destinationId The id of the record to be attached to String */* UTF-8
destinationIdType INTERNAL Optional. The id type of the record to be attached to RecordIdType */*
contanctRecordType Optional. The record type of the optional contact record RecordTypeEnum */*
contanctId Optional. The id of the optional contact record String */* UTF-8
contanctIdType INTERNAL Optional. The id type of the optional contact record RecordIdType */*

<netsuite:check-async-status>

Answers the status of an asynchronous Web services submission. When a jobId is submitted, the status, percent complete, and estimated remaining duration are returned. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job whose status to check String */* UTF-8
Returns
Return Type Description
AsyncStatusResult the AsyncStatusResult for the given job

<netsuite:delete-list>

Used to delete one or more records in the system. The records to be deleted are identified through the provided unique identifiers.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list of Record references for the deleted records

<netsuite:delete-record>

Deletes a record. Not all records can be deleted. Please consult NetSuite documentation Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of the record to delete RecordTypeEnum */*
id The id of the record to delete String */* UTF-8
idType INTERNAL Optional. The type of id of the record to delete RecordIdType */*

<netsuite:detach-record>

Detaches a source record - that is, the attachment - from a destination record. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
sourceRecordType The type of the target record to be detached RecordTypeEnum */*
sourceId The id of the target record to be detached String */* UTF-8
sourceIdType INTERNAL Optional. The id type of the record to be detached RecordIdType */*
destinationRecordType The type of the record to be detached to RecordTypeEnum */*
destinationId The id of the record to be detached to String */* UTF-8
destinationIdType INTERNAL Optional. The id type of the record to be detached to RecordIdType */*

<netsuite:find-first-record>

Answers the first records that match the given filtering expression. If no expression is specified, the empty expression is used, which retrieves all records of the given type. Returns null if no element can be retrieved Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Returns
Return Type Description
Object the first record that match the given filtering expression

<netsuite:find-records>

Answers all records that match the given filtering expression. If no expression is specified, the empty expression is used, which retrieves all records of the given type. Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used.

XML Sample
INCLUDE_ERROR
Examples:

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Returns
Return Type Description
Iterable<Object> An iterable with the Records found

<netsuite:get-async-find-first-result>

Answers the the first result of an asynchronous asyncFind. Throws a NoSuchElement exception if there are no results. This Processor can be executed Processor up to 20 times within a 30 day time period to retrieve the results of an asynchronous job. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job String */* UTF-8
Returns
Return Type Description
Object the first Record

<netsuite:get-async-find-result>

Answers the results of an asynchronous web services submission. This Processor can be executed Processor up to 20 times within a 30 day time period to retrieve the results of an asynchronous job. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job String */* UTF-8
Returns
Return Type Description
Iterable<Object> An iterable with the Records found

<netsuite:get-budget-exchange-rates>

Answers the list of budget exchange rates Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
periodId The id of the period String */* UTF-8
periodIdType INTERNAL Optional. The period id type RecordIdType */*
fromSubsidiaryId The id of the staring subsidiary String */* UTF-8
fromSubsidiaryIdType INTERNAL Optional. The starting subsidiary id type RecordIdType */*
toSubsidiaryId Optional. The the id of the optional ending subsidiary String */* UTF-8
toSubsidiaryIdType INTERNAL Optional. The id type of the optional ending subsidiary RecordIdType */*
Returns
Return Type Description
List<Object> a list of BudgetExchangeRate's

<netsuite:get-consolidated-exchange-rates>

Answers the list of consolidated exchange rates Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
periodId The id of the period String */* UTF-8
periodIdType INTERNAL Optional. The period id type RecordIdType */*
fromSubsidiaryId The id of the staring subsidiary String */* UTF-8
fromSubsidiaryIdType INTERNAL Optional. The starting subsidiary id type RecordIdType */*
toSubsidiaryId Optional. The the id of the optional ending subsidiary String */* UTF-8
toSubsidiaryIdType INTERNAL Optional. The id type of the optional ending subsidiary RecordIdType */*
Returns
Return Type Description
List<Object> a list of ConsolidatedExchangeRate's

<netsuite:get-customization-ids>

Answers the ids of available customizations for a given record type. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type GetCustomizationTypeEnum */*
includeInactives false Optional. If inactive customizations should also be returned boolean */*
Returns
Return Type Description
List<Object> a list of CustomizationRef's

<netsuite:get-deleted-records>

Answers a list of deleted records of a given record type that match a given date expression. This Processors accepts two different date expression passing styles: string oriented, and object oriented. If whenExpression is specified, it is parsed and used as date expression. Otherwise, a date expression is build from date1, date2 and operator parameters. The first style is more appropriate when the date expression can be harcdoded, while the second style is better when client code already has date objects. However, predefined search values like thisWeek, tomorrow or today can only be used with the first, string oriented, style. String oriented date expressions are in the form Processor( searchValue, arguments...), where Processor is any of the NetSuite supported date Processors, arguments are one or two operands for the given operator, and searchValue is some of the supported predefined search value as defined by NetSuite or any of the following expressions: isoDate( anIsoDate ), isoDateRante( anIsoDate, anotherIsoDate ) , dateTime( aQuotedDateTime, aQuoatedJavaDateFormat ), dateTimeRange( aQuotedDateTime, anotherQuotedDateTime, aQuoatedJavaDateFormat ). Supported predefined search values are: today, thisWeek, thisBusinessWeek, thisMonth,thisYear, yesterday, twoDaysAgo, lastWeek, lastMonth, threeMonthAgo,tomorrow, nextMonth , nextWeek Examples using both string and object oriented styles:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The type of the target deleted record to retrieve RecordTypeEnum */*
whenExpression Optional. A predicate-style date filtering expression String */* UTF-8
date1 Optional. The first date to use Date */*
date2 Optional. The second date to use Date */*
operator Optional. The date operator SearchDateFieldOperatorEnum */*
Returns
Return Type Description
List<Object> the list of DeletedRecord's that match the given date filtering expression

<netsuite:get-item-availabilities>

Answers the availability for a given record reference. If the Multi-Location Inventory feature is enabled, this Processor returns results for all locations. For locations that do not have any items available, only location IDs and names are listed in results. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
ifModifiedSince Optional. An optional modified since date. If set, only items with quantity available changes recorded as of the specified date are returned. Date */*
Returns
Return Type Description
List<Object> A list of ItemAvailability's

<netsuite:get-record>

Answers a record given its id Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Returns
Return Type Description
Object a Record

<netsuite:get-records>

Answers all the record of a given type Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type GetAllRecordType */*
Returns
Return Type Description
List<Object> the list of Record's

<netsuite:get-saved-search>

Retrieves a list of existing saved searches for the given record type. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type RecordTypeEnum */*
Returns
Return Type Description
List<Object> the list of RecordRedf's

<netsuite:initialize>

Populates fields on transaction line items with values from a related record, in a similar way empty text boxes are prepopulated within the Netsuite UI Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The type of record whose defaults values are used to populate the target record InitializeTypeEnum */*
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Returns
Return Type Description
Object the initialized Record

<netsuite:saved-find-records>

Answers all records of a given type for a saved search, given its search id. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
searchId The id of the save search String */* UTF-8
Returns
Return Type Description
Iterable<Object> An iterable with the Records found

<netsuite:update-custom-fields-record>

Updates existing record's custom fields Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update RecordTypeEnum */*
customFieldType The type of custom field CustomFieldRefTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:custom-fields> The custom fields as a map, where the key is the internalId Map<String, Object>

<netsuite:update-invitee-status>

Sets a new invitation status for a given event. Example: Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
eventId The target event id String */* UTF-8
eventIdType INTERNAL Optional. The id type of the given eventId RecordIdType */*
status The new status to set CalendarEventAttendeeResponseEnum */*

<netsuite:update-list>

Used to update one or more existing records in the system by providing new values for the fields to be updated for each record. The records to be updated are identified through the provided unique identifiers.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list with the record references for the updated records

<netsuite:update-record>

Updates an existing record. Example:

XML Sample
INCLUDE_ERROR
XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> The record attributes, as a string-object map Map<String, Object>
Exception Payloads
Payload ClassDescription
Exception

<netsuite:upsert-list>

The upsertList operation is used to add or update one or more instances of a record type in NetSuite. The upsertList operation is similar to both the addList and updateList operations, but upsert can be run without first determining whether records exist in NetSuite. Records are identified by their external ID and their record type. If a record of the specified type with a matching external ID exists in the system, it is updated. If it does not exist, a new record is created. Because external ID is mandatory for this operation, upsertList is supported only for records that support the external ID field. Also, this operation prohibits the passing of internal ID values.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update RecordTypeEnum */*
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The record attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list with the references to the upserted records

<netsuite:upsert-record>

The upsert operation is used to add a new instance or to update an instance of a record in NetSuite. It is similar to the upsertList operation, which allows users to add or update more than one record at a time. The upsert operation is similar to both the add and update operations, but upsert can be run without first determining whether a record exists in NetSuite. A record is identified by its external ID and its record type. If a record of the specified type with a matching external ID exists in the system, it is updated. If it does not exist, a new record is created. Because external ID is mandatory for this operation, upsert is supported only for records that support the external ID field. Also, this operation prohibits the passing of internal ID values.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update RecordTypeEnum */*
externalId The target record id String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> The record attributes, as a string-object map Map<String, Object>
Returns
Return Type Description
RecordRef The Record reference for the upserted record

Message Sources

Transformers