NetSuite (Oracle NetSuite)
NetSuite is the first online financials and ERP platform with tens of thousands of customers that enables an efficient and robust feature-set to run the core of the business. With all of the financial and operational data, transactions, customer, product, and inventory information it is imperative that NetSuite customer have flexible access to all of the current and historical data available to key data workers in their organization that can help you make better decisions to increase revenue, save costs, etc. and you're going to need a way to synchronize that data to a warehouse in order to democratize access to enrich the NetSuite data with other operational or marketing information. And that's where our NetSuite connector comes in.
Connecting to NetSuite, you need to make sure that:
- You'll need your Account Id (the id of your store provided to you by NetSuite)
- You'll need the ability to sign in to your NetSuite account (usually a user with admin role privileges)
- A NetSuiteservice account or non-Administrator account for testing and connecting to DLH.io
- NOTE:
- This connection uses the NetSuite REST Web Services configuration, so when testing it is best to create a service account and assign it the appropriate role(s) or use another user who will act as the user connecting to your NetSuite account for this integration. Per the NetSuite documentation regarding OAuth 2.0 access:
- A user assigned a role with the OAuth 2.0 Authorized Applications Management permission cannot access RESTlets, REST web services, and SuiteAnalytics Connect using OAuth 2.0. To use OAuth 2.0 for access, the user must be assigned a role with the Log in Using OAuth 2.0 Access Tokens permission.
- This is because if you have the Administrator role assigned to you, your user includes the Authorized Applications Management permission as one of your roles, which would conflict or be not perissable per the instructions from NetSuite.
These instructions being provided are specific to the DLH.io NetSuite connector. While it is recommended to also use the NetSuite SuiteAnalytics connector, this connector we believe provides additional or more streamline data replication though a reduced number of tables will be replicated to your target due to the limited number of available entities available using this integration approach which behind the scenses uses the NetSuite REST API for NetSuite Web Services. Here is the list of available REST API entities available per the NetSuite documentation.
These steps below are required to configure your NetSuite account environment to successfully integrate with DLH.io (again, these steps have similarities to, but are mainly different from the NetSuite SuiteAnalytics connector setup):
- Begin configuring Setup from the main header menu and click on the path Setup > Company > Enable Features in order to access the SuiteAnalytics enablement area.
- Click on the SuiteCloud tab
- Check the box for Client SuiteScript in the SuiteScript section
- Click on I Agree to accept the terms of service that opens
- Check the Server SuiteScript option in the SuiteScript section
- Click on I Agree to accept the terms of service that opens
- Under the SuiteTalk (Web Services) section check the checkboxes for:
- SOAP WEB SERVICES
- REST WEB SERVICES
-
- Under Manage Authenctication, check the checkbox for OAUTH 2.0
- Save the Setup Enable Features page by clicking the Save button at the bottom or the top of the Enable Features page
-
- (Optional) If using the DLH.io standard NetSuite (Oracle NetSuite) connector you will also check the checkbox for OAUTH 2.0, which allows different entities to be retrieved (Optional for this connector)
- Click the Save button which is visibile when you scroll to the bottom of the page.
- Navigate to create a new integration by accessing the main header and selecting Setup > Integration > Manage Integrations > New
- In the create new integration page you will need to update the following items by updating the following form fields with the values:
- Name = DataLakeHouse.io Integration REST API
- Description = Integrate DLH.io with NetSuite REST API
- State = Enabled
- Note = Optional, for your records
- Authentication area:
- OAuth 2.0 section:
- Authorization Code Grant = Check the checkbox
- REST Web Services = Check the checkbox
- SuiteAnalytics Connect = Check the checkbox
- You must enter the appropriate value for redirect which is an endpoint on datalakehouse.io so that the integration configuration will complete and use the appropriate setup once you create the source connector in DLH.io.
- OAUTH 2.0 Consent Policy = Always Ask
-
-
- Click the Save button to save the integration The Client Credentials area will appear above the Save button area and underneath the User Credentials section towards the bottom of the page. Please copy these as they will be used in your connection settings for DLH.io. NOTE: These keys, and secrets will not be visible once you leave this page. So, please copy them somewhere to be safely stored and used when creating the connector. If you somehow miss this opportunity, revisit the integration you just created and click the 'Reset Credentials' button at the top of the page.
A new role is highly recommended to be created in order to assign the necessary permissions for OAuth2 Integration.
When the DLH.io connection is first created and authenticated you are redirected back to your NetSuite account and have the ability to select the role which you will access the NetSuite REST API through, and that role needs to have the appropriate access.
However, you could use an existing role. We recommend creating a new role which will be specific to the DataLakeHouse.io and NetSuite integration.
- Navigate to Setup > Users/Roles > Manage Roles > New
- In the name field, enter a unique name for the role, ex: DLH_NS_ROLE
- Scroll down the page to find the Permissions tab
- Click the Setup sub-tab
- From the permissions dropdown select the following and click the Add button to add these permissions:
- REST Web Services
- SOAP Web Services
- Log in using OAuth 2.0 Access Tokens
- Click the Save button to save the new role you created
- Next, we need to specify which user will connect to SuiteAnalytics when configured in DLH.io, so navigate to Setup > Users/Roles > Manage Users
- Click the name of the user which you've identified to be the user profile that will connect to NetSuite SuiteAnalytics
- In the resulting page click the Edit button
- Scroll down to the bottom and click on the Access sub-tab
- Click the Roles sub-tab
- From the dropdown select the Data Warehouse Integrator role
- Click Add
- Click the Save button to save the changes for the user
NOTE: If updating any existing role to add these permissions necessary for the OAuth 2.0 access, find the role, click to edit the role, then in the sub tab click on Permissions > Setup then below you will be able to add the new permission as follows:
DataLakeHouse.io securely connects to your NetSuite account instance and does not store your password or credentials.
Using the form please complete the following basic steps:
- Enter a Name or Alias for this connection that is unique in the 'Name/Alias' field
- Enter a unique target schema name for your cloud warehouse destination in the 'Target Schema Prefix' where you wish to land the data
- Enter your NetSuite account name in the Account ID field
- Enter your NetSuite account name in the Cliend ID field
- Enter your NetSuite account name in the Client Secret field
- Click the 'Authorize Your Account' button which will transport the page to the NetSuite login, where you will enter your NetSuite account credentials. Once your credentials are accepted you will be automatically redirect back to this DataLakeHouse.io portal and you should be able to see a successful connection of your source. Usually and it is recommended to select a NON Administrator role, so selecting the option to Choose another role, and then selecting the appropriate role from the list by clicking Choose Role will then allow you to click the Allow button.
-
- Once authenticated and returned to DLH.io you may access the connection and click on the Schema tab. Ensure that the list of entities/tables appears. If not you may click the Reload Schema button. Please note, reload of the schema may take 2-10 minutes to complete depending on how large of an instance is your account.
- Done