NetSuite Integration and Lists

Hello. In building out an integration from Salesforce to NetSuite I’ve not been able to find a way to update a value from Salesforce to a list value in NetSuite by leveraging the text. It seems the NS Update and Upsert Snaps want you to provide the internalId of the list value rather than resolving the internal id from the actual text value.

E.g. in SFDC we have a subsidiary = ‘Acme, Inc.’ and in NetSuite on the account record there is a Subsidiary list with the same exact value = ‘Acme, Inc.’. If I try and update the ‘Acme, Inc.’ to the Subsidiary value in NS the snap fails. It only works when I provide the ID associated to the list item (let’s say in NS the Internal Id of the value ‘Acme, Inc.’ = 123).

My current workaround is to export the list of values from NS and put that into a CSV (so it has the values and the internal id). But now that means for every list I need a mapping file and then a join on the text values just to get the internal id? There must be a better way… anyone else experience this?

You can make a search in NetSuite(NetSuite search snap), to search the subsidiary based on name and NetSuite will return it’s internal id which you can later map it to successfully insert a value for subsidiary field.

thanks but isn’t the NetSuite search snap meant to search actual records? in this case I am looking to get all possible values on a List (a picklist on the customer object in NetSuite). on the list there are internal ids associated to each dropdown value (all possible values which may not yet be on some records).

If you select the subsidiary object in the NetSuite search snap and search based on the name that you have, it will return the internal id of that specific subsidiary. Because the object subsidiary in NetSuite is actually the list of subsidiaries that you are mentioning.

Hi Matt, I know this is an older question, but I also build integrations for our company between Salesforce and NetSuite. Doing a NS search and then using the internal IDs from that is an option, but in my opinion it isn’t very efficient.

Another way of handling this is to use a Conditional snap and read the value from SF (i.e. Acme) and map it to the internal ID that NS is expecting (i.e. 123). Your NS admin should be able to provide the internal IDs for all lists. Also, internal IDs do not change in NS, so you don’t have to worry about constantly maintaining them… unless a new value is added, which isn’t a big deal to add it.

Lastly, in SF, you can edit the API name of a picklist value. Assuming you don’t have any other integrations that may be impacted by this, you can always go to the picklist value (in this example, Acme) and edit the API name to be “123”. Then in your pipeline, you won’t need a Conditional snap at all - instead it will just map directly over to NS as “123”.

Hope this helps!