TIBCO Scribe® Online Connector For NetSuite

The TIBCO Scribe® Online Connector for NetSuite allows you to integrate NetSuite® marketing and Enterprise Resource Planning (ERP) data into Dynamics CRM, Salesforce, and other systems.

Connector Specifications

This Connector supports version 2018.2 of the NetSuite API.

  Supported

Agent Types

On Premise X
Cloud X

Replication Services

Source  
Target  

Integration Services

Source X
Target X

Migration Services

Source X
Target X

Maps

Integration X
Request-Reply X
Message  

Note:  This Connector is available from the TIBCO Scribe® Online Marketplace. See Marketplace TIBCO Scribe® Certified Connectors for more information.

Supported Entities

The NetSuite Connector supports the following Marketing and ERP NetSuite entities. Select a linked entity name for additional information on using that entity in TIBCO Scribe® Online. For more information about Main entities and Sublist entities, see Entity Fields.

 Parent Entity Query Create Update Delete Upsert
  Child Entity          

CalendarEvent

X

X

X

X

X

 

CalendarEventAttender

 

X

X

X

 

Campaign

X

X

X

X

X

 

CampaignEmailEvents

 

X

X

X

 

 

CampaignEvents

 

X

X

X

 

 

CampaignResponse

X

X

 

 

 

Contact

X

X

X

X

X

 

ContactAddress

X

X

X

X

 

 

ContactSubscription

 

 

X

 

 

Customer

X

X

X

X

X

 

CustomerAddress

X

X

X

X

 

 

CustomerSubscription

 

 

X

 

 

Custom Records

X

X

X

X

X

DiscountItem

X

 

 

 

 

EntityGroup

X

X

X

X

X

 

EntityGroupMember

 

X

 

X

 

Estimate

X

X

X

X

 

 

EstimateItems

 

X

X

X

 

InventoryItem

X

X

X

 

 

 

InventoryItemPriceList

X

 

 

 

 

 

InventoryItemLocation

X

 

 

 

 

Invoice

X

X

X

X

 

 

InvoiceItems

 

X

X

X

 

ItemFulfillment

X

 

 

 

 

 

ItemFulfillmentItems

X

 

 

 

 

 

ItemFulfillmentPackages

X

 

 

 

 

ItemGroup

X

 

 

 

 

KitItem

X

 

 

 

 

 

KitItem Price List

X

 

 

 

 

NonInventoryPurchaseItem

X

 

 

 

 

NonInventoryResaleItem

X

 

 

 

 

 

NonInventoryResaleItemPriceList

X

 

 

 

 

NonInventorySaleItem

X

 

 

 

 

 

NonInventorySaleItemPriceList

X

 

 

 

 

Opportunity

X

X

X

X

X

 

OpportunityItem

 

X

X

X

 

OtherChargePurchaseItem

X

 

 

 

 

OtherChargeResaleItem

X

 

 

 

 

 

OtherChargeResaleItemPriceList

X

 

 

 

 

OtherChargeSaleItem

X

 

 

 

 

 

OtherChargeSaleItemPriceList

X

 

 

 

 

SalesOrder

X

X

X

X

 

 

SalesOrderItems

 

X

X

X

 

ServicePurchaseItem

X

 

 

 

 

ServiceResaleItem

X

 

 

 

 

 

ServiceResaleItemPriceList

X

 

 

 

 

ServiceSaleItem

X

 

 

 

 

 

ServiceSaleItemPriceList

X

 

 

 

 

Note: For more information about the NetSuite services, operations, and messages, see the NetSuite schema site.

Setup Considerations

The NetSuite Connector requires that you have a NetSuite subscription. For more information, see Subscriptions Help on the NetSuite Help website.

Note: If you are having issues determining which permissions need to be enabled to access a feature in NetSuite, refer to NetSuite Permissions: How to figure out what permissions you need to add to a role for some helpful tips.

API Limits

The NetSuite API limits each NetSuite account to a single API connection. This can cause TIBCO Scribe® Online Solutions to fail if other calls are made to the NetSuite API using the same account. When running a TIBCO Scribe® Online Solution that uses a NetSuite Connection, any one of the following actions also makes a Connection to the NetSuite API and can cause the running Solution to fail: 

Some options to prevent your NetSuite Solutions from failing include: 

Connector Information

Selecting An Agent Type For NetSuite

Refer to TIBCO Scribe® Online Agents for information on available Agent types and how to select the best Agent for your Solution.

Connecting To NetSuite

Note: Best practice is to create Connections with credentials that limit permissions in the target system, following the principle of least privilege. Using Administrator level credentials in a Connection provides Administrator level access to the target system for TIBCO Scribe® Online users. Depending on the entities supported, a TIBCO Scribe® Online user could alter user accounts in the target system.

There are two ways to authenticate when connecting to NetSuite. Each method requires that you complete a specific set of authentication fields on the Connection dialog.

Note: Required fields vary depending on the type of authentication being used. Using fields for both types of authentication at the same time causes the Connection test to fail.

  1. Select More > Connections from the menu.
  2. From the Connections page select Add to open the Add a New Connection dialog.
  3. Select the Connector from the drop-down list in the Connection Type field, and then enter the following information for this Connection:
    • Name — This can be any meaningful name, up to 25 characters.
    • Alias — An alias for this Connection name. The alias is generated from the Connection name, and can be up to 25 characters. The Connection alias can include letters, numbers, and underscores. Spaces and special characters are not accepted. You can change the alias. For more information, see Connection Alias.
    • Authentication Method — Select either Token Based or User Based authentication.
    • NetSuite URL — The web address that your site uses to reach the NetSuite web service API.
      • To let the Connector detect the correct URL for your account, leave this field empty.
      • To connect to a Sandbox environment of NetSuite, enter:

        https://webservices.sandbox.netsuite.com/services

    • E-Mail Address — Email address you use to log into your NetSuite Account.
    • Password — Password associated with the email you use to log into your NetSuite Account.
    • Account — ID of your NetSuite Account. If necessary, see your NetSuite Administrator for information about which account to use.

      Note: To find the Account Value, log into NetSuite. From the top menu, select Setup > Integration > Web Services Preferences. The Account ID appears on the Web Services Preferences page.

    • Role — Specify a role associated with the connected user. Custom NetSuite roles are not supported.
    • Paging — Specifies whether to use updated paging logic for Queries allowing your Map to process records as they are returned. Paging is enabled by default.

      Note: If your Map includes relationships, a Lookup or Fetch Block with a Query, or connects to the same Organization as source and target, errors similar to the error shown below occur when the Map runs. To resolve those errors, set this option to Disabled.

      Error in paging. Disable paging in the TIBCO Scribe® OnlineNetSuite connection dialogue and try again. For more information, see the NetSuite Help topic. Exception Info: {0}

      For more information about timeouts with multiple NetSuite Connections, see Multiple Processes.

      • Enabled — Use updated paging logic for Queries and process records as they are returned. If a timeout occurs, no additional records are returned, but all records returned before the timeout are processed. This is the default value.

        If your Map includes any combination of the Fetch, Lookup, and Query operations, you must create separate NetSuite Connections each with different accounts. For more information, see Query With Lookup Or Fetch.

      • Disabled — Do not use updated paging logic for Queries and only process records after all records are returned. If a timeout occurs while processing, no records are returned.
    • Page Size — Specifies the number of results to return per page. You can either enter a value between 5 and 1000, or leave this field blank to use the Search Page Size value configured in NetSuite. If you enter an invalid value, the following error occurs when you test the Connection:

      <value> is not a valid Page Size. Please select a whole number between 5 and 1000.

      where <value> is the invalid value entered.

    • Application ID — ID associated with the NetSuite integration record used to connect to NetSuite endpoints. Required if not using Token based authentication.

      Note: To locate your Application ID, log into NetSuite and navigate to Setup > Integration > Manage Integrations.

    • Consumer Key — Key displayed on the Confirmation page when an integration record is created in NetSuite.
    • Consumer Secret — Secret displayed on the Confirmation page when an integration record is created in NetSuite.
    • Token ID — Token ID displayed on the Confirmation page when a new Access Token is created in NetSuite.
    • Token Secret — Token Secret displayed on the Confirmation page when a new Access Token is created in NetSuite
  4. Select Test to ensure that the Agent can connect to your database. Be sure to test the Connection against all Agents that use this Connection. See Testing Connections.
  5. Select OK to save the Connection.

Metadata Notes

Consider the following for NetSuite data fields and entity types.

Naming

Connection metadata must have unique entity, relationship, and field names. If your Connection metadata has duplicate names, review the source system to determine if the duplicates can be renamed.

Entity Fields

Read-Only Key Field

API Names Differ From Interface Field Names

Note: To find the field names displayed in the NetSuite interface, see the Label column in the NetSuite API Schema Browser.

Matching Data Types

Date Fields

Line Fields In Sublist Entities

Picklist Fields

Diagnosing Failures

Multiple Processes

Retrieving Metadata

Custom Forms

Custom Fields

Custom Records

NetSuite Connector As IS Source

Consider the following when using the NetSuite Connector as an IS source.

Display Names

Important: If a user changes the display name of a field in NetSuite that is used as Source field in TIBCO Scribe® Online mapped to a target field in another datastore, the value of the source field is not inserted into the target and no error is generated. See the Connector For NetSuite Issue article in the TIBCO Community for additional information on changing display names.

Filters

When a datetime is configured on the Query Block on the Block Properties Net Change Tab to query for new and updated records, that configuration is treated as an additional filter. The Net Change datetime filter is applied as an AND after any other filters specified on the Block Properties Filter Tab. TIBCO Scribe® Online builds a query combining both the Net Change filter and the filters on the Filter tab. See Net Change And Filters for an example.

Some Connectors for TIBCO Scribe® Online only support one filter. For those Connectors you can use either Net Change or one filter on the Filter tab, not both.

Note: The Net Change date is ignored when previewing data on the Preview tab. Filters on the Block Properties Filters tab are used to filter the data on the Preview tab.

Relationships

Note: For this Connector, only one level of relationship, Parent/Child, is supported for the entity selected in the Query or Fetch Block. For records with multiple levels of relationships, such as Parent, Child, Grandchild, only the selected Parent entity and related Child entities can be retrieved. Additional levels beneath Child entities, such as Grandchildren, cannot be accessed for this Connector using the Include tab. See Block Properties Include Tab — Relational Data.

Query Preview

Query With Lookup Or Fetch

NetSuite Connector As IS Target

Consider the following when using the NetSuite Connector as an IS target.

Creating SalesOrder, Invoice, Or Estimate Records

When creating a SalesOrder, Invoice, or Estimate in NetSuite, NetSuite requires at least one child record, such as InventoryItem. The Connector for NetSuite creates a fictitious InventoryItem called Scribe Online Item in NetSuite to serve as the required child record on new SalesOrders, Invoices, and Estimates until true InventoryItem records are added. When a real InventoryItem is added, the fictitious one is removed. If you do not have the Inventory Plugin for NetSuite, the Connector for NetSuite creates a fictitious NonInventoryItem instead.

If your NetSuite organization has required fields for the InventoryItem child entity, the Connector for NetSuite cannot create this fictitious InventoryItem, preventing the creation of SalesOrders, Invoices, or Estimates nor can it create any other InventoryItems. An error similar to the following is generated:

Source Entity:           Opportunity
Error title:             Error in calling
Error description:       Operation failed.  Label: Create NS Sales Order, Name: SalesOrderCreate, Message: [Code=USER_ERROR] Please choose an item to add
[Code=WARNING] Nonexistent externalId Scribe Online Item External Id for item

See the Importing NetSuite InventoryItem With Required Fields article in the TIBCO Community for more information on resolving this issue.

For more information on failures that occur between NetSuite and the NetSuite Connector, in NetSuite, select Setup > Integration > Web Services Usage Log.

Items

When working with Items, keep in mind that Parent Entities that are Items can be linked to other Parent Entities using an itemID. That link establishes a Parent/Child relationship between the two Entities, creating a virtual Child Entity.

For example, if you link an InventoryItem to a SalesOrder entity, you are creating a SalesOrdertItem Child entity. The SalesOrderItem entity is a virtual entity that defines the link between a SalesOrder and an InventoryItem, where SalesOrder is the Parent.

To add a SalesOrderItem to a SalesOrder, you can Create or Update the SalesOrder and map the itemID of an InventoryItem to the item_internalId of the SalesOrderItem.

Note: This is just an example, the combinations of entities that can be linked must be verified in NetSuite.

Internal ID Fields

The NetSuite API requires an internalId when setting picklist values. If your source data does not contain the internalId, you must use a formula to perform a transformation.

To find the internal ID:

  1. In NetSuite select Home.
  2. Under Settings, select Set Preferences.
  3. On the General subtab, in the Defaults section, select Show Internal IDs.

Internal IDs will display in NetSuite when you navigate to a list, such as Subscriptions.

Once you know the internal IDs used by NetSuite, create either a CSV file or a Lookup Table containing each picklist value and internalId. TIBCO Scribe® Online can use either the file or the Lookup Table to locate the picklist value and its corresponding internalID.

External ID Fields

Date Fields

Upserts

Deletes

Required Fields

Batch Processing

Standard Entities

CalendarEvent

CalendarEventAttender

Campaign

CampaignEmailEvents

CampaignEvents

CampaignResponse

Contact

ContactAddress,
CustomerAddress

ContactSubscription,
CustomerSubscription

Note: Due to a current TIBCO Scribe® Online limitation, if a For Each Child (FEC) loop does not map any child entity source fields in the operation Blocks, the Solution does not process anything within the For Each Child Block. To avoid this, define an IF function with a false expression using any contactSubscription or customerSubscription field in the first argument, and the desired value for the subscribed field in the third argument. For example, to set subscribed to TRUE, or opt-in:

IF ( Customer.CustomerSubscription.parentLastModifiedDate = "SomeInvalidValue", FALSE, TRUE )

Customer

DiscountItem

EntityGroup

EntityGroupMember

Estimate

EstimateItems

InventoryItem

InventoryItemPriceList

Invoice

InvoiceItems

ItemFulfillment

ItemFulfillmentItems

KitItem

NonInventoryPurchaseItem,
NonInventoryResaleItem,
NonInventorySaleItem

Opportunity

OpportunityItem

OtherChargePurchaseItem,
OtherChargeResaleItem,
OtherChargeSaleItem

SalesOrder

SalesOrderItems

ServicePurchaseItem,
ServiceResaleItem,
ServiceSaleItem

TIBCO Scribe® Online API Considerations

To create connections with the TIBCO Scribe® Online API, the NetSuite Connector requires the following information:

Connector

NetSuite

Connector ID

3891FC41-DA04-4388-AE6F-A4FBAA0D17B4

TIBCO Scribe® Online Connection Properties

In addition, this Connector uses the Connection properties shown in the following table.

Note: Connection property names are case-sensitive.

Name Data Type Required Secured Usage

url

String

No

No

Overrides the default URL. Not required but can be used only for user credentials authentication.

email

String

Yes*

No

Required only for user credentials authentication.

role

Drop-down

Yes*

No

This field is case sensitive. Used only for user credentials authentication.

account

String

Yes

No

Specifies the Account ID to connect to. Required for both types of authentication

paging

Drop-down

Yes

No

 

pageSize

String

No

No

Specifies number of results to return per page from NetSuite. Can be left blank.

password

String

Yes*

Yes

Required only for user credentials authentication.

applicationId

String

Yes*

Yes

Required only for user credentials authentication.

consumerKey

String

Yes*

Yes

Required only for token based authentication.

consumerSecret

String

Yes*

Yes

Required only for token based authentication.

token

String

Yes*

Yes

Required only for token based authentication.

tokenSecret

String

Yes*

Yes

Required only for token based authentication.

Note: Required fields vary depending on the type of authentication being used. Using fields for both types of authentication at the same time causes the Connection test to fail.

License Agreement

The TIBCO Scribe® Online End User License Agreement for the NetSuite Connector describes TIBCO and your legal obligations and requirements. TIBCO suggests that you read the End User License Agreement.

More Information

For additional information on this Connector, refer to the Knowledge Base and Discussions in the TIBCO Community.