ShipHawk Guide

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

ShipHawk’s NetSuite bundle - which is a Hybrid SuiteApp - provides Web Services integration between NetSuite and ShipHawk. Our SuiteApp communicates with NetSuite to perform the following tasks:

  • Imports item data from NetSuite, which ShipHawk treats as Product SKUs.

  • Imports item fulfillment records from NetSuite, which ShipHawk treats as Orders

  • Creates or updates Item Fulfillment records in NetSuite when Orders are fulfilled in ShipHawk. Your organization can access this shipment data to accrue shipping costs, adjust customer billing, make financial decisions and generate ASNs (Advanced Ship Notices) directly or using a 3rd-party solution.

It is recommended that you choose to sync your item fulfillments in NetSuite as Orders in ShipHawk by default. This ensures  you will only fulfill the items that are in inventory and ready to be shipped. Though it is not recommended, your organization can also opt to sync sales orders in NetSuite as Orders in ShipHawk. Contact your ShipHawk Account Manager to determine the best setup method for fulfilling your orders through ShipHawk.

This communication between NetSuite and ShipHawk allows your organization to access ShipHawk services. The installation procedures in this manual are specific to NetSuiteVersion 202002.2.

Syncing Item Fulfillments to ShipHawk

ShipHawk uses item fulfillments in NetSuite to create Orders in ShipHawk. This is the preferred method of syncing data to ShipHawk because both Orders in ShipHawk and item fulfillments in NetSuite only contain items that are ready to be fulfilled.

Below is an explanation of how Item Fulfillments in NetSuite and Orders in ShipHawk interact:

When a user creates an item fulfillment in NetSuite:

  • An order is automatically created in ShipHawk with a corresponding proposed shipment.

  • The item fulfillment number is used as the order number in ShipHawk (ex: IF138296)

When a user updates an item fulfillment in NetSuite:

  • The corresponding order in ShipHawk will also be updated. This applies to updates such as line item changes and changes to the destination address.

When a user deletes an item fulfillment in NetSuite:

  • The order is deleted in ShipHawk.

When an order is fulfilled in ShipHawk:

  • The item fulfillment record is updated in NetSuite.

When a user deletes an order in ShipHawk:

  • The order or item fulfillment will not be automatically deleted in NetSuite

  • The order can be re-synced by updating the item fulfillment in NetSuite.

Sales orders in NetSuite can also be used as a syncing entity, but this method of syncing is not recommended. It is only acceptable to sync sales orders as Orders in ShipHawk if your organization is not concerned with inventory being out of stock.

The following charts illustrate the fulfillment workflow from NetSuite to ShipHawk when item fulfillments sync to ShipHawk compared to when sales orders do. 

Sync Item Fulfillments as Orders (Recommended)

Sync Sales Orders as Orders (Not Recommended without Permission)

Regardless of which syncing entity your organization opts to use, the installation procedures outlined in this document remain the same.

Installation Overview

This chapter provides a broad overview of the steps necessary to install ShipHawk’s bundle in your NetSuite instance. The ShipHawk SuiteApp Installation Guide defines terms and illustrates a roadmap of the installation process. 

Installation Checklist

To use ShipHawk’s functionality in your instance of NetSuite, you must complete the installation and setup tasks in the following order:

(tick) Enable token-based authentication setup. Install the ShipHawk SuiteApp in your NetSuite instance.

(tick) Customize your script deployment settings.

(tick) Set up your proxy user.

(tick) Generate  access tokens.

(tick) Configure ShipHawk’s SuiteApp settings for NetSuite.

(tick) Add your ShipHawk API key to NetSuite.

(tick) Add your ShipHawk warehouse IDs to NetSuite.

(tick) Add your NetSuite account ID to ShipHawk.

(tick) Configure your NetSuite account in ShipHawk.

The preceding steps describe a broad overview of the installation process.

During the installation and integration process, you must switch back and forth between your NetSuite and ShipHawk accounts. Open each account in a different browser tab or window to speed up navigation between accounts.

SuiteApp Definitions

Bundle or SuiteBundle

The technical term for applications developed within NetSuite. They are called “bundles” because NetSuite applications are a group of scripts that each run different functions. These applications are also referred to as “SuiteApps.” These SuiteApps are hosted by NetSuite. They are stored in the same database and on the same servers as your company data and can be accessed directly from your NetSuite account. For the purpose of this document, “bundle” refers to ShipHawk’s NetSuite application.

SuiteScript

SuiteScript is the NetSuite platform built on JavaScript that enables complete customization and automation of business processes. Using the ​SuiteScript web services, core business records and user information can be accessed and manipulated via scripts that are executed at predefined events.

Hybrid SuiteApp

A category of SuiteApp based on how the application integrates with NetSuite. There are three types of SuiteApps:

Native SuiteApps These apps live entirely within the SuiteCloud platform. 

Integrated SuiteApps These apps live mostly outside the NetSuite platform and communicate information back and forth.

Hybrid SuiteApps These apps are a mixture of the native and integrated solutions. Hybrid SuiteApps integrate with NetSuite using custom UI elements and can store data both inside and outside the NetSuite platform. ShipHawk is a Hybrid SuiteApp.

Proxy User

Method for transferring shipping order data from ShipHawk to NetSuite. In order to write data back into your NetSuite account after booking a shipment, ShipHawk creates a “proxy user” that has the correct permissions to send information to NetSuite’s database. The proxy user can be a user login used only for this purpose or​ it can be an existing administrative user. If the proxy user is an existing user, that user’s regular day-to-day use of NetSuite will not be affected by ShipHawk’s Web Services communications.

Installation Procedures

This section provides detailed procedures for the installation of the ShipHawk bundle in your instance of NetSuite. The installation gives ShipHawk access to your NetSuite account and allows ShipHawk to create and/or update fulfillment information in your NetSuite. The following procedures guide you through the process of configuring your ShipHawk bundle installation. These procedures are intended for your organization’s system administrator.

Enabling token-based authentication

NetSuite and ShipHawk communicate bilaterally. NetSuite sends item fulfillment data and information to ShipHawk via our API. ShipHawk uses webservices in order to write information back to NetSuite. To set up these web services, we use token-based authentication, which you will set up in the following steps.

To create access tokens

  1. From your NetSuite top menu, click Setup > Company > Enable Features.

    The Enable Features screen is displayed.

  2. Click the SuiteCloud tab to access these options. New options populate below.

  3. Under the Manage Authentication section, enable the Token-Based Authentication setting.


    ShipHawk now can interact with NetSuite’s security using token-based authentication.

Installing the ShipHawk bundle

You must first install the SuiteApp in your NetSuite account.  This section describes how to locate and install the bundle in your account.

To install the bundle

  1. Log into your NetSuite account. 

  2. From the NetSuite menu at the top of the screen, select ​Customization > SuiteBundler > Search & Install Bundles.

    The Search & Install Bundles screen is displayed.

  3. Click the Advanced link under the Search button. Additional fields populate below the link.

  4. Select the Production Account option from the Location drop-down field.

    The Account ID field populates to the right of the Location field.

  5. Enter the account number TSTDRV2246640 and click the Search button.

    The ShipHawk bundle is displayed  in the grid below.

  6. Click on the ShipHawk link in the grid. The ShipHawk Bundle Details screen populates.

  7. Click the Install button to begin the installation process for ShipHawk’s SuiteApp. A series of pop up windows and prompts will populate.

  8. Confirm all prompts.

Congratulations, you have installed the ShipHawk SuiteApp!

Contact your ShipHawk Implementation Representative if you have any questions.

Configuring the Script Deployment settings

In order to prevent potential communication conflicts between ShipHawk and NetSuite, the following script settings must be adjusted. Scripts determine how ShipHawk and NetSuite interact with each other and what information is exchanged.

To edit script deployments

  1. From the top menu of your NetSuite dashboard, click Customization > Scripting > Script Deployments.

    The Script Deployments screen is populated.

  2. Locate and select the ShipHawk Sales Order ClientScript option from the Script dropdown field under the Filters section. ClientScripts are displayed under the Show Undeployed grid.

  3. Locate the customdeploy_shiphawk_so_cs script. The record type for this script is Sales Order. Click Edit in the row corresponding to this script.

    You will be redirected to the Script Deployment screen.

  4. Verify three settings under the Audience tab:

    1. The Select All checkbox for the Roles field is unchecked.

    2. All subsidiaries in the Subsidiaries field must be selected. This grants them rights to use ShipHawk functionality.

    3. The Select All checkbox for the Employees field is checked.

  5. Click Save when you finish.

You now are finished configuring script settings for the installation.

To select multiple options in a list field like the Subsidiaries field, hold down the Control button on your keyboard and select each option by clicking on it with your mouse. Clicking again while holding down the Control key deselects the option.

Setting Up A Proxy User

A user must be associated with the interactions between ShipHawk and NetSuite.  You can choose an existing user or a user dedicated solely to the ShipHawk SuiteApp. Only one is required to establish the connection.

The proxy user is associated with programmatic interactions between ShipHawk and NetSuite. Deleting or disabling this user will break your integration with ShipHawk.

To manage users and their roles

  1. From your NetSuite dashboard, click Setup > User/Roles > Manage Users.

    The Manage Users screen is displayed.

  2. Select any user whose role is currently Administrator. The Employee screen populates.

  3. Navigate to the Access tab and click Edit.

  4. From the Roles dropdown field, select ShipHawk Shipping Web Services and click Add.

    1. ShipHawk Shipping Web Services should be displayed as a new role under the Roles table of the Access tab.

  5. Click the Save button to finish.

Creating Access Tokens

Access tokens allow ShipHawk to interact with your NetSuite account programmatically. In this step, you will create the access tokens used to grant ShipHawk access.

To create an access token

  1. From the NetSuite dashboard, select Setup > Users/Roles > Access Tokens > New.
    You will be redirected to the Access Token screen.

  2. Complete the screen by entering the following information:

    1. In the Application Name field, choose ShipHawk Integration.

    2. In the User field, choose the proxy user you set up in the previous procedure.

    3. In the Role field, select ShipHawk Shipping Web Services

    4. After  you complete each field, the Token Name field automatically populates with a new token name. Click Save, but DO NOT EXIT THE SCREEN. A confirmation screen will populate.

This screen will not appear again. You will have to repeat this entire step if you lose the information on this screen.

3. Copy both the Token ID and the Token Secret in the Token Name field to a protected document or
location outside of NetSuite. You will need to access this document later.

Configuring ShipHawk Settings in NetSuite

ShipHawk Settings control various aspects of the SuiteApp integration, including communication between ShipHawk and NetSuite, data synchronization, field mapping and more. This step focuses on connectivity for rating and order synchronization. Contact your ShipHawk Implementation Representative to discuss optional settings and configuration.

To add your ShipHawk API key to NetSuite

  1. From the NetSuite dashboard, select ShipHawk > Setup > ShipHawk Settings.
    You will be redirected to the ShipHawk Settings List screen.

  2. Click Edit to access ShipHawk settings.

  3. Complete the ShipHawk Settings screen.

    1. In the ShipHawk Host Name field:

      1. Enter Shiphawk.com to set up your Production environment.

    2. In the API Key field, enter the ShipHawk API key found in the ShipHawk platform. To locate the ShipHawk API key, complete the following steps:

      1. Login to your ShipHawk account in a separate browser window or tab.  If you are not sure which account to use, contact your ShipHawk Implementation Representative.

      2. On the right side of ShipHawk’s top menu bar, click on the Settings (blue star) icon and select the Settings link. The Settings screen appears.

      3. From the left-side menu, click on the Developer API link. The API Keys screen appears.

 Google Doc

  • No labels