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.


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:

  1. Log into NetSuite. Go to Customization > Lists, Records, & Fields > Entity Fields > New.
  2. 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

  1. Create the following Shipment custom data fields. Go to Customization > Lists, Records, & Fields > Transactin Body Fields > New.
  2. 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.

  1. Go to Customization > Forms > Entry Forms > New**.
  2. 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.
  3. Select Save.
  4. 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.
  5. 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:

  1. Go to Documents > Files > File Cabinet > New.
  2. Ented the folder name Shipwell. The folder must include Shipwell in order for the Shipwell platform to identify the file cabinet.
  3. 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.

  1. In your preferred code or text editor, open the .xml template provided by your Shipwell CSM.
  2. Go to Customization > Forms > Advanced PDF/HTML template > New Template.
  3. Toggle on Source Code mode.
  4. Copy and paste all of the contents to the .xml template into the Netsuite editor.
  5. Go to Line 36 of the template. Save the internalid to use in the iics_invoice_email.js file during step five.
  6. 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.

  1. Go to Documents > Files > SuiteScripts > Add File.
  2. (Optional) Create a subfolder for your Shipwell SuiteScripts by selecting New Folder.
  3. Upload each of the three SuiteScripts provided by your Shipwell CSM. These include:
    • iics_bill_update
    • iics_invoice_update
    • iics_invoice_email - Replace the internalid 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.

  4. In order for the scripts to be executable, create a script record for each script uploaded. Go to Customization > Scripting > Scripts > New.
  5. Use the Script File dropdown to select one of the uploaded scripts. After you've found the file, select Create Script Record.
  6. In the Scripts tab, check After Submit Function.
  7. In the Deployments tab, create Applies to rules for each script using the following values.
    • iics_bill_update: Applies to Vendor Bill
    • ics_invoice_update: Applies to Invoice
    • ics_incode_email: Applies to Invoice
  8. 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.
  9. Select each deployment (script) and ensure that Execute As Role is set to the user conducting the integration between NetSuite and Shipwell.
  10. In the Audience tab, make sure that Select All is checked for Roles.
  11. 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.

  1. Log in to the Shipwell platform.
  2. Navigate to Manage > Company > Integrations.
  3. In the configure tab, enter your NetSuite authentication information:
    • NetSuite Token id
    • Consumer or client id
    • Token secret
    • Consumer secret or client secret
  4. Select Connect. Shipwell authenticates to the NetSuite application. Wait for the green checkmark before proceeding.
  5. After a successful connection, select the Data Mapping tab.
  6. 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.
  1. (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.

  2. 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:

  1. In Shipwell, navigate to the shipment in which you created the invoice.
  2. Look in the Financial section for you

If you have any issues with your integration, contact your Shipwell CMS.

Copyright © Shipwell 2022. All right reserved.