NetSuite Integration
  • 9 Minutes to read
  • Dark
    Light
  • PDF

NetSuite Integration

  • Dark
    Light
  • PDF

Article summary

To complete the NetSuite integration with Planful, you must first complete a one-time setup, which consists of 3 steps.

  1. Configuration in NetSuite

  2. Installation of the SuiteScript Bundle in NetSuite

  3. Configuration in Planful
    Complete steps 4-6 once steps 1-3 are complete. The steps below are not a one-time activity.

  4. Creation of Saved Searches in NetSuite

  5. Creation of a Data Load Rule to Load Data Resulting from the NetSuite Saved Search

  6. Creation of a Cloud Scheduler Process

To complete the Configuration in NetSuite step, complete 3 tasks.

  1. Enable Features (i.e. Token Based Authentication)

  2. Create an Integration Application

  3. Generate an Access Token

Configuration in NetSuite

1. Enable Features

Token-based authentication between Planful and NetSuite is used to secure your connection between the two applications

  1. Navigate to Setup > Company > Enable Features.

    1. Setup Company Enable Features(1)

  2. Click the SuiteCloud tab.

    2. Suite Cloud

  3. Scroll down to the SuiteScript section and select the SERVER SUITESCRIPT checkbox. 

    3. Suitescript

  4.  Scroll to Manage Authentication, select the TOKEN-BASED AUTHENTICATION checkbox.

    4. Manage Authentication and Token based Authentication

  5. Click Save.
    5. 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.

  1. Navigate to Setup > Integration > Manage Integrations > New.

    1. Integration - Manage Integration - New(1)

  2. Fill in the NAME, select Enabled from the STATE drop-down list, click the Token-Based Authentication checkbox, and then click Save.
    2. Name, State, Toke-based and save(1)

  3. The Confirmation page appears. Save the Consumer Key and Consumer Secret into Notepad or some other application.
    3. Consumer Key

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.

Note:
If the token is generated for a user with an Administrator role, that Administrator must create the token. This step cannot be performed by any other user or Administrator. If the token is generated for a user with a role other than Administrator, this step can be performed by any user or Administrator.

Admin User

  1. Navigate to Home > Settings > Manage Access Tokens.

    1. Home - Settings -Manage access token(1)

  2. Click New My Access Token.

    2. New My Access Token

  3. Select the Application Name and click Save.

    3. Application name - Save

Role Level

  1. Navigate to Setup > Users/Roles > Manage Roles.
    1. Setup - User Roles - Manage users(1)

  2. Edit the Role mapped to the user by clicking on it.
    2. Edit Role

  3. When the Role page appears, click Edit.
    3. Edit

  4. 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

  1. Navigate to Setup > User/Roles > Access Tokens > New.

  2. Select the Application Name that you provided in task 2. Select a User and Role. Click Save.

    2. App name, User, role

    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

  1. Navigate to Customization > SuiteBundler > Search & Install Bundles.

    1. Customization - Search & Install bundles(1)

  2. In the KEYWORDS, search Host Analytics NetSuite Connect and select it.
    2. Host Analytics Netsuite connect

  3. Click Install as shown on the screen below.
    4. Install

  4. Once you click Install, the page below is displayed, click Install Bundle.
    5. Install bundle

  5. Go to the Script Deployments page by navigating to Customization > Scripting > Script Deployments.
    6. customization scripting  Script deployments

  6. Find Host_NetSuiteConnect and click View.

    6. view(1)

    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

  1. Open Planful and navigate to Maintenance > Admin > Configuration Tasks > Data Integration Configuration > Cloud Services.

  2. 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.


    1. Cloud services - NetSuite Connect and Add(2)
  3. The Configure Profile screen appears.

  4. Enter a name for the profile.

  5. For Consumer Key and Consumer Secret, NetSuite provided this information. Consumer Key is the API key associated with NetSuite. It identifies the client.

  6.  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.
  7. Enter the External URL provided by NetSuite. This URL provides a route from Planful to NetSuite.

  8. Enter your NetSuite Account ID in the Account ID field.

  9. 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.

    mail

Creation of Saved Searches in NetSuite

Create a Saved Search to extract data from NetSuite that you want to load to Planful.

  1. Navigate to Reports > Saved Searches > All Saved Searches.

  2. Click to view All Saved Searches or click New to create another.

  3. Select a Search Type. This is important because the field/column types that will prepopulate the saved search is 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.

  4. 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 Define Data Mapping step in Planful.
          • The date can be picked from the ‘Transaction Date’ in NetSuite.

          • To use Posting Period to map to date column in Planful, use the formula below of 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.

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

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.
    DLR

  • 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.
    Saved search info


  • Enter the Saved Search ID or alternatively use the browse icon to select the NetSuite Saved Search in the ‘Select Sample Input File’ step.
    Select saved search

  • 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.
      Manipulate

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.
Data mappings

Note:
Level-based data load is enabled for the NetSuite Connect DLR in the Define Overall Rule Settings step. Also, the YTD (Year-to-Date) and Account Based options are enabled in the Data Type drop-down list for NetSuite Connect DLR.

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.

Note:
This workaround is not applicable for the Web Service mode DLR’s.

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:

  1. From the Load Type drop-down list, select any load type other than NetSuite Connect. For more information, see the Data Integration Admin Guide.

  2. 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.

    Note:
    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.

    Best Practices
    • 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.

    End flow

    For detailed information on how to set up processes in Cloud Scheduler, see the Cloud Scheduler guide.


Was this article helpful?