Setting up a NetSuite Integration - Authentication

Topics

DemandCaster's Netsuite integration utilizes NetSuite Suitescripts. These custom written scripts provide significant flexibility to deploy an integration that is specific to the needs of your company. Since NetSuite is a highly customizable system, the DemandCaster integration can be configured to extract custom or alternate fields providing significant flexibility to meet your companies unique planning and reporting needs.

The integration is setup to support parallel processing and incremental data loads to ensure fast data loads from NetSuite to DemandCaster. Updates to data may be scheduled on a daily basis and may also be updated on demand as needed throughout the day. In addition to pushing replenishment orders back to NetSuite, other data may also be pushed to NetSuite based on the needs of your company.

The steps provided below describe the process to setup and collect the API information needed for DemandCaster to integrate with Netsuite. Once ready, please forward to your DemandCaster setup engineer.

The information needed are:

  • Account ID
  • Consumer Key
  • Consumer Secret
  • Token ID
  • Token Secret
  • Temporary NetSuite Login Account

1. Retrieve Account ID

To find out your account ID:

  1. Click Setup
  2. Click Integration
  3. Click Web Services Preferences
Retrieve Account ID

1.1. Retrieve Account ID

Your companies ID will be listed under Account ID. Please copy and forward the information to your DemandCaster setup engineer.

Retrieve Account ID

2. Enable Token Based Authentication (TBA)

TBA drives the ETL (pull) and Reverse ETL (download suggested orders to NetSuite) of the data.

Ensure TBA is enabled in Company settings. Click:

  1. Setup
  2. Company
  3. Enable Features
Enable Token Based Authentication

2.1. Click on SuiteCloud Tab

Some users may not have the Token-based Authentication feature enabled. To enable the token-based authentication feature:

  1. Click the SuiteCloud tab.
  2. Scroll down to the SuiteScript section, and make sure the following are enabled. If not, check the following boxes:
    1. Client SuiteScript.
    2. Server SuiteScript. Click I Agree on the SuiteCloud Terms of Service page.

Note: Enabling both the Client SuiteScript and Server SuiteScript features is required to use RESTlets with token-based authentication.

Click on SuiteCloud Tab

2.2. Scroll Down to Manage Authentications

  1. Scroll down to the Manage Authentication section
  2. Check the Token-based Authentication box.
  3. Click I Agree on the SuiteCloud Terms of Service page.
  4. Scroll down to the bottom and click Save
Scroll Down to Manage Authentications

3. Set up Data Integration

Click:

  1. Setup
  2. Integration
  3. Manage Integrations
  4. New
Set up Data Integration

3.1. Create a New Integration

  1. Add DemandCaster as the name of the integration. Adding a description is optional.
  2. Ensure, the "State" is enabled
  3. Select TOKEN-BASED AUTHENTICATION and make sure USER CREDENTIALS is not checked.
  4. Click Save
Create a New Integration

3.2. Copy the Consumer Key and Consumer Secret

The Consumer Key and Consumer Secret will be generated. Please copy the values for each and forward the information to your DemandCaster setup engineer since this information will not be able to be retrieved.

Copy the Consumer Key and Consumer Secret

4. Add Access Token Permission to Existing Account

Please use an existing account that will remain active on an ongoing basis. This way you do not need to consume an open user account license. DO NOT use the DemandCaster temporary account that is created in step 5.

  1. Setup
  2. User/Roles
  3. Manage Users
  4. Select a user and click edit
Add Access Token Permission to Existing Account

4.1. Edit Existing Role

  1. Click Access tab
  2. Click on role to add permissions
Edit Existing Role

4.2. Modify Role

  • Click "Setup" tab
  • Click Edit at the bottom
  • From the drop down, please make certain the the following permissions are applied to the role:
Modify Role
Tab
Permission
Level
Lists Accounts View
Lists Bill Of Materials Inquiry View
Lists Calendar View
Lists Check Item Availability View
Lists Classes View
Lists Commit Orders View
Lists Component Where Used View
Lists Contacts View
Lists Costed Bill Of Materials Inquiry View
Lists CRM Groups View
Lists Currency View
Lists Custom Record Entries View
Lists Customers View
Lists Departments View
Lists Email Template Edit
Lists Employee Record View
Lists Employees View
Lists Events View
Lists Export Lists View
Lists Inventory Cost Template View
Lists Item Demand Plan View
Lists Item Revisions View
Lists Item Supply Plan View
Lists Items View
Lists Locations View
Lists Manufacturing Cost Template View
Lists Manufacturing Routing View
Lists Non Posting Registers View
Lists Notes Tab View
Lists Perform Search Full
Lists Phone Calls View
Lists Planned Standard Cost View
Lists Product Hierarchies View
Lists Publish Search Edit
Lists Resource Edit
Lists Shipping Items View
Lists Standard Cost Version View
Lists Subsidiaries View
Lists Subsidiaries / Entities View
Lists Tasks View
Lists Track Messages Edit
Lists Units View
Lists Vendors View
Reports Inventory View
Reports Purchase Order Reports View
Reports Report Customization Edit
Reports Report Scheduling View
Reports Return Authorization Reports View
Reports Sales Order Fulfillment Reports View
Reports Sales Order Reports View
Reports Sales Order Transaction Report View
Setup Access Token Management View/Full
Setup Custom Body Fields View
Setup Custom Column Fields View
Setup Custom Entity Fields View
Setup Custom Entry Forms View
Setup Custom Fields View
Setup Custom Item Fields View
Setup Custom Lists View
Setup Custom Record Types View
Setup Custom Sublist(s) View
Setup Custom Subtabs View
Setup Custom Transaction Fields View
Setup Custom Transaction Forms View
Setup Deleted Records View/Full
Setup Log in using Access Tokens View/Full
Setup Mobile Device Access View/Full
Setup Review Custom GL Plug-in Executions View
Setup SuiteScript Edit
Setup User Access Token View/Full
Setup Web Services View
Transactions Access Payment Audit Log View
Transactions Adjust Inventory View
Transactions Bills View
Transactions Build Assemblies View
Transactions Build Work Orders View
Transactions Close Work Orders View
Transactions Copy Budgets View
Transactions Count Inventory View
Transactions Create Inventory Counts View
Transactions Enter Completions View
Transactions Find Transaction View
Transactions Fulfill Orders View
Transactions Invoice View
Transactions Issue Components View
Transactions Item Fulfillment View
Transactions Item Receipt View
Transactions Mark Work Orders Built View
Transactions Mark Work Orders Firmed View
Transactions Mark Work Orders Released View
Transactions Purchase Order Create
Transactions Receive Order View
Transactions Receive Returns View
Transactions Requisition View
Transactions Requisition Approval View
Transactions Return Auth. Approval View
Transactions Return Authorization View
Transactions Revalue Inventory Cost View
Transactions Sales Order Create
Transactions Transfer Inventory View
Transactions Transfer Order Create
Transactions Transfer Order Approval View
Transactions Vendor Bill Approval View
Transactions Vendor Return Authorization View
Transactions View Gateway Asynchronous Notifications View
Transactions View Payment Events View
Transactions Work Order Create
Transactions Work Order Close View
Transactions Work Order Completion View
Transactions Work Order Issue View

5. Create Access Token

Once the permission has been added to the user. Click:

  1. Setup
  2. Users/Roles
  3. Access Tokens
  4. New
Create Access Token

5.1. Select DemandCaster Data Integration to Apply Access Token

  1. From the drop down in the APPLICATION NAME, select the DemandCaster Data Integration created in step 3
  2. From the drop down select the User Account that will be used for the integration.
  3. Enter the Role of the user.
  4. The Token Name will be populated.
  5. Click Save
Select DemandCaster Data Integration to Apply Access Token

5.2. Access Token is Created

The Token ID and Token Secret will be generated. Please copy the values for each and forward the information to your DemandCaster setup engineer since this information will not be able to be retrieved.

Access Token is Created

6. Setting up Temporary User Account for DemandCaster Support Personnel

At times, particularly when there are several custom or non-standard fields that require integration, having a user account with access to your system will significantly help speed the integration processes. We will be able to search for missing data and quickly modify the scripts to ensure the correct data is flowing into DemandCaster.

DemandCaster personnel will require access only during integration.

Please create a user account with your provided email account Client_Company@demandcaster.com(example: C[email protected]) with the permissions defined below.

With a named user during this phase to address the two-factor authentication (2FA) we use the context of the above email address so that our implementation team can recover the authorization codes.

We recognize that a named user is at a cost (seat license) to your organization and therefore at the conclusion of the project you may remove the named user created to support the implementation. DemandCaster ETL and Reverse ETL are all governed by Token Based Authentication.

Role should have the same permissions as those defined in step 4 above plus the highlighted permissions:

Tab
Permission
Level
Lists Accounts View
Lists Bill Of Materials Inquiry View
Lists Calendar View
Lists Check Item Availability View
Lists Classes View
Lists Commit Orders View
Lists Component Where Used View
Lists Contacts View
Lists Costed Bill Of Materials Inquiry View
Lists CRM Groups View
Lists Currency View
Lists Custom Record Entries View
Lists Customers View
Lists Departments View
Lists Documents and Files Edit
Lists Email Template Edit
Lists Employee Record View
Lists Employees View
Lists Events View
Lists Export Lists View
Lists Inventory Cost Template View
Lists Item Demand Plan View
Lists Item Revisions View
Lists Item Supply Plan View
Lists Items View
Lists Lists/Export Lists View
Lists Locations View
Lists Manufacturing Cost Template View
Lists Manufacturing Routing View
Lists Non Posting Registers View
Lists Notes Tab View
Lists Perform Search View
Lists Perform Search View
Lists Phone Calls View
Lists Planned Standard Cost View
Lists Product Hierarchies View
Lists Publish Search Edit
Lists Resource Edit
Lists Shipping Items View
Lists Standard Cost Version View
Lists Subsidiaries View
Lists Subsidiaries / Entities View
Lists Tasks View
Lists Track Messages Edit
Lists Units View
Lists Vendors View
Reports Inventory View
Reports Purchase Order Reports View
Reports Report Customization View
Reports Report Scheduling View
Reports Return Authorization Reports View
Reports Sales Order Fulfillment Reports View
Reports Sales Order Reports View
Reports Sales Order Transaction Report View
Setup Access Token Management View
Setup Allow JS / HTML Uploads Edit/Full
Setup Custom Body Fields View
Setup Custom Column Fields View
Setup Custom Entity Fields View
Setup Custom Entry Forms View
Setup Custom Fields View
Setup Custom Item Fields View
Setup Custom Lists View
Setup Custom Record Types View
Setup Custom Sublists View
Setup Custom Subtabs View
Setup Custom Transaction Fields View
Setup Custom Transaction Forms View
Setup Deleted Records View
Setup Log in using Access Tokens View
Setup Mobile Device Access View
Setup Review Custom GL Plug-in Executions View
Setup SuiteScript Edit
Setup User Access Token View
Setup Web Services View
Transactions Access Payment Audit Log View
Transactions Adjust Inventory View
Transactions Bills View
Transactions Build Assemblies View
Transactions Build Work Orders View
Transactions Close Work Orders View
Transactions Copy Budgets View
Transactions Count Inventory View
Transactions Create Inventory Counts View
Transactions Enter Completions View
Transactions Find Transaction View
Transactions Fulfill Orders View
Transactions Invoice View
Transactions Issue Components View
Transactions Item Fulfillment View
Transactions Item Receipt View
Transactions Mark Work Orders Built View
Transactions Mark Work Orders Firmed View
Transactions Mark Work Orders Released View
Transactions Purchase Order Create
Transactions Receive Order View
Transactions Receive Returns View
Transactions Requisition View
Transactions Requisition Approval View
Transactions Return Auth. Approval View
Transactions Return Authorization View
Transactions Revalue Inventory Cost View
Transactions Sales Order Create
Transactions Transfer Inventory View
Transactions Transfer Order Create
Transactions Transfer Order Approval View
Transactions Vendor Bill Approval View
Transactions Vendor Return Authorization View
Transactions View Gateway Asynchronous Notifications View
Transactions View Payment Events View
Transactions Work Order Create
Transactions Work Order Close View
Transactions Work Order Completion View
Transactions Work Order Issue View