Skip to main content

1️⃣ NetSuite Prerequisites (Start Here)

Written by Alvys Admin

Before configuring the NetSuite and Alvys TMS integration, your NetSuite environment must be properly prepared. Most integration failures result from misconfigured features, roles, users, or improper subsidiary access. NetSuite supports two secure authentication mechanisms: OAuth 2.0 and Token-Based Authentication (TBA).

Alvys connects to NetSuite using Token-Based Authentication (TBA) through SuiteTalk REST Web Services. This secure authentication method allows encrypted API communication without storing user credentials.

This guide outlines the required configurations to ensure your NetSuite account is properly set up for the Alvys integration.

1️⃣ NetSuite Account

An active NetSuite account with Administrator-level access (or a role with equivalent permissions) is required. This account is typically associated with the employee responsible for managing system settings and configurations. In NetSuite, administrator accounts are linked to an employee record, representing an individual authorized to log in and make system changes.

Purpose of Administrator Access

Administrator access is required only during setup to enable critical NetSuite features such as Web Services and Token-Based Authentication, create or modify user roles, establish an integration record, and generate secure authentication tokens.

💡 Do not use your personal Administrator login for the live integration.

Instead, during setup you will create a dedicated integration role specifically for Alvys. This ensures:

  • Improved security

  • Clear separation between user activity and system activity

  • Easier troubleshooting and management

Your Administrator account is only used to prepare the system, not to run the integration long term.

2️⃣ Enable Required NetSuite Features to communicate with Alvys

NetSuite must have the appropriate web services and authentication features enabled before Alvys can connect.

Required Features

  • REST Web Services – Allows NetSuite to share data with Alvys

  • SOAP Web Services - This is also recommended to ensure compatibility with all supported record types.

  • Token-Based Authentication (TBA) – Allows secure system access without using a password

  • Suite Script - While Alvys does not deploy custom scripts in your account, Suite Script is required for NetSuite’s REST and SOAP Web Services to function properly, including internal searches and record queries executed by the integration.

💡 OAuth 2.0 is not required for this integration. Alvys authenticates exclusively using Token-Based Authentication (TBA) through SuiteTalk Web Services.

Steps:

  1. Log in to NetSuite using your administrator account

  2. Navigate to Setup, then Company, and select Enable Features

    Notion Image
    Notion Image
  3. Open the SuiteCloud tab

    Notion Image
    Notion Image
  4. In the SuiteTalk (Web Services) section, enable SOAP Web Services and REST Web Services to allow secure data exchange with Alvys.

Notion Image
Notion Image
  1. In the Manage Authentication section, enable Token-Based Authentication (TBA) to allow Alvys to connect securely without storing login credentials

    Notion Image
    Notion Image
  2. In the Suite Cloud tab, locate the SuiteScript section and enable SuiteScript.

    Notion Image
    Notion Image
  3. Click Save to confirm the changes.

⚠️ Missing any of these features may cause authentication failures or prevent transaction data from being exported correctly.

3️⃣ Integration Roles and User Setup

To connect Alvys to NetSuite securely, a dedicated integration role and a dedicated integration user are required. This separates automated API access from human administrator accounts and restricts permissions to only what is necessary for the integration.

Create a Dedicated Integration Role

The integration role defines the permissions Alvys needs to access NetSuite records and perform API actions. If a suitable role does not already exist, create one:

  1. Navigate to Setup, then Users/Roles, and select Manage Roles, then click New

    Notion Image
    Notion Image
  2. Enter a descriptive name such as “Alvys Integration Role”.

  3. Assign Subsidiary Access: If your account uses NetSuite OneWorld, assign access to all subsidiaries used in Alvys. If transactions span multiple subsidiaries, enable Cross-Subsidiary Record Viewing.

    • All Subsidiaries (recommended) or select only the subsidiaries used in Alvys

    • Allow Cross-Subsidiary Record Viewing

Notion Image

Optional: Restrict the role to Web Services Only

Restricting the role to Web Services prevents users from logging in through the NetSuite interface. This enhances security by ensuring the role is used exclusively for API access and cannot be exploited for human login.

Notion Image
  1. Click Save

Assign Permissions

The integration role must include permissions across Setup, Transaction, and List categories. Missing permissions will cause transaction exports to fail even if authentication is successful.

Setup Permissions

Setup permissions control access to system-level features in NetSuite, such as APIs, authentication, and administrative functions. For Alvys, the integration role requires:

Notion Image
  • REST Web Services (Full Access)

  • SOAP Web Services (Full Access)

  • Login Using Access Tokens (Full Access)

  • SuiteScript (Full Access)

  • Accounting Lists (Full Access)

  • Custom Fields (Full Access)

  • Custom Item Fields (Full Access)

  • Custom Body Fields (Full Access)

  • Custom Column Fields (Full Access)

  • Custom Transaction Fields (Full Access)

  • Custom Entity Fields (Full Access)

  • Custom Record Types (Full Access)

  • Custom Segments (Full Access)

  • Custom Lists (Full Access)

  • Other Lists (Full Access)

  • Deleted Records (Full Access)

  • Manage Accounting Periods (View Access)

  • Financial Institution Records (Full Access)

Transaction Permissions

Transaction permissions determine which records Alvys can create, modify, or delete in NetSuite. These permissions should be assigned with Full access for each relevant record to ensure the integration functions properly. Examples of required transaction permissions include:

Notion Image
  • Invoice

  • Bills

  • Customer Payments

  • Pay Bills

  • Vendor Credits

  • Credit Memos

  • Customer Deposit

  • Make Journal Entry

It is essential that the role has access to all required record types. If any permissions are missing, exports may fail even if authentication is successful.

List Permissions

Notion Image

The integration role requires access to specific lists in NetSuite to ensure that transactions and records are created, updated, and categorized correctly. Assign the following permissions:

  • Accounts – Full access

  • Address List in Search – Full access

  • Contacts – Full access

  • Customers – Full access

  • Vendors – Full access

  • Employees – View access

  • Employee Record – View access

  • Expense Categories – Full access

  • Payment Methods – Full access

  • Currency – Full access

  • Items – Full access

  • Perform Search – Full access

  • Custom Record Entries – Full access

  • Classes – Full access (optional, used for categorizing transactions)

  • Departments – Full access (optional, used for categorizing transactions)

  • Locations – Full access (optional, used for categorizing transactions)

  • Subsidiaries – View access (or Full access if the integration requires access across multiple subsidiaries

  • Contact-Subsidiary relationship – View access

  • Companies – Full access

  • Tax Records – View access

  • Documents and Files - Full access

Create a Dedicated Integration User

The integration user is a separate NetSuite employee or service account that Alvys uses to authenticate API calls. Using a dedicated user ensures secure access and keeps integration activities separate from human users.

  1. Navigate to Lists, then Employees, and select New (or choose an existing service or system employee). Example: “[email protected]

    Notion Image
  2. Assign the Alvys Integration Role created in the prior step:

    • Under Roles, select the “Alvys Integration Role”.

      Notion Image
  3. Click Save to create the user. You now have a dedicated integration user that Alvys will use to authenticate API calls.

💡 Admin account: used only to enable features, create roles, create integration records, and generate tokens.

Dedicated Integration User (employee record/service account) → used by Alvys to authenticate via REST/TBA.

4️⃣ Generate Integration Credentials for Token-Based Authentication

Alvys requires five (5) credentials to connect to NetSuite securely:

  • Account ID/ Realm ID

  • Consumer Key

  • Consumer Secret

  • Token ID

  • Token Secret

These credentials are generated using the Integration Record, Integration User, and Integration Role created in the previous steps.

Locate Your NetSuite Account / Realm ID

The Account ID, also known as the Realm ID, appears in the NetSuite URL. In production environments, it typically appears as a numeric value before “app.netsuite.com.” Sandbox accounts include a suffix, such as “_SB1” or “-sb1.” The Account ID must match the exact environment where the integration is being configured.

For example: “https://123456.app.netsuite.com: Account ID is 123456

Create the Integration Record

  1. Navigate to Setup, then Integrations, and select Manage Integrations, then click New.

    Notion Image
    Notion Image
  2. Enter a descriptive name, for example, “Alvys TMS Integration”.

  3. Enable Token-Based Authentication.

    Notion Image
    Notion Image
  4. Click Save.

  5. Copy the Consumer Key and Consumer Secret.

⚠️ These are displayed only once. Store them securely. If lost, they must be regenerated.

Generate Access Tokens

  1. Go to Setup, then Users/Roles, and select Access Tokens, then click New.

    Notion Image
  2. Select the following:

    • Application Name – Choose “Alvys TMS Integration”, the integration record you just created

    • User – Select the dedicated integration user

    • Role – Select the dedicated integration role assigned to that user

  3. Click Save.

  4. Copy the Token ID and Token Secret.

⚠️ These are displayed only once. Store them securely. If lost, they must be regenerated.

5️⃣ Ensure a Complete Chart of Accounts Exists in NetSuite

The Chart of Accounts contains all financial accounts used for posting transactions in NetSuite.

Before exporting transactions from Alvys, confirm that all required income, expense, asset, liability, and clearing accounts exist and are assigned to the correct subsidiaries (if using OneWorld).

Use this official NetSuite documentation for additional instructions: Creating Accounts

Basic Steps to Create a New Account

  1. Log in to NetSuite with a role that has accounting permissions.

  2. Go to Lists, select Accounting, then select Accounts, and click New.

  3. Select the Type of account, such as Income, Expense etc.

  4. Enter the Account Name.

  5. If your organization uses account numbers, enter a number. Account numbering must be enabled under Setup, Accounting, Accounting Preferences.

  6. Optionally assign the account to a parent account or a subsidiary for OneWorld users.

  7. Click Save.

⚠️ Make sure all required accounts are created before pushing transactions from the Alvys TMS.

6️⃣ Subsidiaries Must be Set up

If the account uses NetSuite OneWorld, subsidiaries must be created and fully configured before enabling the integration. Each subsidiary must have a base currency, appropriate tax configuration, and access to the correct chart of accounts.

After subsidiaries are established, confirm that the Alvys Integration Role has access to all relevant subsidiaries. Transactions cannot post to subsidiaries that are not assigned to the integration role.

Proper subsidiary configuration is essential to avoid posting and validation errors. Use this official NetSuite documentation for additional instructions: Creating Subsidiary Records

Steps to Create a Subsidiary

  1. Navigate to Setup > Company > Subsidiaries.

  2. Click New to create a subsidiary.

  3. Enter the Name of the subsidiary.

  4. Assign a Base Currency for the subsidiary.

  5. Select the Parent Subsidiary, if applicable, to maintain a hierarchical structure.

  6. Assign a Chart of Accounts that will be used for transactions in this subsidiary.

  7. Complete any required tax settings and other relevant configuration fields.

  8. Click Save to create the subsidiary.

Assign Role Access

After creating the subsidiary, ensure the Alvys Integration Role has access to it. Without proper access, transactions for that subsidiary will fail during exports.

Assign Subsidiary Access to a Role

  1. Navigate to the Role:

    Go to Setup → Users/Roles → Manage Roles and select the integration role (e.g., Alvys Integration Role).

  2. Edit the Role:

    Click Edit next to the role name.

  3. Locate Subsidiary Access:

    In the role record, find the Subsidiary Restrictions or Subsidiary Access section.

  4. Set Access Level:

    • All – allows the role to access all subsidiaries in the account (recommended)

    • Selected – allows access to only specific subsidiaries; if you choose this, check all subsidiaries that Alvys will need.

  5. Enable Cross-Subsidiary Record Viewing

  6. Save the role.

Common Gotchas

  • Required features not enabled

  • Token created under the wrong role

  • Missing transaction or list permissions

  • Subsidiary not assigned to the role

  • Role permissions modified after token generation

  • Required accounts not created in NetSuite

⚠️ Any of these will cause authentication or export failures.

FAQs

Q: What level of NetSuite access is required to set up the Alvys integration?

A: An Administrator-level account (or a role with equivalent permissions) is required only during setup to enable features, create roles, and generate tokens. The integration itself uses a dedicated integration user.

Q: Can I use my personal Administrator login for the live integration?

A: No. A dedicated integration user and role should be created to separate API access from human accounts, improving security and making troubleshooting easier.

Q: Which NetSuite features must be enabled for Alvys to connect?

A: REST Web Services, SOAP Web Services, Token-Based Authentication (TBA), and SuiteScript must all be enabled. OAuth 2.0 is not required.

Q: What happens if required NetSuite features are not enabled?

A: Missing features can cause authentication failures or prevent transaction data from being exported correctly.

Q: What permissions are required for the integration role?

A: The integration role requires permissions across Setup, Transaction, and List categories, including full access to Web Services, SuiteScript, accounting lists, customers, vendors, items, and all relevant transactions.

Q: Should the integration role be restricted to Web Services only?

A: Yes, restricting the role to Web Services enhances security by preventing login through the NetSuite interface.

Q: How do I create the integration user?

A: Create a new employee record (or use a service account) and assign the dedicated integration role. This user will authenticate API calls from Alvys.

Q: What credentials does Alvys require to connect to NetSuite?

A: Alvys requires the Account ID (Realm ID), Consumer Key, Consumer Secret, Token ID, and Token Secret. These are generated using the integration record, integration role, and integration user.

Q: Where can I find my NetSuite Account ID / Realm ID?

A: The Account ID is in the NetSuite URL, before “app.netsuite.com.” Sandbox accounts include a suffix, e.g., “_SB1.”

Q: Can tokens be regenerated if lost?

A: Yes, but you must regenerate them in NetSuite. Consumer Key, Consumer Secret, Token ID, and Token Secret are shown only once.

Q: Are all Chart of Accounts and subsidiaries required before exporting transactions?

A: Yes. Ensure all required accounts exist and subsidiaries are fully configured. The integration role must have access to all relevant subsidiaries.

Q: What are common causes of integration failures?

A: Integration failures can result from missing features, tokens created under the wrong role, missing permissions, unassigned subsidiaries, modified role permissions after token generation, or missing accounts.

Q: Is SuiteScript required for the integration?

A: Yes, SuiteScript must be enabled to allow NetSuite’s REST and SOAP Web Services to function properly, even though Alvys does not deploy custom scripts.

Q: Can I limit the integration role to selected subsidiaries?

A: Yes, but make sure all subsidiaries used in Alvys have access; otherwise, transaction exports to those subsidiaries will fail.

Q: Does the integration support OAuth 2.0 authentication?

A: No. Alvys uses only Token-Based Authentication (TBA) via SuiteTalk REST Web Services.

Next Steps

⏭️ Continue with NetSuite: Authentication and Settings Configuration in Alvys to establish a secure connection between Alvys and NetSuite and configure the necessary settings. This step ensures that Alvys can authenticate correctly and communicate with NetSuite using the credentials and configuration you prepared.

Return to Collection

📁 Need to see the full list of articles? Return to the NetSuite Integration Collection.

Did this answer your question?