NetSuite Collect Slice

Overview

NetSuite is the world's leading provider of cloud-based business management software. NetSuite helps companies manage core business processes with a single, fully integrated system covering ERP/financials, CRM, e-commerce, inventory and more.

The Datacoral NetSuite slice collects data from the NetSuite API and enables data flow from an NetSuite workspace into a data warehouse, such as Redshift.

Setup requirements

Before getting started please make sure to have the following information:

  • Access to an active NetSuite account
  • SuiteTalk installed in your NetSuite account

Steps to add this slice to your installation

The steps to launch your slice are:

  1. Generate NetSuite API keys
  2. Specify the slice config
  3. Add the NetSuite slice

1. Generate NetSuite API keys

1.1 Get your Account Id

a. Login to your NetSuite application and navigate from the top menu to Setup > Integration > Web Services Preferences

b. Note down the NetSuite Account Id in the left top corner

1.2 Add Datacoral as an integration

a. From the main menu, navigate to Setup > Integration > Manage Integrations > New

b. Enter a name for the integration (Ex. Datacoral Integration), use default configuration for Authentication and click Save

c. From the main menu, navigate to Setup > Integration > Manage Integrations

On the list of integrations, make a note of the Application ID

1.3 Add Datacoral role

a. From the main menu, navigate to Setup > Users/Roles > Manage Roles > New

b. Enter a name for the role (Ex. Datacoral Role) and click Save

c. Scroll down the page, click Permissions > Setup Add the following permissions, one at a time, from the dropdown and click Add

  • Custom Body Fields
  • Custom Column Fields
  • Custom Entity Fields
  • Custom Event Field
  • Custom Item Fields
  • Custom Record Types
  • Deleted Records

d. Click Permissions > Setup Add the following permissions, one at a time, from the dropdown and click Add

e. Click Permissions > Lists Add each of the lists you intend Datacoral to collect, from the dropdown and click Add

Optional:

  • Add each of the Transactions from Permissions > Transactions
  • Add any of the saved searches for Standard or Custom Record

Click Save

f. Get the Role Id, by searching for it. From the main menu, navigate to Setup > Users/Roles > Manage Roles > Search

g. Click Submit to return all roles

h. Select the role you just created (Ex. Datacoral)

i. Note down the role ID from the URL as shown below

1.4 Assign the role to a user

Create or assign the new role (Ex. Datacoral) to an user

  • Make sure this user does not have two-factor authentication (2FA) enabled
  • Note down the email address associated with the user
  • Assign a complex password and note it down

2. Specify the slice config

To get a template for the NetSuite slice configuration save the output of the describe --input-parameters command as follows:

datacoral collect describe --slice-type netsuite \
--input-parameters > netsuite_parameters_file.json

Example template

{
"account": "account_id",
"applicationId": "application_id",
"role": "role_id",
"email": "user@domain.com",
"password": "user_password"
}

Modify the netsuite_parameters_file file to add the ids generated from NetSuite

Necessary input parameters:

  • account: Account Id from Step 1.1.b
  • applicationId: auth Application ID from 1.2.c
  • role: Role Id from Step 1.3.i
  • email: email address from Step 1.4
  • password: password from Step 1.4
  • loadunits: specifies data processing parameters, described above

3. Add the Slice

datacoral collect add --slice-type netsuite --slice-name <slice-name> --parameters-file <params-file>
  • slice-name Name of your slice. A schema with your slice-name is automatically created in your warehouse
  • params-file File path to your input parameters file. Ex. netsuite_parameters_file.json

Supported load units

The NetSuite slice supports collection of Lists and Saved Searches from your NetSuite instance to your warehouse

Lists

This slice supports the following loadunits

Account
Accounting Period
Billing Schedule
Budget
Classification
Contact
Customer Category
Customer
Department
Employee
Expense Category
Inbound Shipment
Item
Location
Payment Method
Price Level
Task
Time Bill
Time Entry
Time Sheet
Transaction
Vendor
Vendor Category

Saved Searches

This slice supports Standard or Custom Record saved searches

Slice output

Output of this slice is stored in S3 and Redshift.

AWS S3 Data stored in AWS S3 is partitioned by date and time s3://datacoral-data-bucket/<slice-name>

AWS Redshift: Schema - schema name will be same as a slice-name. For example, tables produced by the slice are:

- schema.accounts
- schema.departments
- schema.employees

Questions? Interested?

If you have questions or feedback, feel free to reach out at hello@datacoral.co or Request a demo