At a Glance — n8n NetSuite Integration

No official built-in node
Use the HTTP Request node with OAuth1/TBA signing, or the community node n8n-nodes-netsuite-rest (150+ record types, SuiteQL action, self-hosted only)
TBA deprecation
New TBA integrations blocked from NetSuite 2027.1; all TBA stops from 2028.1 — build new integrations with OAuth 2.0 Client Credentials (M2M)
5 credentials needed
Account ID, Consumer Key, Consumer Secret, Token ID, Token Secret — Consumer Key/Secret appear only once at creation; copy immediately
REST base URL
https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/; SuiteQL: /services/rest/query/v1/suiteql
Role permissions
Create a dedicated integration role — never use Administrator; minimum: Sales Order View/Create, Customer View/Create, SuiteAnalytics Workbook View
Most common workflows
HubSpot deal → NetSuite Sales Order, Shopify order → NetSuite fulfillment, inventory sync via SuiteQL

How n8n Connects to NetSuite

As of 2026, n8n does not include an official built-in NetSuite node. The path most teams take is the HTTP Request node with Token-Based Authentication (TBA) — NetSuite's OAuth 1.0-based auth mechanism. This approach gives you access to the full NetSuite REST API and SuiteQL endpoint, which covers nearly everything you'd need: creating and updating records, running queries across record types, triggering fulfillment actions, and reading financial data.

There is also a community noden8n-nodes-netsuite-rest, built by Entech Solutions — that wraps the REST API and handles TBA signing automatically. It supports 150+ standard record types and a SuiteQL action out of the box. It is currently in BETA and available for self-hosted n8n instances. We cover both options below.

TBA deprecation notice

Oracle is deprecating Token-Based Authentication (TBA) in NetSuite. New TBA integrations will be blocked from NetSuite 2027.1; all existing TBA connections will stop working from 2028.1. If you are building a new n8n–NetSuite integration today, plan for OAuth 2.0 Client Credentials (M2M) instead. Full details and migration guide →

Setting Up Token-Based Authentication

NetSuite requires TBA for REST API access. TBA is OAuth 1.0 — four-part credentials that sign each request. You will need five values from NetSuite before touching n8n:

Creating the Integration record in NetSuite

  1. Go to Setup → Integration → Manage Integrations → New
  2. Name it (e.g. "n8n Automation"), check Token-Based Authentication, uncheck OAuth 2.0
  3. Save — NetSuite shows the Consumer Key and Consumer Secret once. Copy both immediately; they are not shown again.

Creating an Access Token

  1. Go to Setup → Users/Roles → Access Tokens → New
  2. Select the Integration record you just created
  3. Select the Employee and Role the token will act as (use a dedicated integration role, not an admin account)
  4. Save — Token ID and Token Secret appear once. Copy both.
Role permissions

The role assigned to the access token controls what n8n can read or write in NetSuite. Create a dedicated role with only the permissions your workflows need. At minimum: Transactions → Sales Order → View/Create, Lists → Customers → View/Create, SuiteAnalytics Workbook → View (for SuiteQL). Never use the Administrator role for integration tokens.

Making NetSuite API Calls from n8n

With your five TBA values in hand, add an HTTP Request node to your n8n workflow. NetSuite REST API base URL: https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/

OAuth 1.0 request signing is the tricky part. n8n's built-in OAuth1 credential type handles the signing automatically if you configure it correctly:

  1. In n8n, go to Credentials → New → OAuth1 API
  2. Set Consumer Key, Consumer Secret, Access Token (Token ID), Access Token Secret (Token Secret)
  3. Set Signature Method to HMAC-SHA256

Then in the HTTP Request node, select this credential under Authentication → OAuth1. n8n will sign each request automatically.

Example: Fetch a customer record

GET https://1234567.suitetalk.api.netsuite.com/services/rest/record/v1/customer/12345
Authorization: OAuth realm="1234567",
  oauth_consumer_key="...",
  oauth_token="...",
  oauth_signature_method="HMAC-SHA256",
  oauth_timestamp="...",
  oauth_nonce="...",
  oauth_version="1.0",
  oauth_signature="..."

n8n builds and signs that Authorization header for you. The response is a JSON object with all customer fields.

Querying Data with SuiteQL

SuiteQL is NetSuite's SQL-like query language for pulling data across record types with joins, aggregates, and filters. It is far more powerful than fetching individual records — you can join customers to their open invoices, aggregate sales order totals by month, or filter inventory below a threshold, all in one query.

In n8n, call the SuiteQL endpoint via HTTP Request:

The response is a JSON object with an items array — each item is a row. You can feed this directly into downstream nodes with {{ $json.items }}.

Useful SuiteQL patterns

-- Open sales orders for a customer
SELECT id, tranId, tranDate, status, total
FROM salesOrder
WHERE entity = 12345 AND status != 'SalesOrd:H'
ORDER BY tranDate DESC

-- Inventory below reorder point
SELECT i.itemId, i.displayName, il.quantityOnHand, il.reorderPoint
FROM item i JOIN inventoryItem il ON i.id = il.id
WHERE il.quantityOnHand < il.reorderPoint AND il.location = 1

-- Invoices overdue by 30+ days
SELECT id, tranId, dueDate, amountRemaining, entity
FROM invoice
WHERE status = 'CustInvc:A'
AND DATEDIFF('DAY', dueDate, SYSDATE) > 30
Pagination

SuiteQL returns a maximum of 1,000 rows per request. For larger result sets, use OFFSET and LIMIT in a loop: run the query with increasing OFFSET values, check whether the response hasMore field is true, and continue fetching until it is false. n8n's Loop Over Items node or a Code node counter handles this cleanly.

The n8n NetSuite Community Node

If you prefer not to build TBA-signed HTTP Requests manually, Entech Solutions built a community node — n8n-nodes-netsuite-rest — that wraps the REST API with a visual interface. The node is now live and available on npm. See the n8n community announcement for installation notes and the release changelog.

What it supports:

To install: in your self-hosted n8n instance, go to Settings → Community Nodes → Install and enter n8n-nodes-netsuite-rest. Cloud n8n does not support community nodes — use the HTTP Request approach instead.

See our dedicated n8n NetSuite integration service page for implementation details and how Entech can build this for you.

Real Workflow Examples

Shopify order → NetSuite sales order

Trigger: Shopify Trigger node on orders/create webhook. Steps: map Shopify customer email to NetSuite customer ID via SuiteQL lookup, create a NetSuite Sales Order via POST to /salesOrder with line items, log the new NetSuite transaction ID back to the Shopify order notes via Shopify API. Result: every Shopify sale is in NetSuite within seconds, no manual entry.

HubSpot deal won → NetSuite customer + project

Trigger: HubSpot Trigger on deal stage change to "Closed Won". Steps: check if a NetSuite customer exists for the HubSpot company (SuiteQL lookup by name/email), create if not found, then create a NetSuite Project record linked to the customer. Optionally post a Slack notification with the NetSuite project URL. See also: HubSpot to NetSuite sync with n8n.

Daily inventory alert

Trigger: Schedule node (daily at 7 AM). Steps: run SuiteQL query for items below reorder point, format results into a Slack message with item names, current quantity, and reorder point. If zero items below threshold, skip the Slack message using an IF node. This replaces a daily manual NetSuite report.

Overdue invoice escalation

Trigger: Schedule node (every Monday). Steps: SuiteQL query for invoices 30+ days overdue, look up account owner in HubSpot by customer email, post a Slack message to the account owner's DM with the invoice list and amounts. Route invoices over $10,000 to a separate escalation channel.

n8n vs Celigo for NetSuite

This is worth addressing directly because we build both. Celigo has a certified NetSuite SuiteApp with pre-built connector flows, field mapping UI, and dedicated NetSuite support. For high-volume ERP integrations — 10,000+ daily transactions, complex multi-subsidiary setups, or tight compliance requirements — Celigo is typically the right choice. See our comparison: best iPaaS platforms for NetSuite.

n8n is the better fit when: you need custom logic that a connector flow can't handle, your team has developer capacity, you want to avoid per-connector licensing fees, or your NetSuite workflows are one part of a broader automation stack that includes non-ERP systems. At $20–50/month vs Celigo's $650+/month, the cost difference is significant at lower transaction volumes.

Entech Solutions builds both. If you are unsure which fits your NetSuite setup, get in touch and we can walk through your specific use case.