> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# NetSuite

export const CommonAuthSchemeOauthEmbedded = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>
        {siteName} provides an embedded OAuth application with which to connect. To use the application, select <strong>OAuth</strong> for <strong>Auth Scheme</strong>. No additional properties are required.
      </p>
    </>;
};

export const CommonDatasourceMoreInformation = ({datasource = "the data source", advancedurl = "", siteName = "CData Sync", driverVersion = ""}) => {
  return <>
      <p>
        For more information about interactions between {siteName} and {datasource}, see{' '}
        <a href={`https://cdn.cdata.com/help/${advancedurl}${driverVersion}/synch/default.htm`}>
          {datasource} Connector for {siteName}
        </a>.
      </p>
    </>;
};

export const CommonDatasourceAddConnector = ({datasource = "the data source", title = "the connector", destination = false, siteNameShort = "Sync"}) => {
  return <>
      <p>
        To enable {siteNameShort} to use data from {datasource}, you first must add the
        connector, as follows:
      </p>
      <ol>
        <li>Open the <strong>Connections</strong> page of the {siteNameShort} dashboard.</li>
        <li>Click <strong>Add Connection</strong> to open the <strong>Select Connectors</strong> page.</li>
        <li>
          Click the <strong>{destination ? "Destinations" : "Sources"}</strong> tab and locate
          the <strong>{title}</strong> row.
        </li>
        <li>
          Click the <strong>Configure Connection</strong> icon at the end of that row to open
          the <strong>New Connection</strong> page. This action opens the{' '}
          <strong>Add Connection</strong> dialog box.
          <br />
          <strong>Note:</strong> If the <strong>Configure Connection</strong> icon is not
          available, click the <strong>Download Connector</strong> icon to install
          the {title} connector.
        </li>
        <li>Enter a name for your connection in the <strong>Add Connection</strong> dialog box.</li>
        <li>Click <strong>Add</strong> to open the <strong>Settings</strong> tab for your connector.</li>
      </ol>
      <p>
        For more information about installing new connectors, see{' '}
        <a href="../connections">Connections</a>.
      </p>
    </>;
};

export const CommonDatasourceIntroSource = ({datasource = "the data source", siteName = "CData Sync"}) => {
  return <p>
      You can use the {datasource} connector from the {siteName} application to capture data
      from {datasource} and move it to any supported destination. To do so, you need to add
      the connector, authenticate to the connector, and complete your connection.
    </p>;
};

export const driverVersion = "M";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

export const datasource = "NetSuite";
export const pageTitle = "NetSuite";
export const advancedurl = "DN";
export const oauthschemes = "OAuth";

<CommonDatasourceIntroSource datasource={datasource} siteName={siteName} />

## Add the NetSuite Connector

<CommonDatasourceAddConnector datasource={datasource} title={pageTitle} destination={false} siteNameShort={siteNameShort} />

## Authenticate to NetSuite

After you add the connector, you need to set the required properties.

* **Account Id:** Enter the identifier for your NetSuite account.
* **Schema:** Select the schema for your account:
  * **SuiteTalk** (default)
  * **SuiteQL**

{siteName} supports authenticating to {pageTitle} in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**Token**](#token) (default)
* [**Basic**](#basic) (available only with the **SuiteTalk** schema)
* [**OAuth**](#oauth) (available only with the **SuiteQL** schema)

### Token

1. Create an OAuth access token in NetSuite (if you do not have one already), as follows:

   1. Log in as an administrator role and navigate to **Setup > Company > Enable Features > SuiteCloud > Manage Authentication**. Make sure that **Token-Based Authentication** and **TBA: Authorization Flow** are selected. Then, save these changes.
   2. Navigate to **Setup > Integration > Manage Integrations**.
   3. <a name="stepc" />Create a new integration and select **Token-Based Authentication**. When the integration is created, NetSuite displays a consumer key and a consumer secret. These settings map directly to the **OAuth Client Id** and **OAuth Client Secret** connection properties in {siteName}. Copy these values for use later in [step 2](#step2).
   4. <a name="stepd" />Create a token role by navigating to **Setup > User/Roles > Manage Roles**. Create either a new role or edit an existing role. Under **Permissions > Setup**, the role must have these specifications: **User Access Token: Full, Access Token Management: Full** and **Web Services: Full permissions**.
   5. Add the role to a user under **Lists > Employees > Employees**. Select a user (employee) to edit and add the new token role under **Access > Roles**.
   6. Navigate to **Setup > User/Roles > Access Tokens** and create a new access token. Select the application name as the integration that you created in [step c](#stepc). Also select the same user and role that you updated in steps [d and e](#stepd).

   After you create the access token, NetSuite displays a token Id and a token secret. These settings map directly to the **OAuth Access Token** and **OAuth Access Token Secret** connection properties. Copy these values for use in step 2 below.

2. <a name="step2" />For the **Token** scheme, specify these settings:
   * **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
   * **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
   * **OAuth Access Token:** Enter the token Id that you receive when the access token is created.
   * **OAuth Access Token Secret:** Enter the token secret that you receive when the access token is created.

### Basic

The **Basic** scheme is available only when you select the **SuiteTalk** schema. In addition, to use this scheme (which requires a username and password), you must use a version of NetSuite that is earlier than 2020.2.

For the **Basic** scheme, specify these settings:

* **User:** Enter the username that you use to authenticate to your NetSuite account.
* **Password:** Enter the password that you use to authenticate to your NetSuite account.

### OAuth

<CommonAuthSchemeOauthEmbedded siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

The **OAuth** scheme is available only when you select the **SuiteQL** schema.

## Complete Your Connection

To complete your connection:

1. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
2. {oauthschemes ? `If you authenticate with ${oauthschemes}, click` : "Click"} **Connect to {datasource}** to connect to your {pageTitle} account.
3. Click **Create & Test** to create your connection.

## More Information

<CommonDatasourceMoreInformation datasource={datasource} advancedurl={advancedurl} siteName={siteName} driverVersion={driverVersion} />
