Netsuite
Shipwell can automatically send bills and invoice shipment data directly into Oracle's NetSuite, a popular ERP application used to manage business customers and finances. This page describes how to set up your NetSuite account to ensure proper integration with Shipwell, and how to configure NetSuite inside of Shipwell.
Prerequisites
Before beginning your integration, ensure that you fulfill the following prerequisites. You'll also need to work closely with your Shipwell Customer Success Manager (CSM).
- A NetSuite account with the correct permissions for the user conducting the integration. For a list of needed permissions, connect with your CSM.
- A Shipwell account with admin permissions.
During Step four and Step five, the CSM provides three scripts and an XML template required to set up the webhooks and templates necessary for NetSuite to listen and receive bills and invoices from Shipwell.
Configure NetSuite
Your integration into Shipwell begins in the NetSuite platform. Each step breaks down what NetSuite settings need to change for the proper data mapping with Shipwell to occur.
One: NetSuite custom fields
To ensure that you are receiving all the required data for the integration, Shipwell requires that you create certain customer entities that tie directly to data fields sent by Shipwell.
To create custom entity fields in Netsuite:
- Log into NetSuite. Go to Customization > Lists, Records, & Fields > Entity Fields > New.
- Create the following Carrier custom data fields. You can assign each field any unique id. Select Save after each entry.
- MC Number: - Type: Free-form Text - Store value: Checked - Applies To: Vendor
- DOT Number
- Type: Free-form Text
- Store value: Checked
- Applies To: Vendor
- Locked: Ensure that this value includes an integration role with the Edit access level
- Type: Check Box
- Store value: Checked
- Applies To: Customer, Vendor
Select Save
- Create the following Shipment custom data fields. Go to Customization > Lists, Records, & Fields > Transactin Body Fields > New.
- Create the following Shipment custom data fields. Select Save after each entry.
- Shipment ID
- Type: Free-form Text
- Store value: Checked
- Service Date
- Type: Date
- Store value: Checked
- Applies To: Purchase, Sale
Two: Display custom fields
For your custom fields to display during the Shipwell data mapping process, you must create entry forms in NetSuite for both vendors and customers.
- Go to Customization > Forms > Entry Forms > New**.
- Name your first form SPW - Customer or something similar. Make sure to:
- Assign an id
- Make Type Entity and Subtype Customer/Lead/Prospect.
- Check Enable Field Editing On Lists and Form is Preferred
- Under the Fields > Main tab, configure Locked with Show checked and Display Type set to Normal.
- Select Save.
- Create a second form with the name *SPW-Vendor or something similar. Make sure to:
- Assign an id
- Make Type Entity and Subtype Vendor.
- Under the Fields > Main tab, configure MC Number and DOT Number with Show checked and Display Type set to Normal.
- Select Save.
Three: Create a file cabinet
Shipwell parses through Netsuite File Cabinets to pull the data mappings from your entry forms. Create a File Cabinet folder:
- Go to Documents > Files > File Cabinet > New.
- Ented the folder name Shipwell. The folder must include Shipwell in order for the Shipwell platform to identify the file cabinet.
- Select Save.
Four: Add Advanced PDF/HTML Template
To automatically generate custom Invoices to NetSuite, Shipwell uses an XML-Based HTML template to format the invoice. Contact your CSM to receive your custom template. Once you have the code, upload the template to NetSuite.
- In your preferred code or text editor, open the
.xml
template provided by your Shipwell CSM. - Go to Customization > Forms > Advanced PDF/HTML template > New Template.
- Toggle on Source Code mode.
- Copy and paste all of the contents to the
.xml
template into the Netsuite editor. - Go to Line 36 of the template. Save the
internalid
to use in theiics_invoice_email.js
file during step five. - Select Save.
Five: Create SuiteScripts
Three JS scripts provided by your Shipwell CSM automate the creation and submission of invoices that Shipwell data. Add each script to NetSuite as SuiteScripts and then configure each for deployment.
- Go to Documents > Files > SuiteScripts > Add File.
- (Optional) Create a subfolder for your Shipwell SuiteScripts by selecting New Folder.
- Upload each of the three SuiteScripts provided by your Shipwell CSM. These include:
iics_bill_update
iics_invoice_update
iics_invoice_email
- Replace theinternalid
value with the value from your invoicing template in step four
To upload, select Add File, and then navigate to each file in your local machine.
- In order for the scripts to be executable, create a script record for each script uploaded. Go to Customization > Scripting > Scripts > New.
- Use the Script File dropdown to select one of the uploaded scripts. After you've found the file, select Create Script Record.
- In the Scripts tab, check After Submit Function.
- In the Deployments tab, create Applies to rules for each script using the following values.
iics_bill_update
: Applies to Vendor Billics_invoice_update
: Applies to Invoiceics_incode_email
: Applies to Invoice
- After entering the custom settings for each script, select Save. Go back to your script page and then go to the Deployments tab. Select the Applies to rule created in step seven.
- Select each deployment (script) and ensure that Execute As Role is set to the user conducting the integration between NetSuite and Shipwell.
- In the Audience tab, make sure that Select All is checked for Roles.
- After entering the custom deploy settings for each script, select Save. Make sure that you've performed steps three through ten for all three scripts.
Connect to Shipwell
With all the proper settings and deployment scripts set up in NetSuite, connect your NetSuite application to Shipwell.
- Log in to the Shipwell platform.
- Navigate to Manage > Company > Integrations.
- In the configure tab, enter your NetSuite authentication information:
- NetSuite Token id
- Consumer or client id
- Token secret
- Consumer secret or client secret
- Select Connect. Shipwell authenticates to the NetSuite application. Wait for the green checkmark before proceeding.
- After a successful connection, select the Data Mapping tab.
- In the Data Mapping view, use each dropdown to associate each Shipwell line item (data column) with it's associated NetSuite product or service. Netsuite company information and Default billing and Invoicing mapping are required to create automated invoices through Netsuite.

- (Optional) If you would like to automate billing and invoicing for other shipping modes such as LTL, select the section for the mode you would like to map.
Default Mapping
All modes will use the default mapping unless otherwise configured.
- After you've ensured proper mapping, select Save. Shipwell returns a notification that your settings were saved.
Integration behavior
When all the relevant customer Netsuite data has been mapped to Shipwell, any invoice or bill created in the Shipwell platform is sent to Netsuite. To verify that an invoice was sent to NetSuite:
- In Shipwell, navigate to the shipment in which you created the invoice.
- Look in the Financial section for you
If you have any issues with your integration, contact your Shipwell CMS.