NetSuite Integration for WooCommerce — Complete Setup & User Guide

Estimated reading: 3 minutes

NetSuite Integration for WooCommerce by TechMarbles keeps your WooCommerce store and your Oracle NetSuite ERP in sync — automatically and in both directions. It syncs orders, product inventory, prices, and customers, and supports advanced mappings such as currencies, subsidiaries, shipping methods, custom forms, sales reps, classes, and any other NetSuite field through conditional mapping. You can also import products and customers from NetSuite into WooCommerce, and run manual inventory/price syncs on demand.

Requires: WordPress 4.6+, WooCommerce 2.2–8.8, PHP 8.0+ (with SOAP extension) · WooCommerce HPOS: Supported


Overview & How It Works

The integration moves records in both directions:

WooCommerce → NetSuite

  • Orders → Sales Orders, Cash Sales, Invoices, or Customer Deposits
  • Customers → NetSuite customer records (individual or company)
  • Refunds → Return Authorizations

NetSuite → WooCommerce

  • Inventory / stock and prices
  • Products / items (titles, descriptions, dimensions, images, custom fields)
  • Customers → WordPress user accounts
  • Refunds / Return Authorizations
  • Shipment tracking (number, carrier, ship date) + automatic customer email

Orders and customers sync as they happen; inventory, prices, products, and imports run on a schedule (hourly / twice-daily / daily) or via manual buttons. Every action is recorded in NetSuite API Logs.

💡 To establish the connection between NetSuite and WooCommerce, the General Settings are the most important. Configure them first (below).


General Settings — Connect to NetSuite

The connection uses Token-Based Authentication (TBA). You’ll collect six values from NetSuite and enter them in WooCommerce → NetSuite Integration → General Settings:

  1. NetSuite Host URL
  2. NetSuite Account ID
  3. NetSuite Consumer Key
  4. NetSuite Consumer Secret
  5. NetSuite Token ID
  6. NetSuite Token Secret

Step 1 — Get the Host URL and Account ID

  1. Log in to NetSuite.
  2. Go to Setup → Company → Company Information.
  3. Copy the Account ID and paste it into the plugin.
  4. Scroll to the Company URLs section, copy the URL under SuiteTalk (SOAP and REST Web Services), and paste it into the plugin as the Host URL.

Step 2 — Get the Consumer Key and Consumer Secret

  1. Go to Setup → Integration → Manage Integrations → New.
  2. Enter an application name (e.g. TM WC NetSuite).
  3. Uncheck: TBA: Authorization Flow and Authorization Code Grant.
  4. Check: Token-Based Authentication and User Credentials.

5. Click Save. NetSuite shows the Consumer Key / Client ID and Consumer Secret / Client Secret once — copy both into the plugin immediately.

    Step 3 — Get the Token ID and Token Secret

    Your NetSuite role must have the permissions listed in Required User Role Permissions below.

    1. Click the Home icon → Dashboard.
    2. Click Manage Access Tokens under the Settings portlet.
    3. Click New My Access Token.
    4. Select the application created in Step 2 and click Save.
    5. Copy the Token ID and Token Secret into the plugin immediately.

    Verify the connection

    Use Test API Credentials. On success you’ll see: “Congrats. API connection is successful.”

    🔒 Your Consumer and Token secrets are encrypted at rest in the WordPress database — never stored in plain text.

    Required User Role Permissions

    In NetSuite, Setup → User Roles → Manage Roles, give the role used for the connection:

    NetSuite tabPermissionLevel
    TransactionsSales OrderFull
    TransactionsItem FulfillmentFull
    TransactionsFulfill Sales OrderFull
    TransactionsCash SalesFull
    TransactionsFind TransactionFull
    ReportsSuiteAnalytics WorkbookFull
    ListsItemsView
    ListsLocationView
    ListsCurrencyView
    ListsPromotionsFull
    ListsShipping ItemsView
    ListsCustomerFull
    ListsUnitsFull
    SetupREST Web ServicesFull
    SetupUser Access TokensFull
    SetupIntegration ApplicationFull
    SetupSOAP Web ServicesFull
    SetupAccounting ListsFull

    Click Save.

    Creating a Role on NetSuite (optional)

    Setup → User Roles → Manage Roles → New:

    1. Enter a Role name.
    2. Centre Type: Accounting Centre.
    3. Check Do Not Restrict Employee Fields.
    4. Subsidiary Restrictions: Selected.
    5. Authentication: enable Web Services Only Role.
    6. Assign the permissions in the table above.
    7. Click Save.