The NetSuite create activity available within the NetSuite Connector allows you to create new records in a connected NetSuite instance using Jitterbit.
This page describes how to create new NetSuite records using an example of creating new customer records in NetSuite from source data provided in a CSV file through Jitterbit.
This example is used for demonstration purposes only and does not cover all options available in the product; please refer to Design Studio for more comprehensive documentation.
The following sections are divided up into beginning the create activity, defining the operation components, and deploying and executing the operation.
Creating a NetSuite Create Operation
- Within your project within Jitterbit Studio, there are several ways to begin a new NetSuite create activity. Each of the following options will start the NetSuite Create Wizard to guide you through the process.
- Go to File > New > Connectors > New NetSuite Create.
- In the tree on the left under Connectors, right-click on the NetSuite category, then select New NetSuite Create.
- In the tree on the left under Connectors, double-click on the NetSuite category, then right-click on New NetSuite Create and select New NetSuite Create.
- In the top toolbar, click the connector icon (orange jigsaw piece) . In the popup, select NetSuite, then select NetSuite Create.
- The Endpoint screen of the NetSuite Create Wizard should open in the main view of Studio. This screen asks to select the endpoint that you would like to create new data in. You should have already set up your endpoint in NetSuite Connector Endpoint. Use the dropdown to select the appropriate endpoint. Click Next when finished.
The Object screen of the NetSuite Create Wizard asks you to select the object that you would like to create new data in. In this example we want to create a new customer record in Netsuite, so we select the "Customer" object, then click Finish to continue.NOTE: If you have a lot of objects available in your NetSuite account, you may need to wait a moment for them to load. You can also enter an object name into the Filter field or use the Objects to show dropdown to limit the results to "Standard Objects" or "Custom Objects." Try the Refresh button if the results are not what you expect.
- Jitterbit will then proceed with creating a NetSuite API request and response structure that will allow data to be created within your connected NetSuite account. A new tab should appear in Studio called NetSuite Creates. You can rename your create activity here if desired; in the example ours is called "Example NetSuite Create Customer." You can also use the + - buttons or arrows to expand all elements within each structure.
- Next, on the same screen, click the button Create Operation located under Use in an Integration in the upper right corner. This will create the Jitterbit operation that will create new customer data in NetSuite.
A new tab should open in Studio called Operations, containing a graphical representation of the create activity.NOTE: The icons for Source, Request, Response, and Target in the image above are placeholders for the operation components, which we will define in the next section.
Save your operation by clicking either the single disk icon to save just this operation or the multiple disk icon to save all changes in your integration project. You should see the asterisk on the Operations tab and operation title disappear as your new create activity is now created and saved to your project.
Defining the Operation Components
Next we need to define the other components of the operation that appear within the graphical representation, including Source, Request, Response, and Target.
For each, the instructions below direct you to return to the graphical representation of the operation you have created and double-click each icon to configure each component. As an alternative, you could also create the Source, Request, Response, and Target separately and then drag and drop them from the tree on the left directly onto the icons in the visual representation of your operation.
For purposes of this walkthrough, we provide the following examples for reference above: Jitterpak NetSuiteExample.jpk and accompanying files in NetSuiteSampleFiles.zip. Many different types of data can be used for each component of the operation. To learn more about additional customization options, refer to the Design Studio section of our documentation.
Source: In the example, we use a CSV file as the input request to create a new customer with the provided field values below. The following table displays the contents of the example file CustomerCreateRequest.csv.
ID Name Phone Address City State Zip Test Cust 1 Test Customer 1 firstname.lastname@example.org 1-111-111-1111 1234 Main St. Denver CO 80250 Test Cust 2 Test Customer 2 email@example.com 1-222-222-2222 1234 Sample Dr. San Francisco CA 94101NOTE: A variety of source types are available in Jitterbit. See Sources for more.
To use the CSV file, first double-click on the Source icon, then click the button Create New Source and give your source a Name (e.g. CustomerCreateRequest.csv). Next, for this example, we are using a Private Agent with local files enabled, and thus select a Type of "Local File" and then Browse to the location. If you are using the example files, the Folder is 'C:\NetSuiteSampleFiles' and the Get Files is 'CustomerCreateRequest.csv'. We will also expand the Options and set Ignore Lines to First: '1' since our CSV file uses a header row.
Target: Double-click on the Target icon. In the example, we will record the response from NetSuite to a CSV file to provide information about success/failure. Click the Create New Target button, give your target a Name (e.g. CustomerCreateResponse.csv), and again select a Type of "Local File" and Browse to a location on the Private Agent where we want to save the data. In the example, the Folder is 'C:\NetSuiteSampleFiles' and the Filename is 'CustomerCreateResponse.csv'.NOTE: You can also output to a variety of different target types. The type does not have to be the same as the source type. See Targets for options.
Request: Double-click on the Request icon and select Create New Transformation. This will open the Transformation Wizard which will walk you through creating the request.NOTE: Additional information on request structures is provided under Transformations.
- On the first screen, Name, provide a Name for your transformation or leave as the default. Then use the Source dropdown to select the source type. For the example we used a CSV file, which is considered "Text." Click Next to continue.
- On the next screen, Source, use the Available File Format Definitions dropdown to select Create New. This will open up additional options for defining a new file format. Provide a Name for the new file format (in the example we call ours "Example Customer Flat File"). To create the text definition based off of our existing CSV file, select Create From File, then in the popup browse to the local 'CustomerCreateRequest.csv' file. Click Finish to continue.
The Transformations tab should open where you can complete your mapping. Use the + to expand the source and target items in each tree. Then drag and drop each field you would like to be mapped from one tree to the other.NOTE: It is recommended to map an ID field to the customer 'externalId' field in NetSuite. This will make upserts possible should you want to configure these later. See NetSuite Connector Upsert for additional details.
Your transformation mapping should look similar to that shown below:
Response: Double-click on the Response icon and select Create New Transformation. This will open the Transformation Wizard which will walk you through creating the response.NOTE: Additional information on response structures is provided under Transformations.
- On the first screen, Name, provide a Name for your transformation or leave as the default. Then use the Target dropdown to select the target type. For the example we used a CSV file, which is considered "Text." Click Next to continue.
- On the next screen, Target, use the Available File Format Definitions dropdown to select Create New. In the example we will set up a typical response structure that will write the external ID, status, and message to the response so we get back feedback if the create operation fails. In the first screen, set the Name of the new file (in the example ours is called "NetSuite Response Structure"), then click the button to Create Manually. In the next screen, click New and add three new fields called "ExternalID," "Status," and "Message." Click Finish to continue.
The Transformations tab should open where you can complete your mapping. Use the + to expand the source and target sides. In this example we will add scripts to get the external ID in NetSuite so that if the operation fails, we now know the ID of failed record to troubleshoot. To do this:
Drag and drop the "isSuccess" field from the source side to the new "Status" field on the target side.
Double-click the "ExternalID" field on the target side to open the Formula Builder and add the following functions to the script, then click OK.
The FindByPos function finds the instance in the requesting data that corresponds to the response.
Double-click the "Message" field on the target side to open the Formula Builder and add the following functions to the script, then click OK.
The SumString function will concatenate an element that may have more than one instance into a single string.
Your transformation mapping should look similar to that shown below:
Optional Scripts: You can find additional script functions to use during your Transformation mapping or separately as Scripts under the Formula Builder section. For additional information, see NetSuite Connector Advanced.
Deploying and Executing the Operation
With the NetSuite create activity fully configured, we are ready to deploy and execute the operation.
- From the Operations tab, click the deploy icon.
- Then click the execute icon to place the operation in the queue for execution.
- In the lower portion of the screen, the Operation monitor should indicate that your operation was run successfully. If not, you can double-click the Status icon to view any log messages.
You should also now see the output response that was mapped to your target file. In the example, the file is now created in 'C:\NetSuiteSampleFiles\CustomerCreateResponse.csv'. Since the operation was run successfully, we see the ID field followed by a status of '1', indicating success. If the operation failed, we would see a '0' along with a third column showing the log error message.
ExternalID Status Message Test Cust 1 1 Test Cust 2 1
In addition, when you check your NetSuite account, you should find the new customers created.NOTE: You can find more information about the API call to NetSuite within the Web Services Usage Log available in NetSuite under Setup > Integration > Web Services Usage Log. This provides detailed information about success/failure as well as the request and response that was sent to Jitterbit.