Connect NetSuite to SuitePortal
Connect your NetSuite account to SuitePortal using Token-Based Authentication (TBA). Create credentials and configure secure API access.
SuitePortal connects to NetSuite via Token-Based Authentication (TBA), which provides secure, non-interactive API access without sharing user passwords.
Prerequisites
- NetSuite Administrator role (or equivalent permissions)
- Access to Setup > Company > Enable Features in NetSuite
- A SuitePortal tenant account
Step 1: Enable TBA in NetSuite
- Go to Setup > Company > Enable Features
- Open the SuiteCloud tab
- Check Token-Based Authentication
- Click Save
Step 2: Create an Integration Record
The integration record identifies SuitePortal as an authorized application.
- Go to Setup > Integration > Manage Integrations > New
- Set the name to
SuitePortal - Under Authentication, check Token-Based Authentication
- Uncheck TBA: Authorization Flow (not needed)
- Click Save
Copy the Consumer Key and Consumer Secret immediately. They are only shown once. If you lose them, you'll need to reset the integration.
Step 3: Create an Access Token
The access token authorizes SuitePortal to act as a specific user with a specific role.
- Go to Setup > Users/Roles > Access Tokens > New
- Application: Select the
SuitePortalintegration you just created - User: Select the NetSuite user SuitePortal will act as
- Role: Select a role with read access to the records you want to sync (e.g., a custom "SuitePortal API" role)
- Click Save
Copy the Token ID and Token Secret immediately. Like the consumer keys, they are only shown once.
Recommended Role Permissions
Create a dedicated role for SuitePortal with these minimum permissions:
| Permission | Level | Why |
|---|---|---|
| Transactions (Invoices, Sales Orders, etc.) | View | Read transaction data |
| Lists (Customers, Vendors, Contacts) | View | Read entity data |
| SuiteQL | Full | Execute data queries |
| RESTlets | Full | Call the Universal RESTlet |
| File Cabinet | View | Download file attachments |
| Web Services | Full | API access |
Step 4: Enter Credentials in SuitePortal
- In your SuitePortal tenant, go to Settings > Integrations
- In the NetSuite Connection section, enter:
- Account ID — Your NetSuite account ID (e.g.,
TSTDRV1234567for sandbox,1234567for production) - Consumer Key and Consumer Secret — From Step 2
- Token ID and Token Secret — From Step 3
- Account ID — Your NetSuite account ID (e.g.,
- Click Test Connection
- If the test passes, click Save
Account ID format: Sandbox accounts use TSTDRV prefix. Production accounts are numeric only. You can find your Account ID at Setup > Company > Company Information.
Verification
After saving, confirm:
- The connection status shows Connected in Settings
- You can navigate to Syncs and see record type options
- A test sync retrieves sample records
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
Invalid login attempt | Wrong consumer key/secret or token | Re-verify all 4 credential values — no extra spaces |
Permission denied | Role lacks required permissions | Add missing permissions to the TBA role |
Account not found | Wrong Account ID format | Check if sandbox (TSTDRV...) vs production (numeric) |
SSS_REQUEST_LIMIT_EXCEEDED | Too many concurrent requests | Reduce sync page size or add delay between syncs |