NetSuite Suite Analytics integration summary

Stitch’s NetSuite Suite Analytics integration replicates data using the SuiteAnalytics Connect JDBC driver. Using this integration requires that the SuiteAnalytics feature be enabled in your NetSuite account.

Refer to the Schema section for a list of objects available for replication.

NetSuite Suite Analytics feature snapshot

A high-level look at Stitch's NetSuite Suite Analytics (v2) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on July 20, 2026

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Supported

Configurable Replication Methods

Supported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting NetSuite Suite Analytics

NetSuite Suite Analytics setup requirements

To set up NetSuite Suite Analytics in Stitch, you need:

  • Administrator permissions in NetSuite.. This is required to complete the setup steps in NetSuite.

  • Access to the SuiteAnalytics feature in NetSuite. Suite Analytics is a premium NetSuite feature. Contact your NetSuite administrator if you have questions about this feature.


Step 1: Create a Stitch NetSuite role and configure permissions

To connect NetSuite Suite Analytics to Stitch, we recommend that you create a Stitch-specific role and user for us.

  1. Using the global search, type page: new role and click the Page: New Role result.
  2. In the General section, enter a name for the role in the Name field. For example: Stitch SuiteAnalytics
  3. Scroll down to the Permissions tab and click the Setup subtab, if it isn’t already open.
  4. Using the Permission dropdown, search for SuiteAnalytics Connect:

    The SuiteAnalytics Connect permission in the Create Role screen in NetSuite

  5. Click Add to add the permission to the role.
  6. When finished, click Save to create the role.

Step 2: Get the role's internal ID

  1. Using the global search, type page: manage roles and click the Page: Manage Roles result.
  2. Locate the role you created in the previous step.
  3. Locate the role’s Internal ID:

    The role's internal ID in the Manage Roles screen in NetSuite

    Note: If you don’t see the Internal ID column, click the Edit View button to add it.

Keep this info handy - you’ll need it to complete the setup in Stitch.

Step 3: Create a Stitch NetSuite user and assign the role

Next, you’ll create a dedicated NetSuite Suite Analytics user for Stitch and assign the Stitch role to it.

  1. Using the global search, type page: new employee and click the Page: New Employees result.
  2. In the Employee page, fill in the Name, Email, and any other required fields.
  3. Click the Access tab, located in the bottom half of the page.
  4. In the Access tab:
    1. Check the Give Access box.
    2. Check the Manually assign or change password box to create a password for the Stitch user.
    3. Enter a password in the Password field, then again in the Confirm Password field.
    4. In the Roles section, search the dropdown menu to locate the Stitch role you created in Step 1.
    5. Click Add once you’ve located the role.
  5. When finished, click Save to create the user.

Step 4: Retrieve SuiteAnalytics Connect details

In this step, you’ll retrieve the details required to connect to NetSuite Suite Analytics from NetSuite.

  1. On the home page of your NetSuite account, click Settings > Set Up SuiteAnalytics Connect:

    The NetSuite homepage with the Set Up SuiteAnalytics Connect option highlighted

  2. The next page will display the connection details in the Your Configuration section:

    The Your Configuration section of the Set Up SuiteAnalytics Connect page in NetSuite

Keep this page open - you’ll need it in the next step.

Step 5: Add NetSuite Suite Analytics as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the NetSuite Suite Analytics icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch NetSuite Suite Analytics” would create a schema called stitch_netsuite_suite_analytics in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Host field, paste the host value from Step 4.
  6. In the Port field, paste the port value from Step 4.
  7. In the Account ID field, paste the account ID field from Step 4.
  8. In the Role ID field, enter the role’s internal ID from Step 2.
  9. In the Username and Password fields, enter the Stitch user’s username and password from Step 1.

Step 6: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your NetSuite Suite Analytics integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond NetSuite Suite Analytics’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 7: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

NetSuite Suite Analytics integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 8: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For NetSuite Suite Analytics integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Optional: To define a table’s Replication Method, click Table Settings on the right side of the page.

    Whenever possible, Stitch will default to using Key-based Incremental Replication. In some cases, you may be prompted to select a Replication Key for the table.

    To change the table’s Replication Method:

    1. Select the Replication Method you want the table to use. Note: Some tables can only be replicated using Full Table Replication. Key-based Incremental Replication will be greyed out when this is applicable.
    2. If required, select a Replication Key for the table.
    3. Click Update Settings.
  5. Repeat this process for all the tables and columns you want to replicate.
  6. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up NetSuite Suite Analytics, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


NetSuite Suite Analytics replication

In this section:

Extraction

For every table set to replicate, Stitch will perform the following during Extraction:

Discovery

During Discovery, Stitch will:

Discover tables

To discover tables and their schemas, Stitch queries the OA_COLUMNS system table in the Connect Schema for the following info:

Column name Description
table_name

The name of the table.

table_qualifer

The name of the table qualifier. Stitch uses this data to filter out system tables.

table_owner

The name of the table owner. Stitch uses this data to filter out system tables.

column_name

The name of a column in the table.

type_name

The data type of the column_name column. Stitch uses this data to type columns.

oa_scale

For NUMBER data types, the scale of the data in the column_name column. Stitch uses this data to type columns.

All tables where table_qualifer != SCHEMA and table_owner != SYSTEM will be returned and displayed in Stitch as avaiilable for replication.

Refer to NetSuite’s documentation for more info about the OA_COLUMNS system table.

Identifying Primary Keys

Stitch’s approach to Primary Keys for NetSuite Suite Analytics is a bit different than other integrations. In NetSuite Suite Analytics, we’ve found that some tables might not have Primary Keys at all, or Primary Key columns may sometimes contain NULL values.

To determine if a table has Primary Keys, Stitch queries the OA_FKEYS system table. If the table has Primary Keys, Stitch will:

  1. Combine all Primary Key column values on a per record basis
  2. Hash the result and place the hash in a system column named _sdc_record_hash
  3. Designate _sdc_record_hash as the table’s Primary Key. Primary Key columns will have a icon next to their name in Stitch.
  4. Automatically set _sdc_record_hash and the table’s Primary Key columns to replicate

Note: The presence of Primary Keys partially determines how data is loaded into your destination.

Refer to NetSuite’s documentation for more info about the OA_FKEYS system table.

Data typing

Next, Stitch will assign data types to columns. To determine data types, Stitch uses the type_name and oa_scale columns returned from the OA_COLUMNS system table during table discovery.

In the following table:

  • NetSuite data type: The data type in NetSuite, based on the column’s type_name value.
  • Stitch data type: The Stitch data type the NetSuite type will be mapped to.
  • Description: Details about the data type or mapping.
NetSuite data type Stitch data type Description
VARCHAR2 STRING

The VARCHAR2 data type includes BOOLEAN data due to how NetSuite stores these values.

NetSuite stores BOOLEAN values as VARCHAR2 with either a length of one ("t" or "f") or three ("yes" or "no"). As typing can’t be correctly asserted based on a length of one or three, these values are dicovered as strings.

NUMBER INTEGER

If the column’s oa_scale value is 0, Stitch will type the data as an INTEGER.

NUMBER NUMBER

If the column’s oa_scale value is greater than 0, Stitch will type the data as a NUMBER.

TIMESTAMP STRING (DATE-TIME)

Stitch will type TIMESTAMP data as a DATE-TIME-formatted string.

Data replication

After discovery is completed, Stitch will move onto extracting data. The Replication Method Stitch uses is dependent on whether the table contains valid Replication Key columns.

Stitch will default to using Key-based Incremental Replication if a table contains any of the following columns:

  • last_modified_date
  • date_last_modified
  • date_deleted
  • date_last_modified_gmt (transaction_lines table only)

If a table contains more than one of the above columns, you’ll be prompted to select a column to use as a Replication Key when you set the table to replicate. Otherwise, Stitch will use the single column as the Replication Key for the table.

If a table doesn’t contain any of the above columns, Stitch will default to using Full Table Replication.

As this integration supports configuring Replication Methods, you can toggle between Replication Methods for tables on the Table Settings page in Stitch.

Loading

How data replicated from an NetSuite Suite Analytics integration is loaded into your destination depends on two factors:

  1. If the table has Primary Keys identified during discovery.

  2. If your destination supports upserts, or updating existing rows. For destinations that support upserts, Stitch uses Primary Keys to de-dupe data during loading. Primary Keys are used to identify unique rows within a table and ensure that only the most recently updated version of that record appears in your destination.

    Note: For Append-Only destinations, data will be loaded in an Append-Only manner regardless of whether a table has Primary Keys.

Loading with Primary Keys

If the destination supports upserts and the table has Primary Keys, Stitch will de-dupe records using _sdc_record_hash as the Primary Key.

This means that existing rows will be overwritten with the most recent version of the row. A record can only have a single unique Primary Key value, ensuring that only one version of the record exists in the destination at a time.

Loading without Primary Keys

If the destination is Append-Only, or if the table doesn’t have Primary Keys, data will be loaded in an Append-Only manner.

This means that existing rows will never be updated with new data. New and updated records will be appended to the end of the table as new rows.

Note: Querying Append-Only tables requires a different strategy than you might normally use. For instructions and a sample query, check out the Querying Append-Only tables guide.


NetSuite Suite Analytics table reference


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.