NetSuite API Setup - Sync Netsuite NetSuite API Setup - Sync Netsuite

NetSuite API Setup

Estimated reading: 5 minutes 11 views

NetSuite API Setup Guide

Before you can use the Woo-NetSuite integration, you need to configure API access in your NetSuite account. This guide walks you through the entire process.

Prerequisites

  • NetSuite account with Administrator or equivalent privileges
  • SuiteCloud Plus license or higher (required for SuiteTalk API access)
  • Access to NetSuite Setup menu

Step 1: Enable Token-Based Authentication

  1. Log in to your NetSuite account
  2. Navigate to Setup > Company > Enable Features
  3. Click on the SuiteCloud tab
  4. Under SuiteScript section, check:
    • ✓ Client SuiteScript
    • ✓ Server SuiteScript
  5. Under SuiteTalk (Web Services) section, check:
    • ✓ SOAP Web Services
    • ✓ REST Web Services
    • ✓ Token-Based Authentication
  6. Click Save

Note: It may take a few minutes for these features to become active.

Step 2: Create an Integration Record

The Integration Record generates the Consumer Key and Consumer Secret needed for authentication.

  1. Navigate to Setup > Integration > Manage Integrations > New
  2. Fill in the integration details:
    • Name: WooCommerce Integration
    • Description: Integration between WooCommerce and NetSuite
    • State: Enabled (checked)
  3. Under Authentication section:
    • ✓ Check Token-Based Authentication
    • Uncheck other authentication methods
  4. Under Concurrency Limit:
    • Leave blank or set to 5-10 (depends on your NetSuite plan)
  5. Click Save

Important: After saving, you’ll see a confirmation page showing:

  • Consumer Key: Copy and save this immediately
  • Consumer Secret: Copy and save this immediately

⚠️ Warning: The Consumer Secret is only shown once. If you lose it, you’ll need to create a new Integration Record.

Step 3: Create Access Token

Access Tokens are used to authenticate API requests on behalf of a specific user/role.

  1. Navigate to Setup > Users/Roles > Access Tokens > New
  2. Fill in the token details:
    • Application Name: Select your integration (WooCommerce Integration)
    • User: Select the user account (typically an Administrator or Integration user)
    • Role: Select the role (Administrator or custom role with appropriate permissions)
    • Token Name: WooCommerce Token
  3. Click Save

Important: After saving, you’ll see:

  • Token ID: Copy and save this immediately
  • Token Secret: Copy and save this immediately

⚠️ Warning: The Token Secret is only shown once. If you lose it, you’ll need to create a new Access Token.

Step 4: Note Your Account ID

You’ll need your NetSuite Account ID for API connections.

  1. Navigate to Setup > Company > Company Information
  2. Find Account ID field
  3. Copy the Account ID (format: 1234567 or 1234567_SB1 for sandbox)

Note: Account IDs may include underscores for sandbox accounts (e.g., 1234567_SB1).

Step 5: Configure Role Permissions

The role assigned to your Access Token needs specific permissions to sync data.

Required Permissions

Record Type Permission Level Purpose
Customer Full (Create, Edit, View, Delete) Create and update customer records
Sales Order Full (Create, Edit, View, Delete) Create and update sales orders
Item View Read product information for inventory sync
Item Fulfillment View Read fulfillment data and tracking numbers
Credit Memo Full (Create, Edit, View, Delete) Create refund records
Location View Read inventory location data
Subsidiary View Multi-subsidiary support

Setting Permissions

  1. Navigate to Setup > Users/Roles > Manage Roles
  2. Find and edit the role used for your Access Token
  3. Click on Permissions > Transactions tab
  4. Set permissions for: Sales Order, Credit Memo, Item Fulfillment
  5. Click on Permissions > Lists tab
  6. Set permissions for: Customer, Item, Location
  7. Click Save

Step 6: Test API Access (Optional)

You can test your API credentials using a simple cURL request:

curl -X GET \
  'https://<ACCOUNT_ID>.suitetalk.api.netsuite.com/services/rest/record/v1/customer?limit=1' \
  -H 'Authorization: OAuth realm="<ACCOUNT_ID>", oauth_consumer_key="<CONSUMER_KEY>", oauth_token="<TOKEN_ID>", oauth_signature_method="HMAC-SHA256", oauth_timestamp="<TIMESTAMP>", oauth_nonce="<NONCE>", oauth_version="1.0", oauth_signature="<SIGNATURE>"'

Note: Replace the placeholders with your actual credentials. The signature calculation is complex – the plugin handles this automatically.

Credentials Summary

After completing the setup, you should have collected these 5 credentials:

Credential Where to Find Example Format
Account ID Company Information 1234567 or 1234567_SB1
Consumer Key Integration Record abc123def456…
Consumer Secret Integration Record xyz789uvw012…
Token ID Access Token token123…
Token Secret Access Token secret456…

Security Best Practices:

  • Store credentials securely – never commit to version control
  • Use environment variables or WordPress constants for sensitive data
  • Create dedicated integration user accounts (don’t use personal accounts)
  • Regularly rotate access tokens (every 6-12 months)
  • Monitor API usage in NetSuite’s Governance dashboard
  • Set up IP restrictions if your hosting environment has static IPs

Common Setup Issues

Issue: “Token-Based Authentication” option not available

Solution: Verify you have SuiteCloud Plus license or higher. Contact NetSuite support to upgrade if needed.

Issue: Cannot create Integration Record

Solution: Check that Token-Based Authentication is enabled in Company > Enable Features. Wait 5-10 minutes after enabling.

Issue: “Invalid login” or “Authentication failed” errors

Solution: Double-check all 5 credentials are copied correctly with no extra spaces. Verify the role has appropriate permissions.

Issue: Account ID format unclear

Solution: Production accounts: 1234567 (numbers only). Sandbox accounts: 1234567_SB1 (includes underscore and suffix). Use exactly as shown in Company Information.

Next Steps

Once you have all 5 credentials, proceed to the Configuration & Settings section to enter them in the WordPress plugin.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Share this Doc

NetSuite API Setup

Or copy link

CONTENTS