- 9 Minutes to read
- Print
- DarkLight
- PDF
NetSuite Integration
- 9 Minutes to read
- Print
- DarkLight
- PDF
To complete the NetSuite integration with Planful, you must first complete a one-time setup, which consists of 3 steps.
Configuration in Planful
Complete steps 4-6 once steps 1-3 are complete. The steps below are not a one-time activity.Creation of a Data Load Rule to Load Data Resulting from the NetSuite Saved Search
To complete the Configuration in NetSuite step, complete 3 tasks.
Enable Features (i.e. Token Based Authentication)
Configuration in NetSuite
1. Enable Features
Token-based authentication between Planful and NetSuite is used to secure your connection between the two applications.
Navigate to Setup > Company > Enable Features.
Click the SuiteCloud tab.
Scroll down to the SuiteScript section and select the SERVER SUITESCRIPT checkbox.
- Scroll to Manage Authentication, select the TOKEN-BASED AUTHENTICATION checkbox.
Click Save.
2. Create an Integration Application
Completion of this task will result in the generation of a Consumer Key and Consumer Secret. The screen will be displayed only once. Make note of the content displayed as it is to be used while setting up NetSuite Connect in Planful. Tip! Copy and paste the Consumer Key and Secret into Notepad.
Navigate to Setup > Integration > Manage Integrations > New.
Fill in the NAME, select Enabled from the STATE drop-down list, click the Token-Based Authentication checkbox, and then click Save.
The Confirmation page appears. Save the Consumer Key and Consumer Secret into Notepad or some other application.
3. Generate an Access Token
Completion of this task will result in the generation of a Token ID and Token Secret.
If you are an Admin user, complete the steps under Admin User. If not, complete the steps under Role Level.
Admin User
Navigate to Home > Settings > Manage Access Tokens.
Click New My Access Token.
Select the Application Name and click Save.
Role Level
Navigate to Setup > Users/Roles > Manage Roles.
Edit the Role mapped to the user by clicking on it.
When the Role page appears, click Edit.
Scroll down to Permissions
i. Click the Setup tab
ii. Add the Permission of User Access Tokens and
iii. Click Save.
Generate the Access Token
Navigate to Setup > User/Roles > Access Tokens > New.
Select the Application Name that you provided in task 2. Select a User and Role. Click Save.
The screen below will be displayed only once. Make note of the information on this screen as it will be used while setting up NetSuite Connect in Planful.
Tip! Copy and paste this information into Notepad.
Installation of the SuiteScript Bundle in NetSuite
Navigate to Customization > SuiteBundler > Search & Install Bundles.
In the KEYWORDS, search Host Analytics NetSuite Connect and select it.
Click Install as shown on the screen below.
Once you click Install, the page below is displayed, click Install Bundle.
Go to the Script Deployments page by navigating to Customization > Scripting > Script Deployments.
Find Host_NetSuiteConnect and click View.
Make note of the External URL as this information is used while setting up NetSuite Connect in Planful. Tip! Copy and paste this information into Notepad.
Configuration in Planful
Open Planful and navigate to Maintenance > Admin > Configuration Tasks > Data Integration Configuration > Cloud Services.
Click the NetSuite Connect tab and click Add to create a Netsuite Profile. You need to create a profile to establish the connection between Planful and NetSuite. Data can be pulled from multiple NetSuite databases. You can create multiple profiles corresponding to each database.
The Configure Profile screen appears.
Enter a name for the profile.
For Consumer Key and Consumer Secret, NetSuite provided this information. Consumer Key is the API key associated with NetSuite. It identifies the client.
- Enter the Token ID and the Token Secret generated and provided by NetSuite. Tokens are used to authenticate and authorize data to transfer over the internet.
Enter the External URL provided by NetSuite. This URL provides a route from Planful to NetSuite.
Enter your NetSuite Account ID in the Account ID field.
Click Save. Your configuration will look something like the image below.
The Profile is created when all the details provided in the screen above are valid. Once the Profile is saved successfully, the NetSuite user will receive an email. The subject of the email will say, “A User Error Has Occurred”. Please ignore this email. This email will be sent using the user’s email and it will show up in the Sent folder.
To further explain, when you configure the NetSuite Profile in Planful, Planful sends the user credentials along with the Saved Search ID as ‘0’ and only upon receipt of the response (that there exists no Saved Search with the ID ‘0’) are the user credentials validated. This email will be sent every time a Profile is created, or an existing Profile is re-saved.
Creation of Saved Searches in NetSuite
Create a Saved Search to extract data from NetSuite that you want to load to Planful.
Navigate to Reports > Saved Searches > All Saved Searches.
Click to view All Saved Searches or click New to create another.
Select a Search Type. This is important because the field/column types that will prepopulate the saved search are based on Search Type. For example, if you select the Contact type, the saved search will prepopulate with Name, Email, Phone, etc in the Results column.
Create the Saved Search with the required columns that can be used to map to the columns in Planful while loading data.
For more information on creating saved searches in NetSuite, refer to NetSuite Applications Suite documentation.
NetSuite Saved Search Best Practices
- For GL Data and Transactions Data, only a Date type of column can be mapped to a ‘Date’ target column in the Define Data Mapping step in Planful.
The date can be picked from the ‘Transaction Date’ in NetSuite.
To use Posting Period to map to the date column in Planful, use the formula below to type Date in the Saved Search.
to_date(ConCat('01 ', {postingperiod}), 'dd.mm.yyyy')Any other field of type date can be mapped in Planful.
Note:When loading data to Planful using a given date range, the records with empty date values will not be loaded. This may happen when the NetSuite transactions have empty or null custom date fields which are used in the Saved Search and the custom date field being mapped in Planful.
- For GL Data and Transactions Data, only a Date type of column can be mapped to a ‘Date’ target column in the Define Data Mapping step in Planful.
If any of the segment members are blank in NetSuite transactions, for example, Location, then the formula below can be used to populate Null with default value. The below formula uses DEFAULT as a placeholder for the default value.
NVL({location.namenohierarchy}, 'DEFAULT')
RESTlet Limitations
The following record types are not supported:
Record Category | Record Type |
---|---|
Customization | CRM Custom Field (definition) |
Customization | Custom Record Custom Field (definition) |
Customization | Entity Custom Field (definition) |
Customization | Item Custom Field (definition) |
Customization | Item Options Custom Field (definition) |
Customization | Other Custom Field (definition) |
Customization | Transaction Body Custom Field (definition) |
Customization | Transaction Column Custom Field (definition) |
Customization | Custom Record Type (definition) |
Entities | Group |
Entities | Win/Loss Reason |
Lists | Budget Category |
Lists | Currency Rate |
Marketing | Campaign Keyword |
Other Lists | Lead Source |
Other Lists | Win/Loss Reason |
Support | Support Case Issue |
Support | Support Case Origin |
Support | Support Case Priority |
Support | Support Case Status |
Support | Support Case Type |
Support | Support Issue Type |
Transactions | Budget |
Transactions | Intercompany Transfer Order |
Website | Site Category |
Creation of a Data Load Rule to Load Data Resulting from the NetSuite Saved Search
Now that configuration is complete, create a Data Load Rule (DLR) to load NetSuite Data via the Saved Search. Follow the steps below.
Navigate to Maintenance > DLR > Data Load Rules.
Click the New Data Load Rule tab.
Enter a name for the DLR.
For Load Type, select NetSuite Connect as shown below.
Select to load Segment Hierarchies, Currency Exchange Rates, GL Data, Translations Data, or Transaction Data. These are the only supported load-type items at this time.
For Connection Profile, select the name of the profile configured above. In this case, it was called NS User.
Select a Load Sub Item and click Next.
Row with Header and # of Rows to Skip are read-only. Specify the # of Source Fields with the number of columns to be mapped in the Define Data Mappings step from the NetSuite Saved Search.
Enter the Saved Search ID or alternatively use the browse icon to select the NetSuite Saved Search in the ‘Select Sample Input File’ step.
For the Manipulate Input File step, you can perform data manipulations, which allow you to change the way data is loaded from your source solution to Planful (the target). You can perform the following actions:
Add new column
Duplicate existing column
Edit Headers Name
Join Data
Split Data
Replace
Show Column Header
Manage Manipulations
Note:The Data Manipulations functionality is enabled only for the RESTlet mode and not applicable for the Web Services mode.You can manipulate the data displayed in the Raw Data pane The manipulated data is displayed in the Manipulated Data pane.
For the Define Data Mappings step, map the Saved Search Source Column to the column in Planful using the Maps To column. In the screenshot below, the GL Data or Transactions Data Load shows you where you can filter the data to be loaded at the segment level using a Filter Condition of ‘Include /Exclude ’ and segment codes as Filter Values with comma separated.
The NetSuite columns are displayed under the Source Column field on the Define Data Mappings page. The number of source columns is based on the value of # of Source fields in the Select Sample Input File step.
Workaround for Existing DLR
The Data Manipulations functionality is applicable only to the NetSuite Connect DLR’s that are created after June 2019 Release and in the RESTlet mode.
For customers using the RESTlet mode prior to June 2019 Release or for customers who migrated to RESTlet mode from the Web Services mode, the workaround steps to enable the Data Manipulations functionality are as follows:
From the Load Type drop-down list, select any load type other than NetSuite Connect. For more information, see the Data Integration Admin Guide.
From the Load Type drop-down list, select NetSuite Connect.
When you navigate to the Manipulate Input File page, you can view the raw data and can perform the required Data Manipulations.When you navigate to the Define Data Mappings page, you can view columns from NetSuite under the Source Column field.
Note:When you copy a NetSuite DLR created prior to June 2019, the Data Manipulations functionality is enabled for the copied DLR only after you perform the workaround steps. Best PracticesNote:When you select any value other than NetSuite Connect in the Load Type drop-down list, all the configurations will be reset and you should set up the DLR again.Navigate to the Manipulate Input File step prior to the Define Data Mappings step to fetch the latest column header information and to preview the saved search data.
When the Process Flow is running, you should not navigate to the Manipulate Input File page of the DLR used in the Process flow.
Creation of a Cloud Scheduler Process
It is recommended that you create a Cloud Scheduler Process in Planful to run the DLR. To do so, follow the steps below.
Navigate to Maintenance > Admin > Cloud Scheduler > Process Flow.
Create a Process Flow and add tasks with the Data Load Rule task type.
Select the DLR just created and schedule it to run. Below is a screenshot of a Scheduled Process for GL Data where the Period selected is Current Financial Year.
For detailed information on how to set up processes in Cloud Scheduler, see the Cloud Scheduler guide.